我需要在 3D 世界中绘制透明的 2D 精灵。我尝试渲染一个 QUAD,对其进行纹理化(使用 slick_util)并旋转它以面对相机,但是当它们中有很多时,透明度并不能真正起作用。如果在它们之前渲染,最靠近相机的精灵将阻挡它后面的精灵。
我认为这是因为 OpenGL 只绘制离查看器最近的对象而不检查 alpha 值。这可以通过将它们从最远到最近进行排序来解决,但我不知道该怎么做,我不必使用 math.sqrt 来获得距离吗?(听说很慢)
我想知道是否有一种简单的方法可以让 3D 中的透明度正常工作。(在 OpenGL 中启用某些东西,例如)