프로젝트가 최적화 단계에 가까워지면서 Vertex Metadata를 줄이면 3D 렌더링의 성능이 크게 향상 될 수 있습니다.Vertex 및 Normal을 나타내는 GLshort를 사용하는 데 문제가 있습니다.
궁극적으로, 나는 주위에 검색하고 stackoverflow에서 다음과 같은 조언을 발견했습니다.
Using GL_SHORT instead of GL_FLOAT in an OpenGL ES vertex array
How do you represent a normal or texture coordinate using GLshorts?
Advice on speeding up OpenGL ES 1.1 on the iPhone
간단한 실험을 "SHORT"정점 "FLOAT"에서 전환과 정상 힘든 아니라고 보여,하지만 나를 괴롭게하는 것은 당신이있을 때입니다 정점을 원래 크기로 다시 스케일하려면 (glScalef 사용) 법선에 스케일의 역수를 곱합니다. 이것에 대한 자연적인 치료법은 GPU에 제출하기 전에 스케일을 기준으로 법선을 곱하는 것입니다. 그런 다음 내 짧은 법선은 거의 0이됩니다. 배율 인수가 보통 0보다 작기 때문입니다. Duh!
어떻게 정점과 법선을 동시에 "짧게"사용합니까? 나는 이것을 하루 종일 시도해 왔지만 지금까지는 "float vertex w/byte normal"또는 "short vertex w/float normal"에 대해서만 갈 수있었습니다.
귀하의 도움을 진심으로 감사드립니다.
스케일 인자가 0보다 작습니까? – UncleZeiv