Refactored project structure
- Test project is now separated from engine code - Engine code can now initialize OpenGL and GLUT correctly - Moved vectors and quaternions to a Math subdirectory Fixed reorder warning
This commit is contained in:
parent
70f76d8030
commit
2bff38edcb
14 changed files with 155 additions and 101 deletions
|
@ -1,102 +0,0 @@
|
|||
//
|
||||
// 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, const Texture& tree_texture)
|
||||
{
|
||||
glEnable(GL_ALPHA_TEST);
|
||||
|
||||
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
|
||||
glBindTexture(GL_TEXTURE_2D,tree_texture.opengl_id[0]);
|
||||
|
||||
glColor4f(1.0f, 1.0f, 1.0f,1.00);
|
||||
glBegin(GL_QUADS);
|
||||
|
||||
// First rectangle
|
||||
glTexCoord2f(1,0);
|
||||
glVertex3f(x+w/2,y,z);
|
||||
|
||||
glTexCoord2f(0,0);
|
||||
glVertex3f(x-w/2,y,z);
|
||||
|
||||
glTexCoord2f(0,1);
|
||||
glVertex3f(x-w/2,y+h,z);
|
||||
|
||||
glTexCoord2f(1,1);
|
||||
glVertex3f(x+w/2,y+h,z);
|
||||
|
||||
// Second rectangle
|
||||
glTexCoord2f(1,0);
|
||||
glVertex3f(x,y,z+w/2);
|
||||
|
||||
glTexCoord2f(0,0);
|
||||
glVertex3f(x,y,z-w/2);
|
||||
|
||||
glTexCoord2f(0,1);
|
||||
glVertex3f(x,y+h,z-w/2);
|
||||
|
||||
glTexCoord2f(1,1);
|
||||
glVertex3f(x,y+h,z+w/2);
|
||||
|
||||
glEnd();
|
||||
|
||||
glDisable(GL_ALPHA_TEST);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue