1515vec2 gl.GL_FLOAT_VEC2 2 gl.GL_FLOAT np.float32
1616vec3 gl.GL_FLOAT_VEC3 3 gl.GL_FLOAT np.float32
1717vec4 gl.GL_FLOAT_VEC4 4 gl.GL_FLOAT np.float32
18+ double gl.GL_DOUBLE 1 gl.GL_DOUBLE np.float64
19+ dvec2 gl.GL_DOUBLE_VEC2 2 gl.GL_DOUBLE np.float64
20+ dvec3 gl.GL_DOUBLE_VEC3 3 gl.GL_DOUBLE np.float64
21+ dvec4 gl.GL_DOUBLE_VEC4 4 gl.GL_DOUBLE np.float64
1822int gl.GL_INT 1 gl.GL_INT np.int32
1923ivec2 gl.GL_INT_VEC2 2 gl.GL_INT np.int32
2024ivec3 gl.GL_INT_VEC3 3 gl.GL_INT np.int32
7579 gl .GL_FLOAT_VEC2 : ( 2 , gl .GL_FLOAT , np .float32 ),
7680 gl .GL_FLOAT_VEC3 : ( 3 , gl .GL_FLOAT , np .float32 ),
7781 gl .GL_FLOAT_VEC4 : ( 4 , gl .GL_FLOAT , np .float32 ),
82+ gl .GL_DOUBLE : ( 1 , gl .GL_DOUBLE , np .float64 ),
83+ gl .GL_DOUBLE_VEC2 : ( 2 , gl .GL_DOUBLE , np .float64 ),
84+ gl .GL_DOUBLE_VEC3 : ( 3 , gl .GL_DOUBLE , np .float64 ),
85+ gl .GL_DOUBLE_VEC4 : ( 4 , gl .GL_DOUBLE , np .float64 ),
7886 gl .GL_INT : ( 1 , gl .GL_INT , np .int32 ),
7987 gl .GL_INT_VEC2 : ( 2 , gl .GL_INT , np .int32 ),
8088 gl .GL_INT_VEC3 : ( 3 , gl .GL_INT , np .int32 ),
@@ -101,12 +109,14 @@ def __init__(self, program, name, gtype):
101109 """ Initialize the data into default state """
102110
103111 # Make sure variable type is allowed (for ES 2.0 shader)
104- if gtype not in [gl .GL_FLOAT , gl .GL_FLOAT_VEC2 ,
105- gl .GL_FLOAT_VEC3 , gl .GL_FLOAT_VEC4 ,
106- gl .GL_INT , gl .GL_BOOL ,
107- gl .GL_FLOAT_MAT2 , gl .GL_FLOAT_MAT3 ,
108- gl .GL_FLOAT_MAT4 , gl .GL_SAMPLER_1D ,
109- gl .GL_SAMPLER_2D , gl .GL_SAMPLER_CUBE ]:
112+ if gtype not in [gl .GL_FLOAT , gl .GL_FLOAT_VEC2 ,
113+ gl .GL_FLOAT_VEC3 , gl .GL_FLOAT_VEC4 ,
114+ gl .GL_DOUBLE , gl .GL_DOUBLE_VEC2 ,
115+ gl .GL_DOUBLE_VEC3 , gl .GL_DOUBLE_VEC4 ,
116+ gl .GL_INT , gl .GL_BOOL ,
117+ gl .GL_FLOAT_MAT2 , gl .GL_FLOAT_MAT3 ,
118+ gl .GL_FLOAT_MAT4 , gl .GL_SAMPLER_1D ,
119+ gl .GL_SAMPLER_2D , gl .GL_SAMPLER_CUBE ]:
110120 raise TypeError ("Unknown variable type" )
111121
112122 GLObject .__init__ (self )
@@ -187,6 +197,10 @@ class Uniform(Variable):
187197 gl .GL_FLOAT_VEC2 : gl .glUniform2fv ,
188198 gl .GL_FLOAT_VEC3 : gl .glUniform3fv ,
189199 gl .GL_FLOAT_VEC4 : gl .glUniform4fv ,
200+ gl .GL_DOUBLE : gl .glUniform1dv ,
201+ gl .GL_DOUBLE_VEC2 : gl .glUniform2dv ,
202+ gl .GL_DOUBLE_VEC3 : gl .glUniform3dv ,
203+ gl .GL_DOUBLE_VEC4 : gl .glUniform4dv ,
190204 gl .GL_INT : gl .glUniform1iv ,
191205 gl .GL_BOOL : gl .glUniform1iv ,
192206 gl .GL_FLOAT_MAT2 : gl .glUniformMatrix2fv ,
0 commit comments