summaryrefslogtreecommitdiff
path: root/src/render/Shader.cpp
blob: 9070553a53a02c6c4b637e984e8518e5580c0b07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "Shader.hpp"

GLint CShader::getUniformLocation(const std::string& unif) {
    const auto itpos = m_muUniforms.find(unif);

    if (itpos == m_muUniforms.end()) {
        const auto unifLoc = glGetUniformLocation(program, unif.c_str());
        m_muUniforms[unif] = unifLoc;
        return unifLoc;
    }

    return itpos->second;
}

CShader::~CShader() {
    // destroy shader
    destroy();
}

void CShader::destroy() {
    glDeleteProgram(program);

    program = 0;
}