- public void display(GLAutoDrawable gLDrawable) {
- // GL-Objekt von der Zeichenfläche holen
- final GL gl = gLDrawable.getGL();
- // Zeichenfläche löschen
- gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
- gl.glMatrixMode(GL.GL_PROJECTION);
- gl.glLoadIdentity();
- // glu.gluOrtho2D(-1.0, 1.0, -1.0 * (float) height / (float) width, 1.0 * (float) height / (float) width);
- glu.gluOrtho2D(0, 0, width, height);
- gl.glMatrixMode(GL.GL_MODELVIEW);
- gl.glLoadIdentity();
- // Alphatest zur Erkennung der Transparenz anhand der Textur
- gl.glEnable(GL.GL_ALPHA_TEST);
- gl.glAlphaFunc(GL.GL_GREATER, 0.1f);
- // Blending zur Behebung der weißen Ränder durch Alphatest
- gl.glEnable(GL.GL_BLEND);
- gl.glBlendFunc(GL.GL_ONE, GL.GL_ONE_MINUS_SRC_ALPHA);
- gl.glEnable(GL.GL_BLEND);
- gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
- // Schiff zeichnen
- testShip.draw(gl);
- // Text zeichnen
- DecimalFormat f = new DecimalFormat("#0.00");
- // Text zeichnen
- gl.glRasterPos2f(-1.0f, 0.94f);
- glut.glutBitmapString(GLUT.BITMAP_TIMES_ROMAN_10, "X: " + f.format(testShip.getPosition().x));
- gl.glRasterPos2f(-1.0f, 0.9f);
- glut.glutBitmapString(GLUT.BITMAP_TIMES_ROMAN_10, "Y: " + f.format(testShip.getPosition().y));
- gl.glRasterPos2f(-1.0f, 0.86f);
- glut.glutBitmapString(GLUT.BITMAP_TIMES_ROMAN_10, "Z: " + f.format(testShip.getPosition().z));
- gl.glRasterPos2f(-1.0f, 0.82f);
- glut.glutBitmapString(GLUT.BITMAP_TIMES_ROMAN_10, "Rotation: " + f.format(testShip.getRotation()));
- gl.glFlush();
- }