aboutsummaryrefslogtreecommitdiff
path: root/boltzgas/visual/shader.py
diff options
context:
space:
mode:
Diffstat (limited to 'boltzgas/visual/shader.py')
-rw-r--r--boltzgas/visual/shader.py15
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)
+