AGL  0
3D graphics library
shapes.h File Reference
Include dependency graph for shapes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 agl
 

Functions

Entity tetrahedron ()
 Create a tetrahedron. More...
 
Entity cube (bool calcNorm=false, bool calcUV=false)
 Create a cube. More...
 
Entity cuboid (float x=2, float y=2, float z=2, bool calcNorm=false, bool calcUV=false)
 Create a cuboid. More...
 
Entity octahedron ()
 Create an octahedron. More...
 
Entity dodecahedron ()
 Create a dodecahedron. More...
 
Entity icosahedron ()
 Create an icosahedron. More...
 
Entity sphere (int lat=20, int lng=20, bool calcNorm=false, bool calcUV=false)
 Create a unit sphere. More...
 
Entity icosphere (int subdivision=3, bool calcNorm=false)
 Create a unit sphere. More...
 
Entity cylinder (float r=1, float h=2, int strips=20)
 Create a cylinder. More...
 
Entity plane (float x=2, float z=2, bool calcNorm=false, bool calcUV=false)
 Create a plane on the xz-plane. More...
 
Entity tessellatedPlane (int l=10, int h=10)
 Create a plane on the xz-plane. More...
 
void normalizeVertices (Entity &e, float t=1)
 Normalize all vertices of e. More...
 
void subdivideFaces (Entity &e)
 Subdivide all faces of e. More...
 
void calcNormals (Entity &e, bool perFace=false)
 Calculates the normals for the Entity algorithmically. More...
 
void calcTextureCoords (Entity &e, glm::vec3 px=glm::vec3(.5, 0,.5), glm::vec3 py=glm::vec3(.5,.5, 0), bool normalize=false)
 Calculates texture coordinates for the Entity algorithmically. More...
 
std::vector< GLuint > triangulatePolygon (const std::vector< GLuint > &polygon)
 Triangulates polygons with 3+ vertices. More...