Add a basic entity class

This commit is contained in:
4VRDriver
2020-09-06 13:02:40 +02:00
parent c0cbf8c257
commit e4139105ee
20 changed files with 150 additions and 77 deletions

26
src/Entity.cpp Normal file
View File

@@ -0,0 +1,26 @@
#include "Entity.h"
#include <glm/gtc/matrix_transform.hpp>
#include <glm/ext/matrix_transform.hpp>
Entity::Entity(Model *model, ShaderProgram *shaderProgram)
: model(model), shaderProgram(shaderProgram) {
// Empty...
}
void Entity::draw(glm::mat4 viewProjMatrix) {
glm::mat4 modelViewProj = viewProjMatrix * modelMatrix;
shaderProgram->setUniform("u_modelViewProj", modelViewProj);
model->draw(shaderProgram);
}
void Entity::translate(glm::vec3 vector) {
position += vector;
modelMatrix = glm::translate(modelMatrix, vector);
}
void Entity::rotate(glm::vec3 axis, float radians) {
modelMatrix = glm::rotate(modelMatrix, radians, axis);
}