在OpenGL(LWJGL)的3D世界中绘制透明精灵

时间:2013-04-23 15:16:32

标签: sorting opengl 3d transparency sprite

我需要在3D世界中绘制透明的2D精灵。我尝试渲染一个QUAD,对其进行纹理化(使用slick_util)并将其旋转以面向相机,但是当它们中有很多时,透明度并不真正起作用。如果在它们之前渲染,最靠近相机的精灵将阻挡它后面的精灵。

我认为这是因为OpenGL只绘制最接近查看器的对象而不检查alpha值。 这可以通过从最远到最近排序来解决,但我不知道该怎么做 我不会用math.sqrt来获取距离吗? (我听说它很慢)

我想知道是否有一种简单的方法可以让3D透明度正常工作。 (在OpenGL中启用某些东西)

1 个答案:

答案 0 :(得分:1)

禁用深度测试并将透明几何体渲染回前方。

或切换到添加剂混合,希望看起来不错。

或使用depth peeling