32 lines
871 B
C++
32 lines
871 B
C++
#include "ColorProgram.hpp"
|
|
|
|
#include "../Renderer.hpp"
|
|
|
|
using namespace pass;
|
|
|
|
ColorProgram::ColorProgram(): Program() {
|
|
|
|
std::vector<std::string> flags;
|
|
std::vector<Shader*> shaders;
|
|
shaders.push_back(loadShader(GL_VERTEX_SHADER, flags));
|
|
shaders.push_back(loadShader(GL_FRAGMENT_SHADER, flags));
|
|
load(shaders);
|
|
|
|
MVPMatrixID = glGetUniformLocation(ProgramID, "MVP");
|
|
}
|
|
|
|
ColorProgram::~ColorProgram() { }
|
|
|
|
std::string ColorProgram::getName() const {
|
|
return "Color";
|
|
}
|
|
buffer::params ColorProgram::setup(render::gl::Renderer *renderer, glm::mat4 modelMatrix) {
|
|
const auto mvp = renderer->getProjectionMatrix() * renderer->getViewMatrix() * modelMatrix;
|
|
setMVP(&mvp[0][0]);
|
|
return buffer::params{.vertexOnly = false};
|
|
}
|
|
|
|
void ColorProgram::setMVP(const GLfloat *matrix) {
|
|
glUniformMatrix4fv(MVPMatrixID, 1, GL_FALSE, matrix);
|
|
}
|