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(); }