private void DrawSea() { GL.glDisable(GL.GL_LIGHTING); float dup = GlobalProperties.seaDuplicates; GL.glEnable(GL.GL_TEXTURE_2D); GL.glColor4f(1.0f, 1.0f, 1.0f, 0.3f); GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); GL.glBegin(GL.GL_QUADS); float cor = GlobalProperties.seaSize / 2; GL.glTexCoord2f(0, 0); GL.glVertex3f(-cor, -cor, 0.0f); GL.glTexCoord2f(0, dup); GL.glVertex3f(cor, -cor, 0.0f); GL.glTexCoord2f(dup, dup); GL.glVertex3f(cor, cor, 0.0f); GL.glTexCoord2f(dup, 0); GL.glVertex3f(-cor, cor, 0.0f); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); GL.glEnable(GL.GL_LIGHTING); }
void DrawFigures() { GL.glEnable(GL.GL_COLOR_MATERIAL); GL.glEnable(GL.GL_LIGHT0); GL.glEnable(GL.GL_LIGHTING); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! GL.glRotatef(ROBOT_angle, 0, 0, 1); GL.glCallList(ROBOT_LIST); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // saw GL.glLineStipple(1, 0x1243); GL.glLineWidth(3); GL.glEnable(GL.GL_LINE_STIPPLE); GL.glColor3f(1, 1, 0); //yellow GL.glBegin(GL.GL_LINES); float angle; for (int i = 0; i <= 9; i++) { angle = alpha + i * 6.283f / 10; GL.glVertex3d(0.5f * r * Math.Cos(angle), 0.5f * r * Math.Sin(angle), 0.01f); GL.glVertex3d(1.5f * r * Math.Cos(angle + 0.6), 1.5f * r * Math.Sin(angle + 0.6), 0.01f); } GL.glEnd(); GL.glLineWidth(1); GL.glDisable(GL.GL_LINE_STIPPLE); }
void drawFloor() { GL.glEnable(GL.GL_LIGHTING); GL.glPushMatrix(); GL.glColor3d(0, 1, 0); GL.glTranslated(0, -0.01, 0); float[] grass_ambuse = { 0.03f, 0.56f, 0.19f, 1.0f }; float[] grass_specular = { 0.0f, 0.0f, 0.0f, 1.0f }; float[] grass_shininess = { 10 }; GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE, grass_ambuse); GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SPECULAR, grass_specular); GL.glMaterialfv(GL.GL_FRONT_AND_BACK, GL.GL_SHININESS, grass_shininess); GL.glBegin(GL.GL_QUADS); GL.glNormal3f(0, 1, 0); GL.glVertex3f(-200, 0, -200); GL.glVertex3f(-200, 0, 200); GL.glVertex3f(200, 0, 200); GL.glVertex3f(200, 0, -200); GL.glEnd(); GL.glDisable(GL.GL_LIGHTING); GL.glPopMatrix(); }
protected void DrawOldAxes() { if (enableDefaultCoordSystem) { GL.glEnable(GL.GL_LINE_STIPPLE); GL.glLineStipple(1, 0xFF00); GL.glBegin(GL.GL_LINES); //X - Red GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(10.0f, 0.0f, 0.0f); //Y - Greed GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 10.0f, 0.0f); //Z - Blue GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 10.0f); GL.glEnd(); GL.glDisable(GL.GL_LINE_STIPPLE); } }
protected void DrawHand() { GL.glColor3d(1, 0.8, 0.6); GL.glBegin(GL.GL_QUADS); //Near GL.glVertex3d(-3.0, 2.0, 0.5); GL.glVertex3d(3.0, 2.0, 0.5); GL.glVertex3d(3.0, -2.0, 0.5); GL.glVertex3d(-3.0, -2.0, 0.5); //Far GL.glVertex3d(-3.0, 2.0, -0.5); GL.glVertex3d(3.0, 2.0, -0.5); GL.glVertex3d(3.0, -2.0, -0.5); GL.glVertex3d(-3.0, -2.0, -0.5); //Left GL.glVertex3d(-3.0, 2.0, -0.5); GL.glVertex3d(-3.0, 2.0, 0.5); GL.glVertex3d(-3.0, -2.0, 0.5); GL.glVertex3d(-3.0, -2.0, -0.5); //Right GL.glVertex3d(3.0, 2.0, 0.5); GL.glVertex3d(3.0, 2.0, -0.5); GL.glVertex3d(3.0, -2.0, -0.5); GL.glVertex3d(3.0, -2.0, 0.5); GL.glEnd(); }
void DrawOldAxes() { //for this time //Lights positioning is here!!! float [] pos = new float[4]; pos[0] = 10; pos[1] = 10; pos[2] = 10; pos[3] = 1; GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, pos); GL.glDisable(GL.GL_LIGHTING); //INITIAL axes GL.glEnable(GL.GL_LINE_STIPPLE); GL.glLineStipple(1, 0xFF00); // dotted GL.glBegin(GL.GL_LINES); //x RED GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glVertex3f(-3.0f, 0.0f, 0.0f); GL.glVertex3f(3.0f, 0.0f, 0.0f); //y GREEN GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(0.0f, -3.0f, 0.0f); GL.glVertex3f(0.0f, 3.0f, 0.0f); //z BLUE GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glVertex3f(0.0f, 0.0f, -3.0f); GL.glVertex3f(0.0f, 0.0f, 3.0f); GL.glEnd(); GL.glDisable(GL.GL_LINE_STIPPLE); }
private void drawSquareSurface(float width, float height, float depth, eAxis axis) { GL.glBegin(GL.GL_QUADS); // if there is no texture bind, the glTexCoord2f do nothing switch (axis) { case eAxis.X: GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(width, 0, 0); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(width, 0, depth); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(width, height, depth); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(width, height, 0); break; case eAxis.Y: GL.glVertex3f(0, height, 0); GL.glVertex3f(0, height, depth); GL.glVertex3f(width, height, depth); GL.glVertex3f(width, height, 0); break; case eAxis.Z: GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(0, 0, depth); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(0, height, depth); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(width, height, depth); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(width, 0, depth); break; } GL.glEnd(); }
void DrawMirror(bool screen) { GL.glTranslatef(0f, 0f, -30f); GL.glBegin(GL.GL_QUADS); //!!! for blended REFLECTION float mirrorhight = 3; float mirrorwidth = 15; if (screen) { GL.glColor4d(0.0, 0.0, 0.6, 0.4); } else { GL.glColor4d(1, 1, 1, 0); } GL.glVertex3f(0, 0, 0); GL.glVertex3f(0, 0, mirrorwidth); GL.glVertex3f(0, mirrorhight, mirrorwidth); GL.glVertex3f(0, mirrorhight, 0); GL.glEnd(); GL.glTranslatef(0f, 0f, 30f); }
void DrawGrid(float gridsize) { //floor texture GL.glEnable(GL.GL_TEXTURE_2D); GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); GL.glBegin(GL.GL_QUADS); GL.glColor3f(1f, 1f, 1f);//white clear //left side GL.glNormal3f(0.0f, 1.0f, 0.0f); GL.glTexCoord2f(0, 0); GL.glVertex3f(0, 0, 0); GL.glTexCoord2f(0, 1); GL.glVertex3f(-gridsize, 0, 0); GL.glTexCoord2f(1f, 1f); GL.glVertex3f(-gridsize, 0, -gridsize * 2); GL.glTexCoord2f(1f, 0); GL.glVertex3f(0, 0, -gridsize * 2); //right side GL.glNormal3f(0.0f, 1.0f, 0.0f); GL.glTexCoord2f(0, 0); GL.glVertex3f(0, 0, 0); GL.glTexCoord2f(0, 1); GL.glVertex3f(gridsize, 0, 0); GL.glTexCoord2f(1f, 1f); GL.glVertex3f(gridsize, 0, -gridsize * 2); GL.glTexCoord2f(1f, 0); GL.glVertex3f(0, 0, -gridsize * 2); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); }
private void drawCubeAndPasteTexture(float i_Height) { GL.glBegin(GL.GL_QUADS); GL.glColor3f(1.0f, 1.0f, 1.0f); // bug fix //Back side GL.glTexCoord2f(0.25f, 0.0f); GL.glVertex3f(0.0f, 0.0f + i_Height, 0.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, 0.0f + i_Height, 0.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f + i_Height, 0.0f); GL.glTexCoord2f(0.25f, 1.0f); GL.glVertex3f(0.0f, 1.0f + i_Height, 0.0f); //Left side GL.glTexCoord2f(0.25f, 0.0f); GL.glVertex3f(0.0f, 0.0f + i_Height, 0.0f); GL.glTexCoord2f(0.5f, 0.0f); GL.glVertex3f(0.0f, 0.0f + i_Height, 1.0f); GL.glTexCoord2f(0.5f, 1.0f); GL.glVertex3f(0.0f, 1.0f + i_Height, 1.0f); GL.glTexCoord2f(0.25f, 1.0f); GL.glVertex3f(0.0f, 1.0f + i_Height, 0.0f); //Right side GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, 0.0f + i_Height, 0.0f); GL.glTexCoord2f(0.75f, 0.0f); GL.glVertex3f(1.0f, 0.0f + i_Height, 1.0f); GL.glTexCoord2f(0.75f, 1.0f); GL.glVertex3f(1.0f, 1.0f + i_Height, 1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f + i_Height, 0.0f); //FrontSide GL.glTexCoord2f(0.5f, 0.0f); GL.glVertex3f(0.0f, 0.0f + i_Height, 1.0f); GL.glTexCoord2f(0.75f, 0.0f); GL.glVertex3f(1.0f, 0.0f + i_Height, 1.0f); GL.glTexCoord2f(0.75f, 1.0f); GL.glVertex3f(1.0f, 1.0f + i_Height, 1.0f); GL.glTexCoord2f(0.5f, 1.0f); GL.glVertex3f(0.0f, 1.0f + i_Height, 1.0f); GL.glEnd(); }
void DrawGrid(float gridsize, bool sky) { float h = 0; //floor texture GL.glEnable(GL.GL_TEXTURE_2D); if (sky) { GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[6]); } else { GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); } GL.glBegin(GL.GL_QUADS); GL.glColor3f(1f, 1f, 1f);//white clear //left side if (sky) { h = 10; GL.glNormal3f(0.0f, -1.0f, 0.0f); } else { GL.glNormal3f(0.0f, 1.0f, 0.0f); } GL.glTexCoord2f(0, 0); GL.glVertex3f(0, h, 0); GL.glTexCoord2f(0, 1); GL.glVertex3f(-gridsize, h, 0); GL.glTexCoord2f(1f, 1f); GL.glVertex3f(-gridsize, h, -gridsize * 2); GL.glTexCoord2f(1f, 0); GL.glVertex3f(0, h, -gridsize * 2); //right side if (sky) { GL.glNormal3f(0.0f, -1.0f, 0.0f); } else { GL.glNormal3f(0.0f, 1.0f, 0.0f); } GL.glTexCoord2f(0, 0); GL.glVertex3f(0, h, 0); GL.glTexCoord2f(0, 1); GL.glVertex3f(gridsize, h, 0); GL.glTexCoord2f(1f, 1f); GL.glVertex3f(gridsize, h, -gridsize * 2); GL.glTexCoord2f(1f, 0); GL.glVertex3f(0, h, -gridsize * 2); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); }
public void Draw() { GL.glBegin(GL.GL_LINES); GL.glColor3f(color.R, color.G, color.B); GL.glVertex3f(v1.X, v1.Y, v1.Z); GL.glVertex3f(v2.X, v2.Y, v2.Z); ApplyTransformation(); GL.glEnd(); }
void DrawTexturedCube() { float big = 1.0f; float small = big; // front GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[0]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-big, -big, big); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(big, -big, big); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(big, big, big); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-big, big, big); GL.glEnd(); // back GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[1]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(small, -small, -small); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-small, -small, -small); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-small, small, -small); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(small, small, -small); GL.glEnd(); // left GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[2]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-small, -small, -small); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-big, -big, big); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-big, big, big); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-small, small, -small); GL.glEnd(); // right GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[3]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(big, -big, big); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(small, -small, -small); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(small, small, -small); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(big, big, big); GL.glEnd(); // top GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[4]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-big, big, big); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(big, big, big); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(small, small, -small); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-small, small, -small); GL.glEnd(); // bottom GL.glBindTexture(GL.GL_TEXTURE_2D, cubeMapTextures[5]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-small, -small, -small); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(small, -small, -small); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(big, -big, big); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-big, -big, big); GL.glEnd(); }
public void Draw() { GL.glEnable(GL.GL_LIGHTING); GL.glBegin(GL.GL_QUADS); //!!! for blended REFLECTION GL.glColor4d(0, 0, 1, 0.5); GL.glVertex3d(-3, -3, 0); GL.glVertex3d(-3, 3, 0); GL.glVertex3d(3, 3, 0); GL.glVertex3d(3, -3, 0); GL.glEnd(); }
void DrawFloor() { GL.glEnable(GL.GL_LIGHTING); GL.glBegin(GL.GL_QUADS); //!!! for blended REFLECTION GL.glColor4d(0, 0, 1, 0.5); GL.glVertex3d(-1, -1, 0); GL.glVertex3d(-1, 1, 0); GL.glVertex3d(1, 1, 0); GL.glVertex3d(1, -1, 0); GL.glEnd(); }
//! TEXTURE CUBE b //Draws our textured cube, VERY simple. Notice that the faces are constructed //in a counter-clockwise order. If they were done in a clockwise order you would //have to use the glFrontFace() function. void DrawTexturedCube() { // front GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-40.0f, -40.0f, 40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(40.0f, -40.0f, 40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(40.0f, 40.0f, 40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-40.0f, 40.0f, 40.0f); GL.glEnd(); // back GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[1]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-40.0f, 40.0f, -40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(40.0f, 40.0f, -40.0f); GL.glEnd(); // left GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[2]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-40.0f, -40.0f, 40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-40.0f, 40.0f, 40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-40.0f, 40.0f, -40.0f); GL.glEnd(); // right GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[3]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(40.0f, -40.0f, 40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(40.0f, 40.0f, -40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(40.0f, 40.0f, 40.0f); GL.glEnd(); // top GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[4]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-40.0f, 40.0f, 40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(40.0f, 40.0f, 40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(40.0f, 40.0f, -40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-40.0f, 40.0f, -40.0f); GL.glEnd(); // bottom GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[5]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(40.0f, -40.0f, -40.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(40.0f, -40.0f, 40.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-40.0f, -40.0f, 40.0f); GL.glEnd(); }
void DrawTexturedCube() { GL.glEnable(GL.GL_TEXTURE_2D); GL.glDisable(GL.GL_BLEND); GL.glColor3d(1, 1, 1); GL.glDisable(GL.GL_LIGHTING); // front GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(300.0f, -0.01f, 300.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-300.0f, -0.01f, 300.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-300.0f, 300.0f, 300.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(300.0f, 300.0f, 300.0f); GL.glEnd(); // back GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[0]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-300.0f, -0.01f, -300.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(300.0f, -0.01f, -300.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(300.0f, 300.0f, -300.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-300.0f, 300.0f, -300.0f); GL.glEnd(); // left GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[2]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-300.0f, -0.01f, 300.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-300.0f, -0.01f, -300.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-300.0f, 300.0f, -300.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-300.0f, 300.0f, 300.0f); GL.glEnd(); // right GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[3]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(300.0f, -0.01f, -300.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(300.0f, -0.01f, 300.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(300.0f, 300.0f, 300.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(300.0f, 300.0f, -300.0f); GL.glEnd(); // top GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[4]); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-300.0f, 300.0f, -300.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(300.0f, 300.0f, -300.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(300.0f, 300.0f, 300.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-300.0f, 300.0f, 300.0f); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); GL.glEnable(GL.GL_BLEND); }
public void Drawfloor() { GL.glPushMatrix(); GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glTranslatef(0, -0.001f, 0); GL.glBegin(GL.GL_QUADS); GL.glNormal3f(0, 1, 0); GL.glVertex3f(-100, 0, -100); GL.glVertex3f(-100, 0, 100); GL.glVertex3f(100, 0, 100); GL.glVertex3f(100, 0, -100); GL.glEnd(); GL.glPopMatrix(); }
void drawStar(Star star, bool isForShade) { if (star.toDraw == true) { GL.glPushMatrix(); GL.glTranslatef(0f, 0f, 1f); GL.glTranslatef(star.X + (float)xExisOrigin, star.Y + (float)yExisOrigin, 3 - Math.Abs(2f * (float)Math.Cos(ballZMovement))); GL.glRotatef(ballZtranslate, 0, 0, 1f); if (!isForShade) { GL.glEnable(GL.GL_TEXTURE_2D); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[6]); GL.glEnable(GL.GL_TEXTURE_GEN_S); GL.glEnable(GL.GL_TEXTURE_GEN_T); GL.glTexGeni(GL.GL_S, GL.GL_TEXTURE_GEN_MODE, (int)GL.GL_SPHERE_MAP); GL.glTexGeni(GL.GL_T, GL.GL_TEXTURE_GEN_MODE, (int)GL.GL_SPHERE_MAP); } else { GL.glColor3d(0.2, 0.2, 0.2); } for (int i = 0; i < 5; i++) { GL.glRotatef(72, 1, 0, 0); GL.glBegin(GL.GL_QUADS); GL.glVertex3f(0f, 0f, 0); GL.glVertex3f(0f, (float)Math.Sin(36), 1); GL.glVertex3f(0f, 0, 3f); GL.glVertex3f(0f, -(float)Math.Sin(36), 1); GL.glEnd(); } if (!isForShade) { GL.glDisable(GL.GL_TEXTURE_GEN_S); GL.glDisable(GL.GL_TEXTURE_GEN_T); GL.glDisable(GL.GL_TEXTURE_2D); } GL.glPopMatrix(); } }
protected void DrawRoom() { GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glEnable(GL.GL_TEXTURE_2D); GL.glBindTexture(GL.GL_TEXTURE_2D, texture[0]); GL.glDisable(GL.GL_LIGHTING); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2d(1, 1); GL.glVertex3d(-100, 100, 100); GL.glTexCoord2d(0.75, 1); GL.glVertex3d(100, 100, 100); GL.glTexCoord2d(0.75, 0); GL.glVertex3d(100, -100, 100); GL.glTexCoord2d(1, 0); GL.glVertex3d(-100, -100, 100); GL.glTexCoord2d(0.25, 1); GL.glVertex3d(-100, 100, -100); GL.glTexCoord2d(0.5, 1); GL.glVertex3d(100, 100, -100); GL.glTexCoord2d(0.5, 0); GL.glVertex3d(100, -100, -100); GL.glTexCoord2d(0.25, 0); GL.glVertex3d(-100, -100, -100); GL.glTexCoord2d(0.25, 1); GL.glVertex3d(-100, 100, -100); GL.glTexCoord2d(0, 1); GL.glVertex3d(-100, 100, 100); GL.glTexCoord2d(0, 0); GL.glVertex3d(-100, -100, 100); GL.glTexCoord2d(0.25, 0); GL.glVertex3d(-100, -100, -100); GL.glTexCoord2d(0.75, 1); GL.glVertex3d(100, 100, 100); GL.glTexCoord2d(0.5, 1); GL.glVertex3d(100, 100, -100); GL.glTexCoord2d(0.5, 0); GL.glVertex3d(100, -100, -100); GL.glTexCoord2d(0.75, 0); GL.glVertex3d(100, -100, 100); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); }
public void DrawWithTexture(int multMirrorPicture, bool isFrontOrbackWall) { // multMirrorPicture == -1 : mirror pictures uint swapPictures = 0; // if swapPictures == 0 picture left = picture right if (multMirrorPicture == -1) { swapPictures = 1; } else { swapPictures = 0; } if (isFrontOrbackWall) { if (this.textureId == 12) { GL.glBindTexture(GL.GL_TEXTURE_2D, this.textureId + swapPictures); } else if (this.textureId == 13) { GL.glBindTexture(GL.GL_TEXTURE_2D, this.textureId - swapPictures); } } else { GL.glBindTexture(GL.GL_TEXTURE_2D, this.textureId); } GL.glBegin(GL.GL_QUADS); if (isFrontOrbackWall) { GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(multMirrorPicture * v1.X, v1.Y, v1.Z); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(multMirrorPicture * v2.X, v2.Y, v2.Z); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(multMirrorPicture * v3.X, v3.Y, v3.Z); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(multMirrorPicture * v4.X, v4.Y, v4.Z); } else { GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(v1.X, v1.Y, multMirrorPicture * v1.Z); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(v2.X, v2.Y, multMirrorPicture * v2.Z); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(v3.X, v3.Y, multMirrorPicture * v3.Z); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(v4.X, v4.Y, multMirrorPicture * v4.Z); } GL.glEnd(); }
protected void DrawFloor() { GL.glEnable(GL.GL_LIGHTING); GL.glEnable(GL.GL_COLOR_MATERIAL); GL.glColor4d(0, 0, 1, 0.3); GL.glBegin(GL.GL_QUADS); GL.glVertex3d(-7, -4, 7); GL.glVertex3d(7, -4, 7); GL.glVertex3d(7, -4, -7); GL.glVertex3d(-7, -4, -7); GL.glEnd(); GL.glDisable(GL.GL_LIGHTING); }
void DrawAxes(Color xColor, Color yColor, Color zColor) { GL.glBegin(GL.GL_LINES); //x GL.glColor3f(xColor.R, xColor.G, xColor.B); GL.glVertex3f(-3.0f, 0.0f, 0.0f); GL.glVertex3f(3.0f, 0.0f, 0.0f); //y GL.glColor3f(yColor.R, yColor.G, yColor.B); GL.glVertex3f(0.0f, -3.0f, 0.0f); GL.glVertex3f(0.0f, 3.0f, 0.0f); //z GL.glColor3f(zColor.R, zColor.G, zColor.B); GL.glVertex3f(0.0f, 0.0f, -3.0f); GL.glVertex3f(0.0f, 0.0f, 3.0f); GL.glEnd(); }
public void drawaxe() { GL.glBegin(GL.GL_LINES); //x RED GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(150.0f, 0.0f, 0.0f); //y GREEN GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 150.0f, 0.0f); //z BLUE GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glVertex3f(0.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 0.0f, 150.0f); GL.glEnd(); }
/********************************************************************************************************** * * * * Draw scene components.Axes,lake,light,floor and textures. * * * **********************************************************************************************************/ void DrawAxes() { GL.glBegin(GL.GL_LINES); //x RED GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glVertex3f(-3.0f, 0.0f, 0.0f); GL.glVertex3f(3.0f, 0.0f, 0.0f); //y GREEN GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(0.0f, -3.0f, 0.0f); GL.glVertex3f(0.0f, 3.0f, 0.0f); //z BLUE GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glVertex3f(0.0f, 0.0f, -3.0f); GL.glVertex3f(0.0f, 0.0f, 3.0f); GL.glEnd(); }
private static void RecordItem(float[] n1, float[] n2, float[] n3, uint shadeType) { float[] q0 = new float[3]; float[] q1 = new float[3]; DIFF3(n1, n2, q0); DIFF3(n2, n3, q1); CrossProduct(q0, q1, q1); Normalize(q1); GL.glBegin(shadeType); GL.glNormal3fv(q1); GL.glVertex3fv(n1); GL.glVertex3fv(n2); GL.glVertex3fv(n3); GL.glEnd(); }
private void drawInvertedPyramid() { GL.glBegin(GL.GL_TRIANGLES); //1 GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glVertex3f(0.0f, 0.5f, 0.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.0f, 0.5f, 1.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.5f, 0.0f, 0.5f); // 2 GL.glColor3f(0.0f, 1.0f, 0.0f); GL.glVertex3f(0.0f, 0.5f, 0.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(1.0f, 0.5f, 0.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.5f, 0.0f, 0.5f); // 3 GL.glColor3f(0.0f, 0.0f, 1.0f); GL.glVertex3f(1.0f, 0.5f, 1.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.0f, 0.5f, 1.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.5f, 0.0f, 0.5f); // 4 GL.glColor3f(1.0f, 0.5f, 1.0f); GL.glVertex3f(1.0f, 0.5f, 1.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(1.0f, 0.5f, 0.0f); GL.glColor3f(1.0f, 1.0f, 1.0f); GL.glVertex3f(0.5f, 0.0f, 0.5f); GL.glEnd(); }
void DrawBounds() { if (isBounds) { GL.glScalef(0.99f, 0.99f, 0.99f); GL.glLineWidth(2); GL.glColor3f(1.0f, 0.0f, 0.0f); GL.glDisable(GL.GL_LIGHTING); GL.glBegin(GL.GL_LINE_LOOP); GL.glVertex3f(-1, -1, -1); GL.glVertex3f(1, -1, -1); GL.glVertex3f(1, -1, 1); GL.glVertex3f(-1, -1, 1); GL.glEnd(); GL.glBegin(GL.GL_LINE_LOOP); GL.glVertex3f(-1, 1, -1); GL.glVertex3f(1, 1, -1); GL.glVertex3f(1, 1, 1); GL.glVertex3f(-1, 1, 1); GL.glEnd(); GL.glBegin(GL.GL_LINES); GL.glVertex3f(-1, -1, -1); GL.glVertex3f(-1, 1, -1); GL.glVertex3f(1, -1, -1); GL.glVertex3f(1, 1, -1); GL.glVertex3f(1, -1, 1); GL.glVertex3f(1, 1, 1); GL.glVertex3f(-1, -1, 1); GL.glVertex3f(-1, 1, 1); GL.glEnd(); GL.glScalef(1.0f / 0.99f, 1.0f / 0.99f, 1.0f / 0.99f); } GL.glEnable(GL.GL_COLOR_MATERIAL); GL.glEnable(GL.GL_LIGHTING); GL.glEnable(GL.GL_LIGHT0); GL.glTranslatef(0.1f, 0.2f, -0.7f); GL.glColor3f(0, 1, 0); GLU.gluSphere(obj, 0.05, 16, 16); GL.glTranslatef(-0.1f, -0.2f, 0.7f); GL.glDisable(GL.GL_LIGHTING); }
public void createLeafList() { GL.glNewList(LEAF_LIST + currentTree, GL.GL_COMPILE); GL.glBegin(GL.GL_TRIANGLES); GL.glNormal3f(-0.1f, 0, leafScale); GL.glVertex3f(0, 0, 0); GL.glVertex3f(leafScale, leafScale, 0.1f); GL.glVertex3f(0, leafScale * 2, 0); GL.glNormal3f(0.1f, 0, leafScale); GL.glVertex3f(0, 0, 0); GL.glVertex3f(0, leafScale * 2, 0); GL.glVertex3f(leafScale, leafScale, 0.1f); GL.glEnd(); GL.glEndList(); }
void drawFloorTextured() { GL.glEnable(GL.GL_TEXTURE_2D); GL.glDisable(GL.GL_BLEND); GL.glColor3d(1, 1, 1); GL.glDisable(GL.GL_LIGHTING); GL.glBindTexture(GL.GL_TEXTURE_2D, Textures[5]); GL.glBegin(GL.GL_QUADS); GL.glNormal3f(0, 1, 0); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-200, -0.01f, 200); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(200, -0.01f, 200); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(200, -0.01f, -200); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-200, -0.01f, -200); GL.glEnd(); GL.glDisable(GL.GL_TEXTURE_2D); GL.glEnable(GL.GL_BLEND); GL.glEnable(GL.GL_LIGHTING); }