我在Java中使用Ardor3D开发3D应用程序。我可以在屏幕上绘制一个四边形,并将纹理映射到它。纹理图像的一部分是透明的,四边形背景通过那里显示。
如何使四边形本身透明,以使渲染的场景能够显示出来?
发布于 2012-04-22 08:11:11
如果你的纹理格式支持alpha通道(png、tga、dds等,但不支持jpg),那么你还需要一个BlendState。类似于:
BlendState blend = new BlendState();
blend.setBlendEnabled(true);
myQuad.setRenderState(blend);如果四边形是部分透明的(介于0%和100%之间的alpha ),则可能还需要将四边形放置到透明渲染队列中,以获得正确的排序:
myQuad.getSceneHints().setRenderBucketType(RenderBucketType.Transparent);还有其他非基于alpha的混合方法,但上述方法通常是您想要的。
https://stackoverflow.com/questions/10263907
复制相似问题