diff options
Diffstat (limited to 'boltzgas/visual/shader.py')
-rw-r--r-- | boltzgas/visual/shader.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/boltzgas/visual/shader.py b/boltzgas/visual/shader.py new file mode 100644 index 0000000..b4295a8 --- /dev/null +++ b/boltzgas/visual/shader.py @@ -0,0 +1,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) + |