geometry shader for cuboid
This commit is contained in:
parent
2096b24e74
commit
e9d573172d
5 changed files with 244 additions and 72 deletions
Objects/Cube
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue