1

谁能告诉我在使用 JCanvas3D 而不是 Canvas3D 时我们面临的问题?

如何使用 JCanvas3D 实现透明度?

问候,哈里帕萨德

4

1 回答 1

1

我现在能找到的对 JCanvas3D 的唯一引用是在 com.sun.j3d.exp.swing 包中。该软件包的 API 实际上有一个实验性警告。话虽如此,论坛中仍然有相当多的活动,听起来人们仍在积极研究代码。

这两者之间的区别似乎是 Canvas3D 是标准的“AWT”式重量级组件,而 JCanvas3D 是其 Swing 对应物。

在搜索了更多之后:我发现这个花絮是从交互式网格的答案中引用的,听起来它会回答你更具体的问题。

透明场景背景适用于所有轻量级 3D 画布(JCanvas3Dxyz、FxCanvas3Dxyz)。将 Java 3D 系统属性“transparentOffScreen”设置为 true(-Dj3d.transparentOffScreen=true 或 System.setProperty("j3d.transparentOffScreen", "true"))会导致场景背景中所有像素的 alpha 值为 '0'区域,以便显示面板自己的背景颜色。当将其 opaque 属性切换为 false 时,父面板将呈现在场景背景区域中。

这允许 - 创建精美的背景或 - 在 JFrame 内的所有面板上移动 3D 场景内容或 - 创建分层的 3D 场景。

Canvas3D 中的场景背景区域始终是不透明的。

-八月

于 2009-07-20T20:06:49.403 回答