void mouseRotateCube() { double d = 0.5; byte[] raster = new byte[128]; // Rastert die Fronflaeche des Wuerfels // Initialisieren mit 01010101... // 10101010... GL.glColor3f(0.5f, 0.5f, 0.3f); GLUT.glutWireCube(2.0 * d); for (int i = 0; i < 128; i++) { raster[i] = ((i / 4) % 2 != 0) ? (byte)85 : (byte)170; } GL.glPolygonStipple(raster); GL.glEnable(GL.GL_POLYGON_STIPPLE); GL.glBegin(GL.GL_QUADS); GL.glVertex3d(-d, -d, d); GL.glVertex3d(-d, d, d); GL.glVertex3d(d, d, d); GL.glVertex3d(d, -d, d); GL.glEnd(); GL.glDisable(GL.GL_POLYGON_STIPPLE); }
public void gelenk() { //Gelenk zeichnen GL.glTranslated(0.0, 0.0, 0.0); GL.glRotated(0, 0, 1, 0); GL.glColor3f(1.0f, 1.0f, 1.0f); GLUT.glutWireSphere(0.1, 100, 150); }
public void renderScene() { GL.Enable(GL_DEPTH_TEST); // Clear Color and Depth Buffers GL.Clear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); GL.ClearColor(0.5, 0.5, 0.5, 1.0); // background is gray | ONLY takes 2 Overloads // Reset transformations GL.LoadIdentity(); // Set the camera gluLookAt(0.0f, 0.0f, 10.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); // Enable lighting GL.Enable(GL_LIGHTING); GL.Enable(GL_LIGHT0); GL.Enable(GL_COLOR_MATERIAL); // draw bbx drawBBX(); // draw yPlane GL.LineWidth(2); GL.Begin(GL_LINES); //draw the yPlane GL.Vertex3(-4.0f, yPlane, 0.0f); GL.Vertex3(4.0f, yPlane, 0.0f); GL.End(); //draw the ball(s) //ball.Draw(); DrawAllBalls(); Target.DrawALLBalls(); //draw the cannon //double cX; //<<next 3 lines, for 2d //double cY; //getCannonEndPts(angle1,cX,cY); double cX; double cY; double cZ; getCannonEndPts3D(angle1, angle2, cX, cY, cZ); GL.Color3(0, 0, 1); GL.LineWidth(2); GL.Begin(GL_LINES); //draw the yPlane GL.Vertex3(cannon.GetX(), cannon.GetY(), cannon.GetZ()); GL.Vertex3(cX, cY, cZ); GL.End(); //ball.Update(dt); UpdateAllBalls(); Target.Update(head); GLUT.glutSwapBuffers(); }
public void abrissbirne() { //Abrissbirne zeichnen GL.glTranslated(0.0, 0.0, targetRopeLength); GL.glRotated(0, 0, 0, 0); GL.glColor3f(0.0f, 0.0f, 0.0f); GLUT.glutWireSphere(0.1, 100, 150); //GLUT.glutWireSphere(targetBowlDiameter, 100, 150); }
public void DrawLightSource(float [] rgb) { //Draw Light Source GL.glDisable(GL.GL_LIGHTING); GL.glTranslatef(X, Y, Z); //Yellow Light source GL.glColor3f(rgb[0], rgb[1], rgb[2]); GLUT.glutSolidSphere(0.9, 10, 10); GL.glTranslatef(-X, -Y, -Z); }
public void drawSelf() { GL.glPushMatrix(); GL.glTranslatef(posX, posY, posZ); GL.glColor3f(0.0f, 0.0f, 0.0f); GLUT.glutSolidSphere(bulletsize, 8, 8); GL.glPopMatrix(); }
public Teapot(GLUT glut, double scale) { this.glut = glut; gl = glut.gl; display_list = gl.gen_lists(1); gl.new_list(display_list, GL.COMPILE); glut.solid_teapot(scale); gl.end_list(); }
public void DrawLightSource() { GL.glPushMatrix(); GL.glDisable(GL.GL_LIGHTING); GL.glColor3f(1, 1, 1); GL.glTranslatef(this.X, this.Y, this.Z); GLUT.glutSolidSphere(1, 64, 64); GL.glEnable(GL.GL_LIGHTING); GL.glPopMatrix(); }
public void drawSelf() { GL.glPushMatrix(); GL.glTranslatef(posX, posY, posZ); if (type == 2) { if (lazersize < 10) { lazersize += 0.2f; } GL.glColor3f(0.7f, 0.7f, 1.0f); GL.glRotatef(rotation, 0.0f, 1.0f, 0.0f); GLU.gluCylinder(obj, bulletsize, bulletsize, lazersize, 8, 8); } else { GL.glColor3f(0.0f, 0.0f, 0.0f); GLUT.glutSolidSphere(bulletsize, 8, 8); } GL.glPopMatrix(); }
public override void DrawSolidSphere(double radius, int slices, int stacks) { GLUT.glutSolidSphere(radius, slices, stacks); }
/// <summary> /// Zeichnet die Objekte /// </summary> public void draw() { // Verschieben des Koordinatensystems um -6 in Z-Richtung // also "nach hinten" // und kippen nach Oben GL.glTranslated(0.0, 0.0, -6.0); //--------------- //BLAUER ZYLINDER1 //Vorgabe der Perspektive (90° auf die X-Achse) für das im folgenden erzeugte Objekt GL.glRotated(90, 1, 0, 0); //lässt den Zylinder (blau) rotieren mithilfe des Schiebereglers GL.glRotated(targetAngle, 0, 0, 1); // Zylinderobjekt erzeugen GLUquadric zylinder = GL.gluNewQuadric(); // Zeicheneigenschaften einstellen: // Drahtgittermodell GLU.gluQuadricDrawStyle(zylinder, GLU.GLU_LINE); // ab jetzt in blau zeichnen GL.glColor3f(0.0f, 0.0f, 1.0f); // Zeichnen des eigentlichen Zylinders // bottom-Durchmesser, top-Durchmesser, Höhe, // Anzahl der Linien-Segmente // Anzahl der Linien in der Höhe GLU.gluCylinder(zylinder, 0.2, 0.2, 2, 200, 100); //--------------- //MAGENTA ZYLINDER2 GL.glTranslated(0.0, 0.0, 0.0); GL.glRotated(120, 0, 1, 0); GL.glColor3f(1.0f, 0.0f, 1.0f); GLUquadric zylinder2 = GL.gluNewQuadric(); GLU.gluCylinder(zylinder2, 0.1, 0.1, 1.5, 20, 10); //GRÜNER ZYLINDER3 GL.glTranslated(0.0, 0.0, 1.5); GL.glRotated(-60, 0, 1, 0); GL.glColor3f(0.0f, 1.0f, 0.0f); GLUquadric zylinder3 = GL.gluNewQuadric(); GLU.gluCylinder(zylinder3, 0.1, 0.1, targetArmLength, 20, 10); //ROTER ZYLINDER4 //GL.glTranslated(0.0, 0.0, targetArmLength); targetArmLength bezieht sich hier auf die Position des Vorgängerobjekts GL.glTranslated(0.0, 0.0, targetArmLength); GL.glRotated(-60, 0, 1, 0); GL.glColor3f(1.0f, 0.0f, 0.0f); GLUquadric zylinder4 = GL.gluNewQuadric(); GLU.gluCylinder(zylinder4, 0.01, 0.01, targetRopeLength, 20, 10); //GELBE KUGEL //GL.glTranslated(0.0, 0.0, targetRopeLength); targetRopeLength bezieht sich hier auf die Position des Vorgängerobjekts GL.glTranslated(0.0, 0.0, targetRopeLength); GL.glRotated(0, 0, 0, 0); GL.glColor3f(1.0f, 1.00f, 0.00f); GLUT.glutWireSphere(targetBowlDiameter, 100, 150); }