Exemple #1
0
    public override void Recompile()
    {
        foreach (Asiento a in delant)
        {
            a.Recompile();
        }
        foreach (LimpParab a in lp)
        {
            a.Recompile();
        }
        t.Recompile();
        respuesto.Recompile();
        Gl.glNewList(idVisualizar, Gl.GL_COMPILE);
        Gl.glPushMatrix();

        Gl.glDisable(Gl.GL_CULL_FACE);
        Material pn = new PlasticoNegro();

        Gl.glColor3d(pn.Ambient.r, pn.Ambient.g, pn.Ambient.b);
        pn.Set();

        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, -1, 0);
        Gl.glVertex3d(start.x - 1.7, start.y - 1.9, start.z - 2.5);
        Gl.glVertex3d(start.x + 3.35, start.y - 1.9, start.z - 2.5);
        Gl.glVertex3d(start.x + 3.35, start.y - 1.9, start.z + 2.5);
        Gl.glVertex3d(start.x - 1.7, start.y - 1.9, start.z + 2.5);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_POLYGON);

        Gl.glVertex3d(start.x - 1.7, start.y - 1.9, start.z - 2.4);
        Gl.glVertex3d(start.x - 1.7, start.y - 1.9, start.z + 2.4);
        Gl.glVertex3d(start.x - 3.7, start.y + 0.1, start.z + 2.4);
        Gl.glVertex3d(start.x - 3.7, start.y + 0.1, start.z - 2.4);
        Gl.glEnd();


        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x + 7, start.y - 0.2, start.z - 2.4);
        Gl.glVertex3d(start.x + 7, start.y - 0.9, start.z - 2.4);
        Gl.glVertex3d(start.x + 7, start.y - 0.9, start.z + 2.4);
        Gl.glVertex3d(start.x + 7, start.y - 0.2, start.z + 2.4);
        Gl.glEnd();


        Gl.glBindTexture(Gl.GL_TEXTURE_2D, Otros.texture[4]);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glTexCoord2d(0, 0);
        Gl.glVertex3d(start.x + 3, start.y - 0.2, start.z - 2.4);
        Gl.glTexCoord2d(1, 0);
        Gl.glVertex3d(start.x + 3, start.y - 0.2, start.z + 2.4);
        Gl.glTexCoord2d(1, 1);
        Gl.glVertex3d(start.x + 2, start.y - 1.9, start.z + 2.4);
        Gl.glTexCoord2d(0, 1);
        Gl.glVertex3d(start.x + 2, start.y - 1.9, start.z - 2.4);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0);

        pn.UnSet();


        pn = new Plata();
        Gl.glColor3d(pn.Ambient.r, pn.Ambient.g, pn.Ambient.b);
        pn.Set();
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x - 6, start.y - 1, start.z - 2);
        Gl.glVertex3d(start.x - 4, start.y - 1, start.z - 2);
        Gl.glVertex3d(start.x - 4, start.y - 1, start.z + 2);
        Gl.glVertex3d(start.x - 6, start.y - 1, start.z + 2);
        Gl.glEnd();
        pn.UnSet();


        Gl.glBindTexture(Gl.GL_TEXTURE_2D, Otros.texture[3]);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glTexCoord2d(1, 0); Gl.glVertex3d(start.x + 7, start.y - 0.2, start.z - 2.4);
        Gl.glTexCoord2d(1, 1); Gl.glVertex3d(start.x + 3, start.y - 0.2, start.z - 2.4);
        Gl.glTexCoord2d(0, 1); Gl.glVertex3d(start.x + 3, start.y - 0.2, start.z + 2.4);
        Gl.glTexCoord2d(0, 0); Gl.glVertex3d(start.x + 7, start.y - 0.2, start.z + 2.4);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0);



        Gl.glColor3d(0.7, 0.7, 0.5);
        Gl.glBindTexture(Gl.GL_TEXTURE_2D, Otros.texture[0]);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, -1, 0);
        Gl.glTexCoord2d(0, 0); Gl.glVertex3d(start.x + 2.3, start.y + 0.2, start.z - 2.45);
        Gl.glTexCoord2d(1, 0); Gl.glVertex3d(start.x + 2.3, start.y + 0.2, start.z + 2.45);
        Gl.glTexCoord2d(1, 1); Gl.glVertex3d(start.x + 2, start.y - 0.5, start.z + 2.45);
        Gl.glTexCoord2d(0, 1); Gl.glVertex3d(start.x + 2, start.y - 0.5, start.z - 2.45);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0);


        Gl.glColor3d(0, 0, 0);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.2, start.z - 2.45);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.2, start.z + 2.45);
        Gl.glVertex3d(start.x + 2.05, start.y - 0.5, start.z + 2.45);
        Gl.glVertex3d(start.x + 2.05, start.y - 0.5, start.z - 2.45);
        Gl.glEnd();



        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.4, start.z - 1);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.4, start.z + 1);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z + 1);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z - 1);
        Gl.glEnd();


        Gl.glBegin(Gl.GL_TRIANGLE_STRIP);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.4, start.z + 1);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z + 2.3);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z + 1);
        Gl.glEnd();


        Gl.glBegin(Gl.GL_TRIANGLE_STRIP);
        Gl.glNormal3d(0, 1, 0);
        Gl.glVertex3d(start.x + 2.35, start.y + 0.4, start.z - 1);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z - 2.3);
        Gl.glVertex3d(start.x + 2.25, start.y, start.z - 1);
        Gl.glEnd();

        Gl.glEnable(Gl.GL_CULL_FACE);
        Gl.glPopMatrix();
        Gl.glEndList();
    }
    public override void Recompile()
    {
        foreach(Asiento a in delant)
            a.Recompile();
        foreach(LimpParab a in lp)
            a.Recompile();
        t.Recompile();
        respuesto.Recompile();
        Gl.glNewList(idVisualizar,Gl.GL_COMPILE);
        Gl.glPushMatrix();

        Gl.glDisable(Gl.GL_CULL_FACE);
        Material pn=new PlasticoNegro();
        Gl.glColor3d(pn.Ambient.r,pn.Ambient.g,pn.Ambient.b);
        pn.Set();

        Gl.glBegin(Gl.GL_POLYGON);
            Gl.glNormal3d(0,-1,0);
            Gl.glVertex3d(start.x-1.7,start.y-1.9,start.z-2.5);
            Gl.glVertex3d(start.x+3.35,start.y-1.9,start.z-2.5);
            Gl.glVertex3d(start.x+3.35,start.y-1.9,start.z+2.5);
            Gl.glVertex3d(start.x-1.7,start.y-1.9,start.z+2.5);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_POLYGON);

        Gl.glVertex3d(start.x-1.7,start.y-1.9,start.z-2.4);
        Gl.glVertex3d(start.x-1.7,start.y-1.9,start.z+2.4);
        Gl.glVertex3d(start.x-3.7,start.y+0.1,start.z+2.4);
        Gl.glVertex3d(start.x-3.7,start.y+0.1,start.z-2.4);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x+7,start.y-0.2,start.z-2.4);
        Gl.glVertex3d(start.x+7,start.y-0.9,start.z-2.4);
        Gl.glVertex3d(start.x+7,start.y-0.9,start.z+2.4);
        Gl.glVertex3d(start.x+7,start.y-0.2,start.z+2.4);
        Gl.glEnd();

        Gl.glBindTexture(Gl.GL_TEXTURE_2D,Otros.texture[4]);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glTexCoord2d(0,0);
        Gl.glVertex3d(start.x+3,start.y-0.2,start.z-2.4);
        Gl.glTexCoord2d(1,0);
        Gl.glVertex3d(start.x+3,start.y-0.2,start.z+2.4);
        Gl.glTexCoord2d(1,1);
        Gl.glVertex3d(start.x+2,start.y-1.9,start.z+2.4);
        Gl.glTexCoord2d(0,1);
        Gl.glVertex3d(start.x+2,start.y-1.9,start.z-2.4);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D,0);

        pn.UnSet();

        pn=new Plata();
        Gl.glColor3d(pn.Ambient.r,pn.Ambient.g,pn.Ambient.b);
        pn.Set();
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x-6,start.y-1,start.z-2);
        Gl.glVertex3d(start.x-4,start.y-1,start.z-2);
        Gl.glVertex3d(start.x-4,start.y-1,start.z+2);
        Gl.glVertex3d(start.x-6,start.y-1,start.z+2);
        Gl.glEnd();
        pn.UnSet();

        Gl.glBindTexture(Gl.GL_TEXTURE_2D,Otros.texture[3]);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glTexCoord2d(1,0);Gl.glVertex3d(start.x+7,start.y-0.2,start.z-2.4);
        Gl.glTexCoord2d(1,1);Gl.glVertex3d(start.x+3,start.y-0.2,start.z-2.4);
        Gl.glTexCoord2d(0,1);Gl.glVertex3d(start.x+3,start.y-0.2,start.z+2.4);
        Gl.glTexCoord2d(0,0);Gl.glVertex3d(start.x+7,start.y-0.2,start.z+2.4);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D,0);

        Gl.glColor3d(0.7,0.7,0.5);
        Gl.glBindTexture(Gl.GL_TEXTURE_2D,Otros.texture[0]);
        Gl.glBegin(Gl.GL_POLYGON);
            Gl.glNormal3d(0,-1,0);
            Gl.glTexCoord2d(0,0);Gl.glVertex3d(start.x+2.3,start.y+0.2,start.z-2.45);
            Gl.glTexCoord2d(1,0);Gl.glVertex3d(start.x+2.3,start.y+0.2,start.z+2.45);
            Gl.glTexCoord2d(1,1);Gl.glVertex3d(start.x+2,start.y-0.5,start.z+2.45);
            Gl.glTexCoord2d(0,1);Gl.glVertex3d(start.x+2,start.y-0.5,start.z-2.45);
        Gl.glEnd();
        Gl.glBindTexture(Gl.GL_TEXTURE_2D,0);

        Gl.glColor3d(0,0,0);
        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x+2.35,start.y+0.2,start.z-2.45);
        Gl.glVertex3d(start.x+2.35,start.y+0.2,start.z+2.45);
        Gl.glVertex3d(start.x+2.05,start.y-0.5,start.z+2.45);
        Gl.glVertex3d(start.x+2.05,start.y-0.5,start.z-2.45);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_POLYGON);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x+2.35,start.y+0.4,start.z-1);
        Gl.glVertex3d(start.x+2.35,start.y+0.4,start.z+1);
        Gl.glVertex3d(start.x+2.25,start.y,start.z+1);
        Gl.glVertex3d(start.x+2.25,start.y,start.z-1);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_TRIANGLE_STRIP);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x+2.35,start.y+0.4,start.z+1);
        Gl.glVertex3d(start.x+2.25,start.y,start.z+2.3);
        Gl.glVertex3d(start.x+2.25,start.y,start.z+1);
        Gl.glEnd();

        Gl.glBegin(Gl.GL_TRIANGLE_STRIP);
        Gl.glNormal3d(0,1,0);
        Gl.glVertex3d(start.x+2.35,start.y+0.4,start.z-1);
        Gl.glVertex3d(start.x+2.25,start.y,start.z-2.3);
        Gl.glVertex3d(start.x+2.25,start.y,start.z-1);
        Gl.glEnd();

        Gl.glEnable(Gl.GL_CULL_FACE);
        Gl.glPopMatrix();
        Gl.glEndList();
    }