summaryrefslogtreecommitdiffstats
path: root/src/net/java/joglutils/test3ds
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-12-31 18:23:02 +0100
committerSven Gothel <[email protected]>2019-12-31 18:23:02 +0100
commit332dd8550a2301427dd942d2a77cb59ebd3ec92e (patch)
tree0c860a40c05ba5b27d99770a433b922cbf685f70 /src/net/java/joglutils/test3ds
parent7ea189170b6ae75b7e15be43344a785eb56bb48a (diff)
Enable compilation using JogAmp 2.4.0 (one demo needs vecmath, dependency issue)HEADmaster
Diffstat (limited to 'src/net/java/joglutils/test3ds')
-rw-r--r--src/net/java/joglutils/test3ds/Main.java44
-rw-r--r--src/net/java/joglutils/test3ds/MyModel.java91
2 files changed, 73 insertions, 62 deletions
diff --git a/src/net/java/joglutils/test3ds/Main.java b/src/net/java/joglutils/test3ds/Main.java
index 593c1a4..fcb9a4d 100644
--- a/src/net/java/joglutils/test3ds/Main.java
+++ b/src/net/java/joglutils/test3ds/Main.java
@@ -36,29 +36,35 @@
package net.java.joglutils.test3ds;
-import com.sun.opengl.util.Animator;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.media.opengl.*;
-import javax.media.opengl.awt.*;
-import javax.media.opengl.glu.GLU;
+
+import com.jogamp.opengl.GL;
+import com.jogamp.opengl.GL2;
+import com.jogamp.opengl.GL2ES1;
+import com.jogamp.opengl.GLAutoDrawable;
+import com.jogamp.opengl.GLEventListener;
+import com.jogamp.opengl.awt.GLCanvas;
+import com.jogamp.opengl.fixedfunc.GLMatrixFunc;
+import com.jogamp.opengl.glu.GLU;
+import com.jogamp.opengl.util.Animator;
public class Main {
/** Creates a new instance of Main */
public Main() {
}
- public static void main(String[] args)
+ public static void main(final String[] args)
{
- Frame frame = new Frame();
- GLCanvas canvas = new GLCanvas();
+ final Frame frame = new Frame();
+ final GLCanvas canvas = new GLCanvas();
canvas.addGLEventListener(new Renderer());
frame.add(canvas);
frame.setSize(600, 600);
final Animator animator = new Animator(canvas);
frame.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
+ public void windowClosing(final WindowEvent e) {
// Run this on another thread than the AWT event queue to
// make sure the call to Animator.stop() completes before
// exiting
@@ -76,12 +82,12 @@ public class Main {
static class Renderer implements GLEventListener
{
- private MyModel model = new MyModel();
+ private final MyModel model = new MyModel();
- public void display(GLAutoDrawable gLDrawable)
+ public void display(final GLAutoDrawable gLDrawable)
{
final GL2 gl = gLDrawable.getGL().getGL2();
- gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
+ gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glPushMatrix();
@@ -93,22 +99,22 @@ public class Main {
}
- public void dispose(GLAutoDrawable drawable) {}
+ public void dispose(final GLAutoDrawable drawable) {}
/** Called by the drawable immediately after the OpenGL context is
* initialized for the first time. Can be used to perform one-time OpenGL
* initialization such as setup of lights and display lists.
* @param gLDrawable The GLDrawable object.
*/
- public void init(GLAutoDrawable gLDrawable)
+ public void init(final GLAutoDrawable gLDrawable)
{
final GL2 gl = gLDrawable.getGL().getGL2();
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.3f);
gl.glClearDepth(1.0f);
- gl.glEnable(GL2.GL_DEPTH_TEST);
- gl.glDepthFunc(GL2.GL_LEQUAL);
- gl.glHint(GL2.GL_PERSPECTIVE_CORRECTION_HINT, GL2.GL_NICEST);
+ gl.glEnable(GL.GL_DEPTH_TEST);
+ gl.glDepthFunc(GL.GL_LEQUAL);
+ gl.glHint(GL2ES1.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
if (!model.isLoaded())
model.load(gLDrawable, "globe.3ds");
@@ -128,7 +134,7 @@ public class Main {
* @param width The new width of the window.
* @param height The new height of the window.
*/
- public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
+ public void reshape(final GLAutoDrawable gLDrawable, final int x, final int y, final int width, int height)
{
final GL2 gl = gLDrawable.getGL().getGL2();
final GLU glu = new GLU();
@@ -137,10 +143,10 @@ public class Main {
height = 1;
final float h = (float)width / (float)height;
gl.glViewport(0, 0, width, height);
- gl.glMatrixMode(GL2.GL_PROJECTION);
+ gl.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho(-1000, 1000, -1000, 1000, -10000, 10000);
- gl.glMatrixMode(GL2.GL_MODELVIEW);
+ gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW);
gl.glLoadIdentity();
}
}
diff --git a/src/net/java/joglutils/test3ds/MyModel.java b/src/net/java/joglutils/test3ds/MyModel.java
index fbdca36..31ce989 100644
--- a/src/net/java/joglutils/test3ds/MyModel.java
+++ b/src/net/java/joglutils/test3ds/MyModel.java
@@ -1,34 +1,34 @@
/*
* Copyright (c) 2006 Greg Rodgers All Rights Reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
- *
+ *
* - Redistribution of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
- *
+ *
* - Redistribution in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- *
+ *
* The names of Greg Rodgers, Sun Microsystems, Inc. or the names of
* contributors may not be used to endorse or promote products derived from
* this software without specific prior written permission.
- *
+ *
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. GREG RODGERS,
* SUN MICROSYSTEMS, INC. ("SUN"), AND SUN'S LICENSORS SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL GREG
- * RODGERS, SUN, OR SUN'S LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL GREG
+ * RODGERS, SUN, OR SUN'S LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
* OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
* PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
* ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF GREG
* RODGERS OR SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
+ *
* You acknowledge that this software is not designed or intended for use
* in the design, construction, operation or maintenance of any nuclear
* facility.
@@ -36,13 +36,18 @@
package net.java.joglutils.test3ds;
-import net.java.joglutils.ThreeDS.*;
-import com.sun.opengl.util.texture.Texture;
-import com.sun.opengl.util.texture.TextureCoords;
-import com.sun.opengl.util.texture.TextureIO;
import java.io.File;
import java.io.IOException;
-import javax.media.opengl.*;
+
+import com.jogamp.opengl.GL;
+import com.jogamp.opengl.GL2;
+import com.jogamp.opengl.GLAutoDrawable;
+import com.jogamp.opengl.util.texture.Texture;
+import com.jogamp.opengl.util.texture.TextureCoords;
+import com.jogamp.opengl.util.texture.TextureIO;
+
+import net.java.joglutils.ThreeDS.Model3DS;
+import net.java.joglutils.ThreeDS.Obj;
public class MyModel extends Model3DS
{
@@ -50,76 +55,76 @@ public class MyModel extends Model3DS
private TextureCoords[] textureCoords;
private int compiledList;
private boolean loaded = false;
-
+
// Constructor
public MyModel()
{
}
-
+
public boolean isLoaded()
{
return loaded;
}
-
- public boolean load(GLAutoDrawable gLDrawable, String file)
+
+ public boolean load(final GLAutoDrawable gLDrawable, final String file)
{
if (!super.load(file))
return false;
-
- GL2 gl = gLDrawable.getGL().getGL2();
- int numMaterials = materials.size();
-
+
+ final GL2 gl = gLDrawable.getGL().getGL2();
+ final int numMaterials = materials.size();
+
texture = new Texture[numMaterials];
for (int i=0; i<numMaterials; i++) {
loadTexture(materials.get(i).strFile, i);
materials.get(i).texureId = i;
}
-
+
compiledList = gl.glGenLists(1);
gl.glNewList(compiledList, GL2.GL_COMPILE);
genList(gLDrawable);
gl.glEndList();
-
+
loaded = true;
-
+
return loaded;
}
-
- public void render(GLAutoDrawable gLDrawable)
+
+ public void render(final GLAutoDrawable gLDrawable)
{
- GL2 gl = gLDrawable.getGL().getGL2();
+ final GL2 gl = gLDrawable.getGL().getGL2();
gl.glCallList(compiledList);
}
- private void loadTexture(String strFile, int id)
+ private void loadTexture(final String strFile, final int id)
{
- File file = new File(strFile);
+ final File file = new File(strFile);
try {
texture[id] = TextureIO.newTexture(file, true);
}
- catch (IOException e) {
+ catch (final IOException e) {
System.err.println(e.getMessage());
return;
}
}
-
- private void genList(GLAutoDrawable gLDrawable)
+
+ private void genList(final GLAutoDrawable gLDrawable)
{
- GL2 gl = gLDrawable.getGL().getGL2();
+ final GL2 gl = gLDrawable.getGL().getGL2();
TextureCoords coords;
-
+
for (int i=0; i<objects.size(); i++) {
- Obj tempObj = objects.get(i);
+ final Obj tempObj = objects.get(i);
if(tempObj.hasTexture) {
- texture[tempObj.materialID].enable();
- texture[tempObj.materialID].bind();
+ texture[tempObj.materialID].enable(gl);
+ texture[tempObj.materialID].bind(gl);
coords = texture[tempObj.materialID].getImageTexCoords();
}
-
- gl.glBegin(GL2.GL_TRIANGLES);
+
+ gl.glBegin(GL.GL_TRIANGLES);
for (int j=0; j<tempObj.numOfFaces; j++) {
for (int whichVertex=0; whichVertex<3; whichVertex++) {
- int index = tempObj.faces[j].vertIndex[whichVertex];
+ final int index = tempObj.faces[j].vertIndex[whichVertex];
gl.glNormal3f(tempObj.normals[index].x, tempObj.normals[index].y, tempObj.normals[index].z);
if (tempObj.hasTexture) {
if (tempObj.texVerts != null)
@@ -127,7 +132,7 @@ public class MyModel extends Model3DS
}
else {
if (materials.size() < tempObj.materialID) {
- byte pColor[] = materials.get(tempObj.materialID).color;
+ final byte pColor[] = materials.get(tempObj.materialID).color;
// Do something with the color
}
}
@@ -135,9 +140,9 @@ public class MyModel extends Model3DS
}
}
gl.glEnd();
-
+
if (tempObj.hasTexture)
- texture[tempObj.materialID].disable();
+ texture[tempObj.materialID].disable(gl);
}
}
}