diff options
author | Adrian Kummerlaender | 2020-03-28 19:55:14 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2020-03-28 19:55:14 +0100 |
commit | 26e09c9f01eaf997b0b4f8fa831ed3873f66465a (patch) | |
tree | 8bee2f2ffbbb9f3f84f255aa46891efc19a5d050 /boltzgas/visual/shader.py | |
parent | 5e99925cd258ff68f1da7ce0bdb823efe785d8de (diff) | |
download | boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar.gz boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar.bz2 boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar.lz boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar.xz boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.tar.zst boltzgas-26e09c9f01eaf997b0b4f8fa831ed3873f66465a.zip |
Draw spheres in correct size
…using billboarding.
Diffstat (limited to 'boltzgas/visual/shader.py')
-rw-r--r-- | boltzgas/visual/shader.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/boltzgas/visual/shader.py b/boltzgas/visual/shader.py index b4295a8..c6c035b 100644 --- a/boltzgas/visual/shader.py +++ b/boltzgas/visual/shader.py @@ -1,4 +1,4 @@ -from OpenGL.GL import GL_VERTEX_SHADER, GL_FRAGMENT_SHADER +from OpenGL.GL import GL_VERTEX_SHADER, GL_FRAGMENT_SHADER, GL_GEOMETRY_SHADER from OpenGL.GL import shaders class Shader: @@ -13,3 +13,16 @@ class Shader: def use(self): shaders.glUseProgram(self.program) +class GeometryShader: + def __init__(self, fragment_src, geometry_src, vertex_src, uniform): + self.program = shaders.compileProgram( + shaders.compileShader(vertex_src, GL_VERTEX_SHADER), + shaders.compileShader(geometry_src, GL_GEOMETRY_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) + |