dorbird

DrawPyramid

Mar 17th, 2015
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. void DrawPyramid(Vec3 P0,double a,double b,double h){
  2.     //punkte um den ursprungerzeugen
  3.     Vec3 P1=new Vec3(-a/2,-b/2,  0);
  4.     Vec3 P2=new Vec3( a/2,-b/2,  0);
  5.     Vec3 P3=new Vec3( a/2, b/2,  0);
  6.     Vec3 P4=new Vec3(-a/2, b/2,  0);
  7.     Vec3 P5=new Vec3(   0,   0,  h);
  8.     Vec3 normal=new Vec3&(0,0,1);
  9.     //punkte zum gewünschten ort verschieben
  10.     P1=P1+P0;
  11.     P2=P2+P0;
  12.     P3=P3+P0;
  13.     P4=P4+P0;
  14.     P5=P5+P0;
  15.     //die vierdreiecke zeichenen
  16.     glBegin(GL_TRIANGLES);  // Start Drawing A Triangle
  17.     glNormal3dv(normal.p);      // Set Top Point Of Triangle To Red  TODO
  18.     glVertex3dv(P5.p);      // First Point Of The Triangle
  19.     glVertex3dv(P1.p);      // Second Point Of The Triangle
  20.     glVertex3dv(P2.p);      // Third Point Of The Triangle
  21.     glEnd();
  22.  
  23.     glBegin(GL_TRIANGLES);  // Start Drawing A Triangle
  24.     glNormal3dv(normal.p);      // Set Top Point Of Triangle To Red  TODO
  25.     glVertex3dv(P5.p);      // First Point Of The Triangle
  26.     glVertex3dv(P2.p);      // Second Point Of The Triangle
  27.     glVertex3dv(P3.p);      // Third Point Of The Triangle
  28.     glEnd();
  29.  
  30.     glBegin(GL_TRIANGLES);  // Start Drawing A Triangle
  31.     glNormal3dv(normal.p);      // Set Top Point Of Triangle To Red  TODO
  32.     glVertex3dv(P5.p);      // First Point Of The Triangle
  33.     glVertex3dv(P3.p);      // Second Point Of The Triangle
  34.     glVertex3dv(P4.p);      // Third Point Of The Triangle
  35.     glEnd();
  36.  
  37.     glBegin(GL_TRIANGLES);  // Start Drawing A Triangle
  38.     glNormal3dv(normal.p);      // Set Top Point Of Triangle To Red  TODO
  39.     glVertex3dv(P5.p);      // First Point Of The Triangle
  40.     glVertex3dv(P4.p);      // Second Point Of The Triangle
  41.     glVertex3dv(P1.p);      // Third Point Of The Triangle
  42.     glEnd();
  43.  
  44.     glBegin(GL_QUADS);
  45.     glNormal3dv(normal.p);
  46.     glVertex3dv(P1.p);
  47.     glVertex3dv(P2.p);
  48.     glVertex3dv(P3.p);
  49.     glVertex3dv(P4.p);
  50.     glEnd();
  51.  
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment