我正在将 Ardor3D 用于 Java 中的 3D 应用程序。我可以在屏幕上绘制一个带有纹理的四边形。纹理图像的一部分是透明的,四边形背景从那里显示出来。
你如何使四边形本身透明,这样渲染的场景就会显示出来?
我正在将 Ardor3D 用于 Java 中的 3D 应用程序。我可以在屏幕上绘制一个带有纹理的四边形。纹理图像的一部分是透明的,四边形背景从那里显示出来。
你如何使四边形本身透明,这样渲染的场景就会显示出来?
如果您的纹理格式支持 alpha 通道(png、tga、dds 等,但不支持 jpg),那么您只需要一个 BlendState。就像是:
BlendState blend = new BlendState();
blend.setBlendEnabled(true);
myQuad.setRenderState(blend);
如果您的四边形是部分透明的(alpha 在 0% 和 100% 之间),您可能还希望将您的四边形放入透明渲染队列中以获得正确的排序:
myQuad.getSceneHints().setRenderBucketType(RenderBucketType.Transparent);
还有其他非基于 alpha 的混合方式,但以上通常是您想要的。