목록CS/Computer Graphics (23)
예지의 테크 로그포스 (Yeji's Tech Log Force)
- 강체 변환 이동변환, 회전변환. 물체 자체의 모습이 불변! - 유사 변환 강체 변환 + 균등 크기조절 변환 + 반사 변환 물체가 변하긴 하는데 형태는 유지. 물체면 사이 각이 유지되며, 정점 간 거리 비율이 일정하게 유지됨 - 어파인 변환 유사 변환 + 차등 크기조절 변환 + 전단 물체 타입이 유지. 직선은 직선, 곡면은 곡면으로 유지 평행선이 보존되며 변환 행렬의 마지막 행이 항상 0,0,0,1이다. - 원근 변환 평행선이 만나게 함으로써 원근감 주기. 직선은 직선으로 유지되고, 변환행렬 마지막 행이 0,0,0,1이 아님! - 선형 변환 어파인 + 원근변환. 선형조합으로 표시되는 변환.
1. 어파인 공간 벡터는 크기와 방향을 포함하는데, 정점요소는 없다. 그러므로 점과 벡터를 동족취급하여 벡터공간을 확장한 공간이 어파인 공간이다. 1-2. 어파인 연산 어파인 공간의 어파인 연산에서는 - 벡터와 벡터의 덧셈뺄셈 - 스칼라와 벡터의 곱셈나눗셈은 물론 - 점과 벡터의 덧셈 및 뺄셈이 가능해진다. 이에 따라 어떤 점을 표시할 수 있고 선분을 표시할 수 있다. 점과 점의 덧셈/뺄셈은 계수 합이 1일 때만 허용된다. (어파인 합(Affine Sum)) 2. 동차좌표 공간에서 벡터와 점은 표현 방식이 다르다. (v=4V1+2V2+V3, P=r+4V1+2V2+V3) 점과 벡터를 동일한 방식으로 표현하기 위해서 동차좌표를 정의하는 것이다. 예를 들면, 3차원 좌표를 3개의 요소로 표현하는 게 아니라 한..
정점배열은 구체적인 정점좌표가 아닌, 정점 아이디만을 나열한 목록이다. 다시 말해, 정점배열은 개별 정점을 가리키는 일종의 포인터에 해당한다. 정점배열의 정점리스트를 사용해 함수 호출의 횟수를 줄일 수 있다.
일반적으로 프레임버퍼는 2중포트구조이다. 물체 영상을 쓰는 것과 거의 동시에 읽는다. 그런데 비디오 프로세서가 read하는 속도는 그래픽 컨트롤러가 write하는 속도와 차이가 난다(read가 훨씬 빠르다) 이 차이로 인해 화면이 깜빡거리는 등 문제가 발생한다. 이러한 문제는 더블버퍼링으로 해결할 수 있다. (그래픽 프로세서를 더 빠르게 할 수도 있겠지만) 프론트버퍼와 더블버퍼로 2개의 버퍼를 사용하여, 비디오 컨트롤러가 프론트버퍼를 read하는 동안 그래픽 프로세서는 백버퍼에 write한다. write를 마치면 두 버퍼를 switching하는 방식으로 진행한다. OpenGL에서는 glutInitDisplayMode(GLUT DOUBLE)로 설정해줄 수 있다. 버퍼 Switching에는 glutSwapB..