我必須畫出數以百萬計的箭頭。我擁有的信息如下。每個箭頭方向上的每個箭頭(矢量方向)opengl實例化繪圖 - 3D箭頭
長度的
的位置,如果每個箭頭
利用該信息,可予使用OpenGL實例化圖繪製箭頭。
我已經通過實例化的例子了。在所有這些例子中,他們已經解釋了每個實例的矩陣轉換等。
但是,我並不清楚,上述的數據,是否有可能做還是不做。
我必須畫出數以百萬計的箭頭。我擁有的信息如下。每個箭頭方向上的每個箭頭(矢量方向)opengl實例化繪圖 - 3D箭頭
長度的
的位置,如果每個箭頭
利用該信息,可予使用OpenGL實例化圖繪製箭頭。
我已經通過實例化的例子了。在所有這些例子中,他們已經解釋了每個實例的矩陣轉換等。
但是,我並不清楚,上述的數據,是否有可能做還是不做。
假設箭頭是一個向量,您可以將所有的矢量數據插入到一個統一的數組**中,並使用gl_InstanceID在頂點着色器中查找它們,並簡單地將它們傳遞給gl_Position。
如果您需要對箭頭應用轉換(通過查看數據:位置轉換,方向旋轉和長度縮放),您可以在單個頂點集上執行實例化繪圖語句(您的基本箭頭),使用統一的矩陣陣列進行轉換,並在頂點着色器中以類似方式查看這些矩陣。
**根據您有多少個實例,數據可能不適合統一數組。所以你可以看看使用Uniform塊(它允許你存儲更多的數據而不是簡單的統一變量),如果這還不夠,GL_TEXTURE_BUFFER可以解決這個問題。 不要讓名稱欺騙你,GL_TEXTURE_BUFFER可以保存任意數據,而不僅僅是紋理數據。
統一塊由https://www.khronos.org/opengl/wiki/Uniform_Buffer_Object
你可以。但你爲什麼想要?這聽起來像你必須爲每個箭頭生成新的頂點/原語,這取決於你想如何呈現箭頭。 –