aboutsummaryrefslogtreecommitdiff
path: root/boltzgas/visual/shader.py
blob: b4295a8fddca4a0f234f4581275c56feaff676ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from OpenGL.GL import GL_VERTEX_SHADER, GL_FRAGMENT_SHADER
from OpenGL.GL import shaders

class Shader:
    def __init__(self, fragment_src, vertex_src, uniform):
        self.program = shaders.compileProgram(
            shaders.compileShader(vertex_src, GL_VERTEX_SHADER),
            shaders.compileShader(fragment_src, GL_FRAGMENT_SHADER))
        self.uniform = { }
        for name in uniform:
            self.uniform[name] = shaders.glGetUniformLocation(self.program, name)

    def use(self):
        shaders.glUseProgram(self.program)