|
From: <tre...@us...> - 2007-11-17 16:35:58
|
Revision: 583
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=583&view=rev
Author: trevorolio
Date: 2007-11-17 08:36:00 -0800 (Sat, 17 Nov 2007)
Log Message:
-----------
Tweaked the Java3D setup to fall back to aliased, single buffered if the graphics board doesn't support it, which makes us run on lesser machines and also on the Parallels emulator on OS X Intel machines, making life much easier for Macish developers who want to maintain support WinIE.
Used this fact to fix IE+Java quirks (e.g. no String[] passing over liveconnect) so that the majority of browser installations can once again use Ogoglio.
Modified Paths:
--------------
maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/Java3DTester.java
maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/RenderingTest.java
Modified: maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/Java3DTester.java
===================================================================
--- maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/Java3DTester.java 2007-11-15 02:59:34 UTC (rev 582)
+++ maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/Java3DTester.java 2007-11-17 16:36:00 UTC (rev 583)
@@ -4,6 +4,7 @@
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsEnvironment;
import java.awt.Panel;
import javax.media.j3d.BranchGroup;
@@ -16,7 +17,7 @@
public boolean canStartJava3D() {
try {
setLayout(new BorderLayout());
- GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
+ GraphicsConfiguration config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
Canvas3D canvas3D = new Canvas3D(config);
add("Center", canvas3D);
BranchGroup scene = new BranchGroup();
Modified: maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/RenderingTest.java
===================================================================
--- maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/RenderingTest.java 2007-11-15 02:59:34 UTC (rev 582)
+++ maven/trunk/ogoglio-test-applet/src/main/java/com/ogoglio/testapplet/RenderingTest.java 2007-11-17 16:36:00 UTC (rev 583)
@@ -3,6 +3,7 @@
import java.applet.Applet;
import java.awt.BorderLayout;
+import java.awt.GraphicsConfigTemplate;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsEnvironment;
@@ -40,8 +41,10 @@
}
private void add3DCanvas() {
- GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
- GraphicsConfiguration graphicsEnv = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(template);
+ GraphicsConfiguration graphicsEnv = get3DGraphicsConfiguration();
+ if(graphicsEnv == null){
+ throw new IllegalStateException("Cannot create 3D graphics configuration.");
+ }
Canvas3D canvas = new Canvas3D(graphicsEnv);
add(canvas, BorderLayout.CENTER);
@@ -85,4 +88,17 @@
universe.addBranchGraph(root);
universe.getViewingPlatform().setNominalViewingTransform();
}
+
+ private static GraphicsConfiguration get3DGraphicsConfiguration() {
+ GraphicsConfigTemplate3D configTemplate = new GraphicsConfigTemplate3D();
+ configTemplate.setSceneAntialiasing(GraphicsConfigTemplate.PREFERRED);
+ configTemplate.setDoubleBuffer(GraphicsConfigTemplate.PREFERRED);
+ GraphicsConfiguration config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(configTemplate);
+ if (config != null) {
+ return config;
+ }
+
+ return GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|