summaryrefslogtreecommitdiffstats
path: root/src/demos/es1/angeles/Main.java
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2008-05-30 08:46:49 +0000
committerKenneth Russel <[email protected]>2008-05-30 08:46:49 +0000
commit88284efb1e6857958ee2b6caf187c96daa07f600 (patch)
tree23e249b15b59da475470c0f5437fbc86193d3b90 /src/demos/es1/angeles/Main.java
parent77c64bdaf1e6710a0a46557aac38ac45c70153c8 (diff)
Incorporated Sven's Java port of the San Angeles demo, modified to use
the new EGL-compatible minimal window toolkit git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@234 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
Diffstat (limited to 'src/demos/es1/angeles/Main.java')
-rwxr-xr-xsrc/demos/es1/angeles/Main.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/demos/es1/angeles/Main.java b/src/demos/es1/angeles/Main.java
new file mode 100755
index 0000000..3c78475
--- /dev/null
+++ b/src/demos/es1/angeles/Main.java
@@ -0,0 +1,67 @@
+package demos.es1.angeles;
+
+import java.nio.*;
+import javax.media.opengl.*;
+import com.sun.javafx.newt.*;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Angeles Main");
+ try {
+ Window window = Window.create();
+
+ // Size OpenGL to Video Surface
+ int width = 800;
+ int height = 480;
+ if (!window.setFullscreen(true)) {
+ window.setSize(width, height);
+ }
+
+ // Hook this into EGL
+ GLDrawableFactory.initialize(GLDrawableFactory.PROFILE_GLES1);
+ GLDrawableFactory factory = GLDrawableFactory.getFactory();
+ GLCapabilities caps = new GLCapabilities();
+ // For emulation library, use 16 bpp
+ caps.setRedBits(5);
+ caps.setGreenBits(5);
+ caps.setBlueBits(5);
+ caps.setDepthBits(16);
+ GLDrawable drawable = factory.getGLDrawable(new Long(window.getWindowHandle()), caps, null);
+ drawable.setRealized(true);
+ GLContext context = drawable.createContext(null);
+ context.makeCurrent();
+
+ GL gl = context.getGL();
+
+ Angeles angel = new Angeles();
+ angel.init(gl);
+ angel.reshape(gl, 0, 0, window.getWidth(), window.getHeight());
+
+ long startTime = System.currentTimeMillis();
+ long curTime = 0;
+
+ do {
+ angel.display(gl);
+ drawable.swapBuffers();
+ window.pumpMessages();
+
+ // Thread.yield();
+
+ // try{
+ // Thread.sleep(10);
+ // } catch(InterruptedException ie) {}
+ curTime = System.currentTimeMillis();
+ } while ((curTime - startTime) < 115000);
+
+ // Shut things down cooperatively
+ context.release();
+ context.destroy();
+ drawable.setRealized(false);
+ factory.shutdown();
+ System.out.println("Angeles shut down cleanly.");
+ } catch (GLException e) {
+ e.printStackTrace();
+ }
+ System.exit(0);
+ }
+}