2010-05-28 6 views
1

표시 목록 내에서 변환 (gltranslate, glrotate, glscale)을 입력 할 때마다 변환은 표시 목록 내의 명령으로 유지됩니다. 표시 목록이 렌더링 될 때마다 모든 항목이 반복해서 계산됩니다.표시 목록 및 변환

방법이 있습니까? 나는 OpenGL 변환을 할 수 있으며 변형 된 정점 좌표는 변환 대신 표시 목록에 영구적으로 저장됩니다 & intial coordinates?

+4

표시 목록 데이터의 내부 형식을 어떻게 알 수 있습니까? 당신이 가지고있는 것은 불투명 한 핸들입니다. –

답변

3

표시 목록에 제출하기 전에 행렬 변환 manually을 정점에 적용하십시오.

그러나 드류 홀 (Drew Hall)이 맞습니다. 운전자는 디스플레이 목록을 컴파일 할 때 이미 비슷한 것을하고있을 것입니다.

+1

실제로 그렇지 않습니다. 표시 목록 구현은 처리하기에 너무 많은 모서리 사례가 있기 때문에 동시에 얻을 수 없으며 동시에 최적화하기 어려운 항목 중 하나입니다. 문제의 예 : 1. 회전이 MODELVIEW 매트릭스를 대상으로하는 GL을 보장하는 것은 없습니다. glCallList 앞에 PROJECTION이 활성화되어 있으면 동작이 달라야합니다. 2. 회전은 표시 목록 실행 후 행렬 스택 맨 위에서 활성화되어야합니다 ... 그리고 모든 구석을 생각하지 않아도됩니다. – Bahbar