velage/engine/shader.cpp

24 lines
No EOL
762 B
C++

#include "shader.hpp"
void shader::linkshader() { glLinkProgram(shaderProgram); }
void shader::attatchshader() {
shaderProgram = glCreateProgram();
glAttachShader(shaderProgram, vertexShader);
glAttachShader(shaderProgram, fragmentShader);
if(geoshd){glAttachShader(shaderProgram, geometryShader);}
}
void shader::use() { glUseProgram(shaderProgram); }
GLint shader::getInputId(std::string name) {
return glGetProgramResourceLocation(shaderProgram, GL_PROGRAM_INPUT, name.c_str());
}
GLint shader::getOutputId(std::string name) {
return glGetProgramResourceLocation(shaderProgram, GL_PROGRAM_OUTPUT, name.c_str());
}
GLint shader::getUniformId(std::string name){
return glGetProgramResourceLocation(shaderProgram, GL_UNIFORM, name.c_str());
}