geometry shader for cuboid

This commit is contained in:
zomseffen 2020-07-25 15:03:05 +02:00
parent 2096b24e74
commit e9d573172d
5 changed files with 244 additions and 72 deletions
Objects/Cube

View file

@ -6,20 +6,19 @@ import numpy as np
class Cube(Object):
GeometryShaderId = -1
def __init__(self):
Object.__init__(self)
super(Cube, self).__init__()
if (Cube.GeometryShaderId == -1):
self.initializeShader()
def initializeShader(self) -> bool:
@classmethod
def initializeShader(cls) -> bool:
with open('./Objects/Cube/cube_geometry.glsl', 'r') as f:
geometry_shader_string = f.read()
Cube.GeometryShaderId = glCreateShader(GL_GEOMETRY_SHADER)
cls.GeometryShaderId = glCreateShader(GL_GEOMETRY_SHADER)
glShaderSource(Cube.GeometryShaderId, geometry_shader_string)
glCompileShader(Cube.GeometryShaderId)
if glGetShaderiv(Cube.GeometryShaderId, GL_COMPILE_STATUS) != GL_TRUE:
raise RuntimeError(glGetShaderInfoLog(Cube.GeometryShaderId))
return False
return True
return True