KlassischeKeplerKriege/game/glclasses.cpp
2016-09-27 18:07:21 +02:00

39 lines
1.1 KiB
C++

#include "glclasses.h"
endofthejedi::VAO::VAO() { glGenVertexArrays(1, &m_name); }
endofthejedi::VAO::~VAO() { glDeleteVertexArrays(1, &m_name); }
void endofthejedi::VAO::bind() { glBindVertexArray(m_name); }
void endofthejedi::VAO::fill(GLuint index, GLint size, GLenum type,
GLboolean normalized, GLsizei stride,
const GLvoid *pointer) {
glEnableVertexAttribArray(index);
glVertexAttribPointer(index, size, GL_FLOAT, normalized, stride, pointer);
}
endofthejedi::Shader::Shader() {
m_program = glCreateProgram();
}
endofthejedi::Shader::~Shader() {}
void endofthejedi::Shader::bind() {
glUseProgram(m_program);
}
void endofthejedi::Shader::unbind() {
glUseProgram(0);
}
void endofthejedi::Shader::load(std::string path, GLenum shadertype) {
GLuint cheddar = glCreateShader(shadertype);
const char* cheddardata = path.c_str();
glShaderSource(cheddar, 1, &cheddardata, NULL);
glCompileShader(cheddar);
glAttachShader(m_program, cheddar);
glLinkProgram(m_program);
glDeleteShader(cheddar);
}