2013-05-01 2 views
0

공간을 채우기 위해 최대한 많은 피라미드를 그려야합니다. 저는 하나의 피라미드를 그릴 수 있고, 색을 바꿀 수 있습니다. 그러나 이제는 화면을 채울 수있는 많은 피라미드를 그려야합니다. 하나의 꼭지점과 인덱스를 사용하고 싶습니다. 다음과 같이 색상 정보 정점과 인덱스는 다음과 같습니다,그리기 OpenGL ES 2.0에서 여러 개의 동일한 피라미드

const Vertex Vertices [] = { 
{{-1, -1, -1}, {1, 0, 0, 1}}, 
{{1, -1, -1}, {1, 0, 0, 1}}, 
{{1, -1, 1}, {1, 0, 0, 1}}, 
{{-1, -1, 1}, {1, 0, 0, 1}}, 
{{0, 1, 0}, {1, 0, 0, 1}} 
}; 

const GLubyte Indices[] = { 
2, 4, 3, 
1, 4, 2, 
0, 4, 1, 
4, 0, 3 
}; 

아무도과 코드를 좀 도와 줄래 내가 어떤 실수를하고있는 중이 야 알고있다.

답변

0

OpenGL ES 2.0에서이 작업을 수행하는 유일한 방법은 화면의 여러 위치에서 피라미드를 다시 렌더링하는 것입니다. 여러분이 얻고있는 것은 '인스턴스화'라고 불리는데 OpenGL ES 3.0에서만 지원됩니다. 여기에서는 정점과 인덱스의 한 세트를 말했지만 gl 명령을 실행하여 많은 인스턴스를 그릴 수 있습니다 프래그먼트 쉐이더에서 내장 된 변수 "gl_InstanceID"를 사용하면 현재 인스턴스가 무엇인지 알 수 있습니다.

당신은 NV_draw_instanced 등의 OpenGL ES 2.0에 인스 턴싱을 할 수 있도록 일부 벤더 고유의 확장이 있지만 다시는

+0

http://nukecode.blogspot.de/2011/ 특정 업체를 위해 일하는 것이 07/geometry-instancig-for-iphone-wip.html –

관련 문제