// // Created by trotfunky on 24/09/2019. // #include "displayers.h" void display_pyramid(float x, float y, float z, float c, float h) { glBegin(GL_TRIANGLES); // First side glColor3f(1,0,0); // Summit glVertex3f(x,y+h,z); glVertex3f(x+c/2,y,z+c/2); glVertex3f(x-c/2,y,z+c/2); // Second side glColor3f(0,1,0); glVertex3f(x,y+h,z); glVertex3f(x+c/2,y,z+c/2); glVertex3f(x+c/2,y,z-c/2); // Third side glColor3f(0,0,1); glVertex3f(x,y+h,z); glVertex3f(x-c/2,y,z+c/2); glVertex3f(x-c/2,y,z-c/2); // Fourth side glColor3f(1,1,0); glVertex3f(x,y+h,z); glVertex3f(x-c/2,y,z-c/2); glVertex3f(x+c/2,y,z-c/2); glEnd(); // Bottom glBegin(GL_QUADS); glColor3f(0,1,1); glVertex3f(x-c/2,y,z-c/2); glVertex3f(x-c/2,y,z+c/2); glVertex3f(x+c/2,y,z+c/2); glVertex3f(x+c/2,y,z-c/2); glEnd(); } void display_rotating_pyramid(float x, float y, float z, float c, float h, float alpha) { glPushMatrix(); glTranslatef(x,0,z); glRotatef(alpha,0,1,0); glTranslatef(-x,0,-z); display_pyramid(x,y,z,c,h); glPopMatrix(); } void display_tree(float x, float y, float z, float h, float w) { glBegin(GL_QUADS); glVertex3f(x+w/2,y,z); glVertex3f(x-w/2,y,z); glVertex3f(x-w/2,y+h,z); glVertex3f(x+w/2,y+h,z); glVertex3f(x,y,z+w/2); glVertex3f(x,y,z-w/2); glVertex3f(x,y+h,z-w/2); glVertex3f(x,y+h,z+w/2); glEnd(); }