2013-04-23 176 views
2

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

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

我不知道是否有一种简单的方法可以使3D中的透明度正确工作。 (例如,在OpenGL中启用某些功能)

回答

1

禁用深度测试并渲染透明几何图形。

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

或使用depth peeling

+0

我会尝试添加剂混合。我以前没见过深度剥落,看起来很复杂 – user2311743 2013-04-23 16:11:45