Java 3d 显示 window "flashing"
Java 3d display window "flashing"
我最近开始探索 java 的 3d 图形领域,经过数小时的 3d 搜索 APIs 我找到了我认为正确的 API 对我来说,Java 3d。阅读第一个教程后,我想我会复制代码并试一试,
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
public class Hello3d
{
public Hello3d()
{
SimpleUniverse universe = new SimpleUniverse();
BranchGroup group = new BranchGroup();
group.addChild(new ColorCube(0.3));
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(group);
}
public static void main(String[] args ) {
new Hello3d();
}
}
该程序非常简单,它只是应该输出一个面向相机的红色立方体,使其具有红色方块的外观运行。
我将其放入以下文件结构中:
java3d/
├── ext/
│ ├── jd3core.jar
│ ├── jd3utils.jar
│ └── vecmath.jar
│
└── Hello3d.java
然后我像这样在命令行上编译
javac -cp "ext/*"; Hello3d.java
和运行完全一样
java -cp "ext/*"; Hello3d
这就是我运行遇到的问题。显示屏幕有时是预期的输出,有时只是完全空白。
调整 window 大小时,显示屏会在正确输出和空白屏幕之间剧烈闪烁。有什么方法可以解决我的显示器 window 有一半时间无法正常工作的事实吗?
其他可能有帮助的信息:
我是运行宁Windows10
使用 Java 3d 1.5.1(尝试使用 1.5.2 和实验性 1.6.0,同样的问题)
我正在使用 Java 7
我认为 This question 可能与我的问题有关,但我真的不明白我能做些什么来解决它。
啊,经过进一步研究,我找到了答案here
您需要做的就是将 System.setProperty("sun.awt.noerasebackground", "true");
作为 main 的第一行,希望这可以帮助解决此问题的其他人。
我最近开始探索 java 的 3d 图形领域,经过数小时的 3d 搜索 APIs 我找到了我认为正确的 API 对我来说,Java 3d。阅读第一个教程后,我想我会复制代码并试一试,
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
public class Hello3d
{
public Hello3d()
{
SimpleUniverse universe = new SimpleUniverse();
BranchGroup group = new BranchGroup();
group.addChild(new ColorCube(0.3));
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(group);
}
public static void main(String[] args ) {
new Hello3d();
}
}
该程序非常简单,它只是应该输出一个面向相机的红色立方体,使其具有红色方块的外观运行。
我将其放入以下文件结构中:
java3d/
├── ext/
│ ├── jd3core.jar
│ ├── jd3utils.jar
│ └── vecmath.jar
│
└── Hello3d.java
然后我像这样在命令行上编译
javac -cp "ext/*"; Hello3d.java
和运行完全一样
java -cp "ext/*"; Hello3d
这就是我运行遇到的问题。显示屏幕有时是预期的输出,有时只是完全空白。
调整 window 大小时,显示屏会在正确输出和空白屏幕之间剧烈闪烁。有什么方法可以解决我的显示器 window 有一半时间无法正常工作的事实吗?
其他可能有帮助的信息:
我是运行宁Windows10
使用 Java 3d 1.5.1(尝试使用 1.5.2 和实验性 1.6.0,同样的问题)
我正在使用 Java 7
我认为 This question 可能与我的问题有关,但我真的不明白我能做些什么来解决它。
啊,经过进一步研究,我找到了答案here
您需要做的就是将 System.setProperty("sun.awt.noerasebackground", "true");
作为 main 的第一行,希望这可以帮助解决此问题的其他人。