9 #include <assimp/Importer.hpp> 10 #include <assimp/scene.h> 11 #include <assimp/postprocess.h> 24 return glm::distance(a, b) < 0.01;
39 Mesh(
const std::vector<Vertex>& vertices,
const std::vector<GLuint>& indices);
45 GLuint m_VaoID=0, m_VboID=0, m_EboID=0;
65 glm::vec3 leftEye,
rightEye, mouth, nose, chin;
73 void rotate(GLfloat val){ m_RotationAngle = val; }
74 void scale(GLfloat val){ m_ScaleVal = val; }
82 GLuint m_TextureFrontID = 0;
83 GLuint m_TextureSideID = 0;
84 GLuint m_SamplerID = 0;
87 GLuint m_MVPMatrixLocation = 0;
88 GLuint m_TextureFrontSamplerLocation = 0;
89 GLuint m_TextureSideSamplerLocation = 0;
90 GLuint m_ChinVerticalPosLocation = 0;
91 GLuint m_EyeVerticalPosLocation = 0;
92 GLuint m_LEyeTexVerticalPosLocation = 0;
93 GLuint m_REyeTexVerticalPosLocation = 0;
94 GLuint m_ChinTexVerticalPosLocation = 0;
96 GLfloat m_RotationAngle = 0.0f;
97 GLfloat m_ScaleVal = 1.0f;
98 GLfloat m_fx=0, m_fy=0, m_fz=0;
101 void load(
const std::string& path);
102 void processNode(aiNode *node,
const aiScene *scene);
103 Mesh processMesh(aiMesh *mesh,
const aiScene *scene, std::string name);
106 void calcScalingFactors();
109 glm::vec3 moveGenericVertex(
const glm::vec3& genericVertex);
std::string modelPath
Definition: Model.hpp:58
glm::vec4 normal
Definition: Model.hpp:32
glm::vec3 modelDimension
Definition: Model.hpp:62
std::vector< glm::vec3 > allRightEyeVertices
Definition: Model.hpp:68
FaceCoordinates3d m_FaceCoords
Definition: Model.hpp:80
void rotate(GLfloat val)
Definition: Model.hpp:73
void scale(GLfloat val)
Definition: Model.hpp:74
std::string textureFront
Definition: Model.hpp:59
std::vector< GLuint > m_Indices
Definition: Model.hpp:44
glm::vec4 position
Definition: Model.hpp:31
ModelInfo m_ModelInfo
Definition: Model.hpp:79
std::string textureSide
Definition: Model.hpp:60
glm::vec3 rightEye
Definition: Model.hpp:65
std::vector< Vertex > m_Vertices
Definition: Model.hpp:43
bool isInsideEpsBall(const T &a, const T &b)
Definition: Model.hpp:22
glm::mat4 m_MVPMatrix
Definition: Model.hpp:95
std::shared_ptr< std::vector< Mesh > > m_pMeshes
Definition: Model.hpp:85
Definition: FaceCoordinates3d.hpp:9