Contents / Previous / Next


Background Texture

Draw background first as texture on a 2D rectange with an ortho projection then switch back to 3D:
    public void drawBackground( GL gl) 
      {
	gl.glMatrixMode(GL.GL_PROJECTION);
	gl.glPushMatrix();
	gl.glOrtho(0, 1, 0, 1, 0, 1);

	gl.glMatrixMode(GL.GL_MODELVIEW);
	gl.glPushMatrix();
	gl.glLoadIdentity();
	
	// No depth buffer writes for background.
	gl.glDepthMask( false );

	gl.glBindTexture( GL.GL_TEXTURE_2D, textureId[4] );
	gl.glBegin( GL.GL_QUADS ); {
	  gl.glTexCoord2f( 0f, 0f );
	  gl.glVertex2f( 0, 0 );
	  gl.glTexCoord2f( 0f, 1f );
	  gl.glVertex2f( 0, 1f );
	  gl.glTexCoord2f( 1f, 1f );
	  gl.glVertex2f( 1f, 1f );
	  gl.glTexCoord2f( 1f, 0f );
	  gl.glVertex2f( 1f, 0 );
	} gl.glEnd();

	gl.glDepthMask( true );

	gl.glPopMatrix();
	gl.glMatrixMode(GL.GL_PROJECTION);
	gl.glPopMatrix();
	gl.glMatrixMode(GL.GL_MODELVIEW);
      }