2011-08-09 3 views
1

OpenGL과 C를 사용하여 2D 렌더링 엔진을 만들고 있습니다. 나는 VBO에 대해 배우고 비 직접 모드 렌더링에 어떻게 사용하는지 배웁니다.스프라이트에 어떤 버텍스를 만들어야합니까?

struct MyVertex 
{ 
float x, y, z;  //Vertex 
float nx, ny, nz;  //Normal 
float s0, t0;   //Texcoord0 
float s1, t1;   //Texcoord1 
float s2, t2;   //Texcoord2 
float padding[4]; 
}; 

나는 정상 값을 필요로하지 않으며, 세 가지 질감이 하나의 정점 좌표가 왜 어떻게, 확실하지 오전 : http://www.opengl.org/wiki/Vertex_Buffer_Object

자습서는 다음과 같은 제안 : 나는 읽는되었다.

꼭 필요한 것은 꼭지점 (XYZ)과 하나의 Texcoord (s0, t0 < - 아직도 그 의미가 무엇인지 모릅니다)라고 생각합니다.

+0

고정 기능 또는 프로그래밍 가능한 하드웨어를 타겟팅합니까? – genpfault

답변

1

이것은 하나의 예일뿐입니다. 버텍스 형식을 복음이나 제안으로 받아들이지 마십시오. 사실, 어떤 심각한 응용 프로그램에서, 하나는 너무 많은 수레를 사용하지 않을 것입니다.

어쨌든 이러한 속성을 제거하려면 괜찮습니다. 그것은 당신에게 달려 있습니다.

왜 3 세트의 텍스처 좌표가 필요한지는 표면에 3 세트의 텍스처 매핑이 있기 때문입니다. 그런 일을하는 이유가 있지만 실제로는 매우 드뭅니다.

또한 OpenGL에는 텍스처 좌표의 이름을 지정하는 다른 방법이 있습니다. OpenGL은 "UV"보다는 다른 방식으로 "ST"를 사용합니다.

+0

이 설명에 감사드립니다. –

관련 문제