繁体   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