谁能告诉我使用JCanvas3D而不是Canvas3D时遇到的问题?

如何使用JCanvas3D实现透明度?

问候,
哈里帕萨德

最佳答案

我现在可以找到的对JCanvas3D的唯一引用是在com.sun.j3d.exp.swing包中。该程序包的API实际上上面有一个EXPERIMENTAL警告。话虽如此,这些论坛仍然有相当多的活动,听起来好像人们仍在积极地编写代码。

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

经过更多搜索之后:我发现this tidbit引用了interactive mesh的答案,听起来像它将回答您的更具体的问题。


  透明的场景背景是
  适用于所有轻量级3D
  画布(JCanvas3Dxyz,
  FxCanvas3Dxyz)。设置Java 3D
  系统属性“ transparentOffScreen”
  变为真实
  (-Dj3d.transparentOffScreen = true或
  System.setProperty(“ j3d.transparentOffScreen”,
  “ true”))的alpha值为
  场景中所有像素为“ 0”
  背景区域,以便面板的
  出现自己的背景色。什么时候
  将其不透明属性切换为
  假父面板将是
  在场景背景区域中渲染。
  
  这允许
  -创建精美的背景或
  -在JFrame内的所有面板上移动3D场景内容,或
  -创建分层的3D场景。
  
  一个场景内的背景区域
  Canvas3D始终是不透明的。
  
  -八月

08-07 03:58