0

我正在将 Ardor3D 用于 Java 中的 3D 应用程序。我可以在屏幕上绘制一个带有纹理的四边形。纹理图像的一部分是透明的,四边形背景从那里显示出来。

你如何使四边形本身透明,这样渲染的场景就会显示出来?

4

1 回答 1

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 的混合方式,但以上通常是您想要的。

于 2012-04-22T00:11:10.503 回答