|
PGR Copakond OpenGL Engine - Bowling
|
Base drawable 3D object containing geometry and material data. More...
#include <mesh.h>
Public Member Functions | |
| Mesh () | |
| Mesh (const glm::vec3 &position) | |
| Mesh (const glm::vec3 &position, const glm::vec3 &rotation) | |
| Mesh (const glm::vec3 &position, const glm::vec3 &rotation, const glm::vec3 &scale) | |
| virtual | ~Mesh () |
| void | setVertices (const std::vector< float > &vertices) |
| void | setMaterial (const std::shared_ptr< Material > &material) |
| Applies a material to the entire mesh and all its submeshes. | |
| const std::vector< SubMesh > & | getSubMeshes () const |
| std::shared_ptr< Material > | getMaterial () |
| GLuint | getVao () const |
| GLsizei | getNumVertices () const |
| virtual void | init (GLuint shader) |
| Initializes OpenGL buffers (VAO, VBO) for the mesh. | |
| virtual void | draw (float deltaTime) |
| int | getId () const |
| void | setVertexWave (bool isVertexWave) |
| bool | isVertexWave () const |
| void | hide () |
| void | show () |
| void | setVisible (bool visible) |
| bool | isVisible () const |
| Public Member Functions inherited from copakond::Geometry | |
| Geometry () | |
| Geometry (const glm::vec3 &position) | |
| Geometry (const glm::vec3 &position, const glm::vec3 &rotation) | |
| Geometry (const glm::vec3 &position, const glm::vec3 &rotation, const glm::vec3 &scale) | |
| virtual | ~Geometry () |
| virtual void | setPosition (const glm::vec3 &position) |
| virtual void | setRotation (const glm::vec3 &rotation) |
| virtual void | setScale (const glm::vec3 &scale) |
| virtual void | setRotationDegrees (const glm::vec3 &rotationDegrees) |
| glm::mat4 | getRotationXMatrix () const |
| glm::mat4 | getRotationYMatrix () const |
| glm::mat4 | getRotationZMatrix () const |
| glm::mat4 | getPositionMatrix () const |
| glm::mat4 | getRotationMatrix () const |
| glm::mat4 | getScaleMatrix () const |
| glm::mat4 | getModelMatrix () const |
| Calculates local transformation matrix. | |
| glm::mat4 | getWorldPositionMatrix () const |
| glm::mat4 | getWorldRotationMatrix () const |
| glm::mat4 | getWorldScaleMatrix () const |
| glm::mat4 | getWorldModelMatrix () const |
| Calculates global transformation matrix by multiplying all ancestor matrices. | |
| glm::vec3 | getPosition () const |
| glm::vec3 | getRotation () const |
| glm::vec3 | getScale () const |
| glm::vec3 | getRotationDegrees () const |
| glm::vec3 | getWorldPosition () const |
| glm::vec3 | getWorldRotation () const |
| glm::vec3 | getWorldScale () const |
| glm::vec3 & | position () |
| glm::vec3 & | rotation () |
| glm::vec3 & | scale () |
| glm::vec3 | worldPosition () const |
| glm::vec3 | worldRotation () const |
| glm::vec3 | worldScale () const |
| bool | setParent (Geometry *newParent) |
| Attaches this object to a new parent in the scene graph. | |
| Geometry * | getParent () const |
| std::vector< Geometry * > | getChildren () const |
Protected Member Functions | |
| void | _SetId () |
Protected Attributes | |
| int | id |
| int | _isVertexWave = false |
| bool | _visible = true |
| GLuint | _shaderProgram = 0 |
| GLuint | _vboVertices = 0 |
| GLuint | _vboNormals = 0 |
| GLuint | _vao = 0 |
| GLsizei | _numVertices = 0 |
| std::vector< float > | _vertices = std::vector<float>() |
| std::shared_ptr< Material > | _material = std::make_shared<Material>() |
| std::vector< SubMesh > | _subMeshes |
| Protected Attributes inherited from copakond::Geometry | |
| Geometry * | parent = nullptr |
| std::vector< Geometry * > | children |
| glm::vec3 | _position |
| glm::vec3 | _rotation |
| glm::vec3 | _scale |
Static Protected Attributes | |
| static int | globalMeshCounter = 0 |
Base drawable 3D object containing geometry and material data.
| copakond::Mesh::Mesh | ( | ) |
| copakond::Mesh::Mesh | ( | const glm::vec3 & | position | ) |
| copakond::Mesh::Mesh | ( | const glm::vec3 & | position, |
| const glm::vec3 & | rotation ) |
| copakond::Mesh::Mesh | ( | const glm::vec3 & | position, |
| const glm::vec3 & | rotation, | ||
| const glm::vec3 & | scale ) |
|
virtual |
|
protected |
|
virtual |
Reimplemented in copakond::CollisionShape, copakond::ImageMoving, copakond::ImageSequenceLabel, copakond::ObjMesh, copakond::Skybox, and copakond::TextLabel.
|
inline |
| std::shared_ptr< Material > copakond::Mesh::getMaterial | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Initializes OpenGL buffers (VAO, VBO) for the mesh.
| shader | The compiled shader program ID used to get attribute locations. |
Reimplemented in copakond::CollisionBox, copakond::CollisionSphere, copakond::ImageMoving, copakond::ImageSequenceLabel, copakond::ObjMesh, and copakond::TextLabel.
|
inline |
|
inline |
| void copakond::Mesh::setMaterial | ( | const std::shared_ptr< Material > & | material | ) |
Applies a material to the entire mesh and all its submeshes.
|
inline |
| void copakond::Mesh::setVertices | ( | const std::vector< float > & | vertices | ) |
|
inline |
|
inline |
|
protected |
Flag for procedural vertex animation in shader
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
Used to generate unique IDs for stencil buffer picking
|
protected |