簡體   English   中英

OpenGL中具有不同紋理的粒子

[英]Particles with different textures in OpenGL

我正在使用OpenGL 3.2版,並且已經成功創建了粒子系統。 我使用實例渲染繪制粒子,並在實例緩沖區中給粒子偏移量。 我使用廣告牌查找粒子的正確旋轉。

我當前的問題是,如果我想使用具有不同紋理的不同類型的粒子,我不確定如何以“良好”方式進行操作。 我找不到關於如何將紋理ID作為頂點數據傳遞的任何信息,這是我的第一個想法。 我可以傳入一個整數並使用if-elseif結構來找到正確的結構,但這似乎不正確。

OpenGL 3.2支持2D陣列紋理。 這是使用整數索引為這些實例化的粒子提供不同紋理的最簡單方法。 需要注意的是,每個紋理都應具有相同的尺寸,但這對於粒子來說可能並不重要。

較新版本的GL還支持無綁定紋理(作為ARB擴展),它們可以用於相同的目的,但是2D數組紋理是我個人考慮追求的。 否則,真正的過時回退將是使用多達16個不同的紋理單位或打包的紋理圖集,並按實例修改紋理坐標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM