我在Java中使用Ardor3D作为3D应用程序。我可以使用映射到它的纹理在屏幕上绘制四边形。纹理图像的一部分是透明的,四边形背景显示在那里。
如何使四边形本身透明,因此渲染的场景将显示出来?
答案 0 :(得分:0)
如果您的纹理格式支持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的混合方式,但上面通常是你想要的。