private glVertex3d ( double x, double y, double z ) : void | ||
x | double | |
y | double | |
z | double | |
return | void |
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 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); }
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(); }
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); }
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 DrawFiguresRef() { GL.glPushMatrix(); // must be in scene to be reflected too GL.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, pos); //Draw Light Source GL.glDisable(GL.GL_LIGHTING); GL.glTranslatef(pos[0], pos[1], pos[2]); //Yellow Light source GL.glColor3f(1, 1, 0); GL.glTranslatef(-pos[0], -pos[1], -pos[2]); //projection line from source to plane GL.glBegin(GL.GL_LINES); GL.glColor3d(0.5, 0.5, 0); GL.glVertex3d(pos[0], pos[1], 0); GL.glVertex3d(pos[0], pos[1], pos[2]); GL.glEnd(); GL.glEnable(GL.GL_LIGHTING); GL.glRotated(intOptionB, 0, 0, 1); GL.glColor3f(1, 0, 0); GL.glTranslated(0, -0.5, 1); GL.glRotated(intOptionC, 1, 1, 1); GL.glRotated(-intOptionC, 1, 1, 1); GL.glTranslated(0, -0.5, -1); GL.glTranslated(1, 2, 1.5); GL.glRotated(90, 1, 0, 0); GL.glColor3d(0, 1, 1); GL.glRotated(intOptionB, 1, 0, 0); GL.glRotated(-intOptionB, 1, 0, 0); GL.glRotated(-90, 1, 0, 0); GL.glTranslated(-1, -2, -1.5); GL.glRotated(intOptionB, 0, 0, 1); GL.glPopMatrix(); }
void drawground() { { GL.glBindTexture(GL.GL_TEXTURE_2D, TextureGround[0]); GL.glNormal3f(0.0f, -1.0f, 0.0f); GL.glBegin(GL.GL_QUADS); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3d(-20, -20, ground[0, 2] - 0.05); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3d(-20, 20, ground[0, 2] - 0.05); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3d(20, 20, ground[0, 2] - 0.05); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3d(20, -20, ground[0, 2] - 0.05); GL.glColor3f(0, 0, 0); GL.glEnd(); } }
void DrawFloor3() { float[] WHITE = { 1f, 1f, 1f }; float[] RED = { 1, 0, 0 }; float[] GREEN = { 0, 1, 0 }; float[] MAGENTA = { 1, 0, 1 }; int width = 45; int depth = 45; GL.glEnable(GL.GL_LIGHTING); GL.glBegin(GL.GL_QUADS); for (int x = -width; x < width; x += 2) { for (int z = -depth; z < depth; z += 2) { if ((x + z) % 4 == 0) { GL.glColor4d(1, 0, 0, 0.5); } else { GL.glColor4d(1, 1, 1, 0.5); } GL.glVertex3d(x + hghg + xExis, z + yExis, ground[0, 2] - 0.05); GL.glVertex3d(x + hghg + 2 + xExis, z + yExis, ground[0, 2] - 0.05); GL.glVertex3d(x + 2 + hghg + xExis, z + 2 + yExis, ground[0, 2] - 0.05); GL.glVertex3d(x + hghg + xExis, z + 2 + yExis, ground[0, 2] - 0.05); } } GL.glEnd(); }
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(); }