Introduce Jogl
Outline What is Jogl Jogl coding template Create a GLPanel Draw a 2D object on GLPanel Draw texts on GLPanel Draw a 3D object on GLPanel
What is Jogl It is a wrapper graphics library that allows OpenGL to be used in Java. Some online demos: – worldbuilder/
Jogl coding template JFarme GLPanel + GLEventListener init() display() reshape() displayChanged() Your drawing functions, used in display() drawA2DBall() drawA3DSphere() drawText()
Create a GLPanel public class JOGL3DBasics { JOGLDemo() { GLJPanel panel = getGLJPanel(); panel.addGLEventListener(new MyGLEventListener()); JFrame frame = new JFrame(); frame.getContentPane().add(panel); } class MyGLEventListener { void init() {…} void display() {…} void reshape() [] {…} void displayChanged() {…} } public static void main() { // create a JOGL3DBasics object } } // end of class
Draw a 2D object void draw2DObject(GL gl) { gl.glColor3f(1, 0, 0); gl.glRecti(-SIZE / 2, -SIZE / 2, SIZE / 2, SIZE / 2); } void display(GLAutoDrawable drawable) { GL gl = drawable.getGL(); gl.glClear(GL.GL_COLOR_BUFFER_BIT); // clean panel draw2DObject(gl); }
Draw texts Create a TextRenderer object, called renderer. void drawTexture(GLAutoDrawable drawable) { renderer.beginRendering(drawable.getWidth(), drawable.getHeight()); renderer.setColor(1.0f, 0.1f, 0.8f, 0.8f); renderer.draw("Jogl Demo for CPSC 332", 80, 60); renderer.endRendering(); }
Draw a 3D object Create a TextRenderer object, called renderer. void drawTexture(GLAutoDrawable drawable) { renderer.beginRendering(drawable.getWidth(), drawable.getHeight()); renderer.setColor(1.0f, 0.1f, 0.8f, 0.8f); renderer.draw("Jogl Demo for CPSC 332", 80, 60); renderer.endRendering(); }
Put them all together
Animate them
Q uestions ?