glScaled() private method

private glScaled ( double x, double y, double z ) : void
x double
y double
z double
return void
示例#1
0
 void CreateTree()
 {
     GL.glNewList(TREE_LIST + currentTree, GL.GL_COMPILE);
     GL.glPushMatrix();
     GL.glPushAttrib(GL.GL_LIGHTING_BIT);
     GL.glCallList(TREE_MAT);
     GL.glScaled(amplitude, amplitude, amplitude);
     FractalTreeRec(0);
     GL.glPopAttrib();
     GL.glPopMatrix();
     GL.glEndList();
 }
示例#2
0
        void DrawObjects(bool isForShades, int c)
        {
            if (!isForShades)
            {
                GL.glColor3d(1, 0, 0);
            }
            else
            if (c == 1)
            {
                GL.glColor3d(0.5, 0.5, 0.5);
            }
            else
            {
                GL.glColor3d(0.8, 0.8, 0.8);
            }


            GL.glRotated(90, 1, 0, 0);
            if (!isForShades)
            {
                GL.glColor3d(1, 1, 1);
            }
            else
            if (c == 1)
            {
                GL.glColor3d(0.5, 0.5, 0.5);
            }
            else
            {
                GL.glColor3d(0.8, 0.8, 0.8);
            }
            if ((c == 1) && (isForShades))
            {
                GL.glTranslated(0, 0, 0);
                GL.glScaled(0.027, 0.027, 0.027);
                GL.glColor3d(0, 0, 0);
                ch1.DrawModel2();
                GL.glTranslated(0, 0, -200);
                GL.glScaled(0.6, 0.6, 0.6);
                ch.DrawModel2();
            }
            else if ((c == 1) && (!isForShades))
            {
                GL.glTranslated(0, 0, 0);
                GL.glScaled(0.027, 0.027, 0.027);
                ch1.DrawModel();
                GL.glTranslated(0, 0, -200);
                GL.glScaled(0.6, 0.6, 0.6);
                ch.DrawModel();
            }
        }
示例#3
0
 void drawLake()
 {
     GL.glEnable(GL.GL_LIGHTING);
     GL.glCallList(WATER_MAT);
     GL.glPushMatrix();
     if (ScrollValue[16] >= 0)
     {
         GL.glScaled(1, 1, 1 + ScrollValue[16]);
     }
     else
     {
         GL.glScaled(1 + ScrollValue[16], 1, 1);
     }
     GL.glTranslated(ScrollValue[12], 0, ScrollValue[13]);
     GL.glRotated(90, 1, 0, 0);
     GLU.gluDisk(obj, 0, ScrollValue[14], 30, 30);
     GL.glPopMatrix();
     GL.glDisable(GL.GL_LIGHTING);
 }
 public override void DrawToy(double[] translateCoords, double[] rotateCoords, bool isShadow)
 {
     float[] material = new float[3];
     material[0] = 0.0215f;
     material[1] = 0.1745f;
     material[2] = 0.0215f;
     GL.glMaterialfv(GL.GL_FRONT, GL.GL_AMBIENT, material);
     material[0] = 0.07568f;
     material[1] = 0.61424f;
     material[2] = 0.07568f;
     GL.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE, material);
     material[0] = 0.633f;
     material[1] = 0.727811f;
     material[2] = 0.633f;
     GL.glMaterialfv(GL.GL_FRONT, GL.GL_SPECULAR, material);
     GL.glMaterialf(GL.GL_FRONT, GL.GL_SHININESS, 5f);
     GL.glTranslated(translateCoords[0], translateCoords[1], translateCoords[2]);
     if (!isShadow)
     {
         GL.glColor3d(1, 1, 1);
     }
     else
     {
         GL.glDisable(GL.GL_TEXTURE_2D);
     }
     GL.glRotated(rotateCoords[0], rotateCoords[1], rotateCoords[2], rotateCoords[3]);
     GL.glScaled(10, 10, 10);
     if (isShadow)
     {
         GL.glCallList(SHADOW_LIST);
     }
     else
     {
         GL.glCallList(LIST);
     }
     GL.glScaled(0.1, 0.1, 0.1);
     GL.glRotated(-rotateCoords[0], rotateCoords[1], rotateCoords[2], rotateCoords[3]);
     GL.glTranslated(-translateCoords[0], -translateCoords[1], -translateCoords[2]);
     GL.glDisable(GL.GL_TEXTURE_2D);
 }
        public void drawPenguin()
        {
            GL.glPushMatrix();
            //  drawaxe();
            GL.glRotatef(90, 0.0f, 1.0f, 0.0f);

            GL.glRotatef(-90, 1.0f, 0.0f, 0.0f);


            //drawaxe();
            GL.glTranslated(0.0, -200, 0);
            GL.glTranslated(0.0, speed, 0);  // going forward
            GL.glRotated(spirala, 0, 0, 1);  //turn 180 deg

            // drawaxe();



            if (speedFlg)
            {
                if (!spiralaFlg)
                {
                    if (forward)
                    {
                        if (speed < 380)
                        {
                            speed += 5;
                            GL.glRotated(flap * 6, 0, 0, 1);  //Jump
                        }
                        if (speed >= 380)
                        {
                            speedFlg   = false;
                            spiralaFlg = true;
                            forward    = false;
                        }
                    }
                    if (!forward)
                    {
                        if (speed > 0)
                        {
                            speed -= 5;
                            GL.glRotated(flap * 6, 0, 0, 1);
                        }
                        if (speed <= 0)
                        {
                            speedFlg   = false;
                            spiralaFlg = true;
                            forward    = true;
                        }
                    }
                }
            }
            if (!speedFlg)
            {
                if (spiralaFlg)
                {
                    if (spirala < spindLim)
                    {
                        spirala += 18;
                        GL.glTranslated(0.0, 0, 0 + flap * 8);
                    }
                    else
                    {
                        spiralaFlg = false;
                        spindLim  += 180;
                    }
                }
                if (!spiralaFlg)
                {
                    speedFlg = true;
                }
            }

            if (!checkBox)
            {
                if (!flapFlg)
                {
                    flap += 0.5f;
                    if (flap >= 5)
                    {
                        flapFlg = true;
                    }
                }
                if (flapFlg)
                {
                    flap -= 0.5f;
                    if (flap <= 0)
                    {
                        flapFlg = false;
                    }
                }
            }
            if (checkBox)
            {
                flap = 0;
            }



            GL.glPushMatrix();

            GL.glScaled(scale_inc, scale_inc, scale_inc); //size of penguin
            //drawaxe();

            float[] front_ambuse = { 0.9f, 0.9f, 0.9f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, front_ambuse);

            GL.glColor3f(1.0f, 1.0f, 1.0f);
            //Front body
            GL.glBegin(GL.GL_QUADS);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-3, 3, 0);
            GL.glVertex3d(3, 3, 0);
            GL.glVertex3d(4, 4, 5);
            GL.glVertex3d(-4, 4, 5);
            GL.glEnd();

            GL.glBegin(GL.GL_QUADS);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-4, 4, 5);
            GL.glVertex3d(4, 4, 5);
            GL.glVertex3d(2.5, 3, 12);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glEnd();

            float[] backLow_ambuse = { 0.01f, 0.01f, 0.01f, 1.0f };
            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, backLow_ambuse);

            GL.glColor3f(0.01f, 0.01f, 0.01f);

            //Back body
            GL.glBegin(GL.GL_QUADS);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-3, 0, 0);
            GL.glVertex3d(3, 0, 0);
            GL.glVertex3d(4, -1, 5);
            GL.glVertex3d(-4, -1, 5);
            GL.glEnd();

            float[] backHigh_ambuse = { 0.18f, 0.18f, 0.18f, 1.0f };
            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, backHigh_ambuse);

            GL.glColor3f(0.18f, 0.18f, 0.18f);

            GL.glBegin(GL.GL_QUADS);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-4, -1, 5);
            GL.glVertex3d(4, -1, 5);
            GL.glVertex3d(2.5, 0, 12);
            GL.glVertex3d(-2.5, 0, 12);
            GL.glEnd();


            float[] SideFront_ambuse = { 0.91f, 0.91f, 0.91f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, SideFront_ambuse);
            GL.glColor3f(0.91f, 0.91f, 0.91f);

            //leftSide-front body
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-3, 3, 0);
            GL.glVertex3d(-3.5, 1, 0);
            GL.glVertex3d(-4, 4, 5);
            GL.glVertex3d(-4.2, 1, 5.5);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glEnd();

            //rightSide-front body
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(3, 3, 0);
            GL.glVertex3d(3.5, 1, 0);
            GL.glVertex3d(4, 4, 5);
            GL.glVertex3d(4.2, 1, 5.5);
            GL.glVertex3d(2.5, 3, 12);
            GL.glEnd();


            float[] SideBack_ambuse = { 0.1f, 0.1f, 0.1f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, SideBack_ambuse);
            GL.glColor3f(0.1f, 0.1f, 0.1f);

            //leftSide-front body
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-3, 0, 0);
            GL.glVertex3d(-3.5, 1, 0);
            GL.glVertex3d(-4, -1, 5);
            GL.glVertex3d(-4.2, 1, 5.5);
            GL.glVertex3d(-2.5, 0, 12);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glEnd();

            //rightSide-front body
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(3, 0, 0);
            GL.glVertex3d(3.5, 1, 0);
            GL.glVertex3d(4, -1, 5);
            GL.glVertex3d(4.2, 1, 5.5);
            GL.glVertex3d(2.5, 0, 12);
            GL.glVertex3d(2.5, 3, 12);
            GL.glEnd();


            ////// neck
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);

            GL.glVertex3d(2.5, 3, 12);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glVertex3d(0, 1.0, 15);
            GL.glEnd();

            GL.glColor3f(0f, 0.0f, 0.0f);

            float[] beak_ambuse = { 0.6021f, 0.3001f, 0.0156f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, beak_ambuse);
            GL.glColor3f(0.6021f, 0.3001f, 0.0156f);

            ////// beak -left
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glVertex3d(0, 1.0, 15);
            GL.glVertex3d(0, 6.0, 10);
            GL.glEnd();
            ////// beak -right
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(2.5, 3, 12);
            GL.glVertex3d(0, 1.0, 15);
            GL.glVertex3d(0, 6.0, 10);
            GL.glEnd();


            float[] wing_ambuse = { 0.7421f, 0.4101f, 0.0156f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, wing_ambuse);
            GL.glColor3f(0.7421f, 0.4101f, 0.0156f);

            ////// wing -left
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(-2.5, 3, 12);
            GL.glVertex3d(-4.2, +1.0, 5.5);
            GL.glVertex3d(-5 + (float)-flap * 0.4, -5.0 + (float)flap * 0.4, 4);

            GL.glEnd();
            ////// wing -right
            GL.glBegin(GL.GL_TRIANGLE_STRIP);
            GL.glNormal3d(0, 0, 1);
            GL.glVertex3d(2.5, 3, 12);
            GL.glVertex3d(4.2, +1.0, 5.5);
            GL.glVertex3d(5 + (float)flap * 0.4, -5.0 + (float)flap * 0.4, 4);
            GL.glEnd();


            //Head
            float[] head_ambuse = { 0.1117f, 0.1296f, 0.1562f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, head_ambuse);
            GL.glColor3f(0.1117f, 0.1296f, 0.1562f);

            GL.glPushMatrix();
            GL.glTranslated(0, 1.5, 13);
            GLUT.glutSolidSphere(3.2, 64, 64);
            GL.glPopMatrix();



            //Legs
            float[] legs_ambuse = { 0.5021f, 0.2001f, 0.0156f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, legs_ambuse);
            GL.glColor3f(0.1117f, 0.1296f, 0.1562f);

            GL.glPushMatrix();
            GL.glTranslated(-2.2, 3, 0);
            GLUT.glutSolidSphere(1.8, 32, 100);
            GL.glPopMatrix();
            GL.glPushMatrix();
            GL.glTranslated(2.2, 3, 0);
            GLUT.glutSolidSphere(1.8, 32, 100);
            GL.glPopMatrix();


            GL.glPushMatrix();



            //Eyes
            float[] eyesW_ambuse = { 1f, 1f, 1f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, eyesW_ambuse);
            GL.glColor3f(1f, 1f, 1f);

            GL.glPushMatrix();
            GL.glTranslated(-1.2, 3.5, 13);
            GLUT.glutSolidSphere(1, 32, 32);
            GL.glPopMatrix();
            GL.glPushMatrix();
            GL.glTranslated(1.2, 3.5, 13);
            GLUT.glutSolidSphere(1, 32, 32);
            GL.glPopMatrix();

            float[] eyesB_ambuse = { 0f, 0f, 0f, 1.0f };

            GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, eyesB_ambuse);
            GL.glColor3f(1f, 1f, 1f);

            GL.glPushMatrix();
            GL.glTranslated(-1.2, 3.9, 12.8);
            GLUT.glutSolidSphere(0.7, 32, 32);
            GL.glPopMatrix();
            GL.glPushMatrix();
            GL.glTranslated(1.2, 3.9, 12.8);
            GLUT.glutSolidSphere(0.7, 32, 32);
            GL.glPopMatrix();

            GL.glPopMatrix();
            GL.glPopMatrix();
            GL.glPopMatrix();
        }
示例#6
0
        public void Draw()
        {
            //Shadows
            pos[0] = 0;//ScrollValue[9];
            pos[1] = ScrollValue[8];
            pos[2] = ScrollValue[7];
            pos[3] = ScrollValue[9];


            if (m_uint_DC == 0 || m_uint_RC == 0)
            {
                return;
            }

            GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

            GL.glLoadIdentity();



            // not trivial
            double[] ModelVievMatrixBeforeSpecificTransforms = new double[16];
            double[] CurrentRotationTraslation = new double[16];

            GLU.gluLookAt(ScrollValue[0], ScrollValue[1], ScrollValue[2],
                          ScrollValue[3], ScrollValue[4], ScrollValue[5],
                          ScrollValue[6], ScrollValue[7], ScrollValue[8]);
            GL.glTranslatef(0.0f, 0.0f, -1.0f);


            if (!bPerspective)
            {
                GL.glTranslatef(0.0f, 0.0f, 8.0f);
            }



            //3D model b3
            GL.glTranslatef(0.0f, -5.0f, -15.0f);
            GL.glRotated(180, 0, 1, 0);
            //3D model e



            //save current ModelView Matrix values
            //in ModelVievMatrixBeforeSpecificTransforms array
            //ModelView Matrix ========>>>>>> ModelVievMatrixBeforeSpecificTransforms
            GL.glGetDoublev(GL.GL_MODELVIEW_MATRIX, ModelVievMatrixBeforeSpecificTransforms);
            //ModelView Matrix was saved, so
            //  GL.glLoadIdentity(); // make it identity matrix
            GL.glLoadIdentity(); // make it identity matrix

            //make transformation in accordance to KeyCode
            float delta;

            if (intOptionC != 0)
            {
                delta = 5.0f * Math.Abs(intOptionC) / intOptionC; // signed 5

                switch (Math.Abs(intOptionC))
                {
                case 1:
                    GL.glRotatef(delta, 1, 0, 0);
                    break;

                case 2:
                    GL.glRotatef(delta, 0, 1, 0);
                    break;

                case 3:
                    GL.glRotatef(delta, 0, 0, 1);
                    break;

                case 4:
                    GL.glTranslatef(delta / 20, 0, 0);
                    break;

                case 5:
                    GL.glTranslatef(0, delta / 20, 0);
                    break;

                case 6:
                    GL.glTranslatef(0, 0, delta / 20);
                    break;
                }
            }
            //as result - the ModelView Matrix now is pure representation
            //of KeyCode transform and only it !!!

            //save current ModelView Matrix values
            //in CurrentRotationTraslation array
            //ModelView Matrix =======>>>>>>> CurrentRotationTraslation
            GL.glGetDoublev(GL.GL_MODELVIEW_MATRIX, CurrentRotationTraslation);

            //The GL.glLoadMatrix function replaces the current matrix with
            //the one specified in its argument.
            //The current matrix is the
            //projection matrix, modelview matrix, or texture matrix,
            //determined by the current matrix mode (now is ModelView mode)
            GL.glLoadMatrixd(AccumulatedRotationsTraslations); //Global Matrix

            //The GL.glMultMatrix function multiplies the current matrix by
            //the one specified in its argument.
            //That is, if M is the current matrix and T is the matrix passed to
            //GL.glMultMatrix, then M is replaced with M • T
            GL.glMultMatrixd(CurrentRotationTraslation);

            //save the matrix product in AccumulatedRotationsTraslations
            GL.glGetDoublev(GL.GL_MODELVIEW_MATRIX, AccumulatedRotationsTraslations);

            //replace ModelViev Matrix with stored ModelVievMatrixBeforeSpecificTransforms
            GL.glLoadMatrixd(ModelVievMatrixBeforeSpecificTransforms);
            //multiply it by KeyCode defined AccumulatedRotationsTraslations matrix
            GL.glMultMatrixd(AccumulatedRotationsTraslations);

            GL.glEnable(GL.GL_TEXTURE_2D);


            if (!rotate)
            {
                GL.glRotatef(0, 0, 20, 0);
                GL.glDepthRange(1, 1);////////if the zebra behind the cube, change to (1,1)
                GL.glPushMatrix();

                DrawTexturedCube();

                GL.glPopMatrix();
            }
            else
            {
                GL.glRotatef(0, 0, 20, 0);
                GL.glDepthRange(1, 1);
                GL.glPushMatrix();
                angle -= 0.1f;
                GL.glRotatef(angle, 0, 2, 0);
                DrawTexturedCube();

                GL.glPopMatrix();
            }


            GL.glRotated(100, 0, 90, 0);
            GL.glScaled(0.05, 0.05, 0.05);



            GL.glRotated(-90, 180, 0, 0);
            GL.glScaled(30, 30, 30);

            DrawFigures();


            GL.glEnable(GL.GL_BLEND);
            GL.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);


            //only floor, draw only to STENCIL buffer
            GL.glEnable(GL.GL_STENCIL_TEST);
            GL.glStencilOp(GL.GL_REPLACE, GL.GL_REPLACE, GL.GL_REPLACE);
            GL.glStencilFunc(GL.GL_ALWAYS, 1, 0xFFFFFFFF); // draw floor always
            GL.glColorMask((byte)GL.GL_FALSE, (byte)GL.GL_FALSE, (byte)GL.GL_FALSE, (byte)GL.GL_FALSE);
            GL.glDisable(GL.GL_DEPTH_TEST);


            // restore regular settings
            GL.glColorMask((byte)GL.GL_TRUE, (byte)GL.GL_TRUE, (byte)GL.GL_TRUE, (byte)GL.GL_TRUE);
            GL.glEnable(GL.GL_DEPTH_TEST);


            GL.glEnable(GL.GL_STENCIL_TEST);

            // draw reflected scene
            GL.glPushMatrix();
            GL.glScalef(1, 1, -1); //swap on Z axis
            GL.glEnable(GL.GL_CULL_FACE);
            GL.glCullFace(GL.GL_BACK);
            DrawFigures();
            GL.glCullFace(GL.GL_FRONT);
            DrawFigures();
            GL.glDisable(GL.GL_CULL_FACE);
            GL.glPopMatrix();


            // really draw floor
            //( half-transparent ( see its color's alpha byte)))
            // in order to see reflected objects
            GL.glDepthMask((byte)GL.GL_FALSE);
            DrawFloor();
            GL.glDepthMask((byte)GL.GL_TRUE);
            // Disable GL.GL_STENCIL_TEST to show All, else it will be cut on GL.GL_STENCIL
            GL.glDisable(GL.GL_STENCIL_TEST);
            DrawFigures();
            //REFLECTION e
            GL.glFlush();

            WGL.wglSwapBuffers(m_uint_DC);
        }
示例#7
0
        public void DrawTexturedCube()
        {
            GL.glScaled(55, 55, 55);


            {
                // front

                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(0.0f, 0.0f, 1.0f);
                GL.glTexCoord2f(0.0f, 0.0f);
                GL.glVertex3f(-1.0f, -1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 0.0f);
                GL.glVertex3f(1.0f, -1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 1.0f);
                GL.glVertex3f(1.0f, 1.0f, 1.0f);
                GL.glTexCoord2f(0.0f, 1.0f);
                GL.glVertex3f(-1.0f, 1.0f, 1.0f);
                GL.glEnd();
                // back
                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[1]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(0.0f, 0.0f, -1.0f);
                GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f);
                GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f);
                GL.glEnd();
                // left
                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[2]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(-1.0f, 0.0f, 0.0f);
                GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, 1.0f);
                GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f);
                GL.glEnd();
                // right
                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[3]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(1.0f, 0.0f, 0.0f);
                GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f);
                GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, 1.0f);
                GL.glEnd();
                // top
                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[4]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(0.0f, 1.0f, 0.0f);
                GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, 1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, 1.0f, 1.0f);
                GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f);
                GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f);
                GL.glEnd();
                // bottom
                GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[5]);
                GL.glBegin(GL.GL_QUADS);
                GL.glNormal3f(0.0f, -1.0f, 0.0f);
                GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f);
                GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, -1.0f, 1.0f);
                GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, -1.0f, 1.0f);
                GL.glEnd();
            }
        }