平局顆粒我讀的文章"Particles/Instancing"OpenGL的:在同一時間
這裏的報價:
顯然,我們需要一種方法來繪製所有的粒子在同一時間。
有很多方法可以做到這一點;這裏有三個:
(a)生成一個單一的VBO,其中包含所有的粒子。簡單,有效, 適用於所有平臺。
(b)使用幾何着色器。不在本教程的範圍內,主要是 ,因爲50%的計算機不支持此操作。
(c)使用實例化。不適用於所有電腦,但絕大多數都是 。
是的,(a)是同時實施的。 (c),我認爲glDrawArraysInstanced等於一個glDrawArrays循環。 它是真正的同時執行嗎? (b),我認爲我們可以使用頂點具有相同的效果。
謝謝。是的,方法(c)的確速度更快。但是我想知道:它是否是真正的同時實現?我不這麼認爲。因爲每一次,我們只繪製一小塊像素,比如幾個像素。我更喜歡一種真正並行實現的方法。我認爲方法(b)是真正平行的。實際上,我們可以設置不同的單個補丁,比如每個對象需要一個三角形頂點,在頂點着色器中,對於每個三角形頂點,我們設置一組紋理座標。我認爲這樣的一組頂點和片段着色器可以實現許多小對象渲染的真正並行實現。 – user1914692
如果它們得到支持,它們都可能在GPU驅動程序級別上實現,並且它們的性能將取決於該實現,並且可能因驅動程序而異。 – MuertoExcobito