took the “Getting started with jogl” code and expanded
import net.java.games.jogl.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class test
{
public static void main( String[] args )
{
try
{
Frame testFrame = new Frame("TestFrame");
testFrame.setSize( 512, 384 );
GLCapabilities glCaps = new GLCapabilities();
glCaps.setRedBits(32);
glCaps.setBlueBits(32);
glCaps.setGreenBits(32);
glCaps.setAlphaBits(32);
GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas( glCaps );
testFrame.add( canvas );
canvas.addGLEventListener(new TestRenderer());
final Animator animator = new Animator( canvas);
testFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
animator.stop();
System.exit(0);
}
});
testFrame.show();
animator.start();
}
catch( Exception e )
{
e.printStackTrace();
}
}
}
import net.java.games.jogl.GLEventListener;
import net.java.games.jogl.GL;
import net.java.games.jogl.GLDrawable;
import net.java.games.jogl.DebugGL;
import demos.util.*;
import java.io.IOException;
public class TestRenderer implements GLEventListener
{
private GL gl;
private GLDrawable glDrawable;
private ObjReader model;
public void init(GLDrawable drawable)
{
this.gl = drawable.getGL();
this.glDrawable = drawable;
drawable.setGL( new DebugGL(drawable.getGL() ));
try{
model=new ObjReader("C:\\body");
}
catch(IOException e)
{
System.out.println("error line 25");
}
System.out.println("Init GL is " + gl.getClass().getName());
}
public void display(GLDrawable drawable)
{
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glEnableClientState(GL.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL.GL_NORMAL_ARRAY);
gl.glVertexPointer(3, GL.GL_FLOAT, 0, model.getVertices());
gl.glNormalPointer(GL.GL_FLOAT, 0, model.getVertexNormals());
int[] indices = model.getFaceIndices();
gl.glDrawElements(GL.GL_TRIANGLES, indices.length, GL.GL_UNSIGNED_INT, indices);
gl.glDisableClientState(GL.GL_VERTEX_ARRAY);
gl.glDisableClientState(GL.GL_NORMAL_ARRAY);
}
public void reshape(GLDrawable drawable, int x, int y, int width, int height)
{
}
public void displayChanged(GLDrawable drawable, boolean modeChanged, boolean deviceChanged)
{
}
}