/** * Unterricht #1 - AWT Fenster mit OpenGl-Unterstützung * zeichnet dabei ein Viereck */ package cg; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.jogamp.opengl.GL2; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLCapabilities; import com.jogamp.opengl.GLEventListener; import com.jogamp.opengl.GLProfile; import com.jogamp.opengl.awt.GLCanvas; /** * @author tavkhelidze * */ public class Main implements GLEventListener { //setting frame size inputs static int width = 800; static int height = 600; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /* -------------------- OpenGL context -------------------*/ //instantiating OpenGL functionality final GLProfile profile = GLProfile.get(GLProfile.GL2); GLCapabilities capabilities = new GLCapabilities(profile); //creating canvas and attaching the listener for OpenGL-Events to it final GLCanvas glcanvas = new GLCanvas(capabilities); glcanvas.addGLEventListener(new Main()); /* -------------------- FRAME -------------------*/ //creating frame final Frame frame = new Frame ("AWT OpenGL-Fenster"); //setting visibility and sizes to frame: frame.setSize(width, height); frame.setVisible(true); //adding canvas to frame frame.add(glcanvas); //adding Window-events Listener to the frame frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent arg0) { System.exit(0); } }); } @Override public void init(GLAutoDrawable drawable) { // TODO Auto-generated method stub GL2 gl = drawable.getGL().getGL2(); //Mit diesem Befehl setzt sich eine andere Farbe (mit Gleitkommazahlen als Parameter,die dem RGBA-Format entsprechen) gl.glClearColor(0.000f, 0.749f, 1.000f, 1.0f); } @Override public void dispose(GLAutoDrawable drawable) { // TODO Auto-generated method stub } @Override public void display(GLAutoDrawable drawable) { // TODO Auto-generated method stub GL2 gl = drawable.getGL().getGL2(); gl.glClear(GL2.GL_COLOR_BUFFER_BIT); gl.glBegin( GL2.GL_QUADS ); // Start Drawing the quad gl.glVertex3f( 0.5f, -0.5f, -0.5f ); // Bottom Left Of the Quad gl.glVertex3f( -1.0f, -0.5f, -0.5f ); // Bottom Right Of the Quad gl.glVertex3f( -1.0f, 0.5f, -0.5f ); // Top Right Of the Quad gl.glVertex3f( 0.5f, 0.5f, -0.5f ); // Top Left Of the Quad gl.glEnd(); } @Override public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { // TODO Auto-generated method stub } }