2013-05-01 70 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」,您可以使用它來告訴您當前正在使用的實例。

有一些特定供應商的擴展,讓你做實例化在OpenGL ES 2.0,如NV_draw_instanced,但同樣會只對特定廠商

+0

http://nukecode.blogspot.de/2011/工作07 /幾何instancig換iphone-wip.html – 2013-05-07 13:46:30