Contents /
Previous /
Next
Display Lists Example Program
// Var for displaylists.
int sun, planet1, moon11, moon12;
private void initSolarSystemDisplayLists( GL gl, GLU glu )
{
GLUquadric qobj0 = glu.gluNewQuadric();
glu.gluQuadricDrawStyle( qobj0, GLU.GLU_FILL );
glu.gluQuadricNormals( qobj0, GLU.GLU_SMOOTH );
// sun
sun = gl.glGenLists(1);
if( sun == 0 ) {
System.out.println("GenList Error");
} else {
System.out.println("GenList sun:"+sun);//ddd
gl.glNewList( sun, GL.GL_COMPILE ); {
gl.glColor4f( 1f, 1f, 0f, 1f );
//setSomeYellowMaterial( gl );
glu.gluSphere( qobj0, 0.8f, 20, 20);
} gl.glEndList();
}
// planet1
planet1 = gl.glGenLists(1);
if( planet1 == 0 ) {
System.out.println("GenList Error");
} else {
System.out.println("GenList planet1:"+planet1);//ddd
gl.glNewList( planet1, GL.GL_COMPILE ); {
gl.glTranslatef ( 3.0f, 0.0f, 0.0f);
gl.glColor4f( 0f, 1f, 0f, 1f );
//setSomeBlueMaterial( gl );
glu.gluSphere( qobj0, 0.3f, 20, 20);
} gl.glEndList();
}
// moon 11
moon11 = gl.glGenLists(1);
if( moon11 == 0 ) {
System.out.println("GenList Error");
} else {
gl.glNewList( moon11, GL.GL_COMPILE ); {
gl.glTranslatef (0.8f, 0.0f, 0.0f);
gl.glColor4f( 0f, 0f, 1f, 1f );
//setSomeRedMaterial( gl );
glu.gluSphere( qobj0, 0.08f, 10, 10);
} gl.glEndList();
}
...
}
private void drawSolarSystem( GL gl, GLU glu )
{
....
gl.glPushMatrix(); {
// Sun
gl.glCallList( sun );
gl.glPushMatrix(); {
// Planet 1
gl.glRotatef (angleYear, 0.0f, 1.0f, 0.0f);
gl.glCallList( planet1 );
....
} gl.glPopMatrix();
} gl.glPopMatrix();
}