Java 如何在opengl中从前向后渲染?
我试图在opengl中渲染一个透明对象,但有时纹理彼此可见,有时则不可见。据我所知,我必须从后面到前面渲染它们,手动渲染时效果很好,但只能从特定的角度进行渲染。有什么方法可以计算它们的渲染顺序吗?如果有透明对象,如果不打算对对象进行排序,则需要使用或其他方法来正确渲染它们。将对象放入列表/数组中,并按相对于视点的距离对其进行排序。我听说我可以使用显示列表来完成此操作……但我如何对其排序?假设对象具有笛卡尔坐标,(X,Y,Z),然后,您可以使用sqrt(x^2+y^2+z^2)计算距离,其中x、y和z是对象与透视图的距离。然后,按降序排列。我可以手动计算距离,但我知道还有另一种方法可以使用z缓冲区或深度进行计算。有没有opengl方法可以做到这一点?opengl将绘制几何体。您需要使用适当的深度缓冲区、片段着色器等进行设置。您必须进行相应的工作才能做到这一点。它不会像设置一些标志和渲染那样简单。Java 如何在opengl中从前向后渲染?,java,opengl,alphablending,blending,Java,Opengl,Alphablending,Blending,我试图在opengl中渲染一个透明对象,但有时纹理彼此可见,有时则不可见。据我所知,我必须从后面到前面渲染它们,手动渲染时效果很好,但只能从特定的角度进行渲染。有什么方法可以计算它们的渲染顺序吗?如果有透明对象,如果不打算对对象进行排序,则需要使用或其他方法来正确渲染它们。将对象放入列表/数组中,并按相对于视点的距离对其进行排序。我听说我可以使用显示列表来完成此操作……但我如何对其排序?假设对象具有笛卡尔坐标,(X,Y,Z),然后,您可以使用sqrt(x^2+y^2+z^2)计算距离,其中x、y