( self )
| 281 | self.assertEqual( s.vertexAttribute( n ).size, 1 ) |
| 282 | |
| 283 | def testGeometryShader( self ) : |
| 284 | |
| 285 | if IECoreGL.glslVersion() < 150 : |
| 286 | # can't test geometry shaders if they don't exist |
| 287 | return |
| 288 | |
| 289 | geometrySource = """ |
| 290 | #version 150 |
| 291 | |
| 292 | layout( triangles ) in; |
| 293 | layout( triangle_strip, max_vertices=3 ) out; |
| 294 | |
| 295 | uniform float geometryShaderParameter = 0; |
| 296 | |
| 297 | void main() |
| 298 | { |
| 299 | for( int i = 0; i < gl_in.length(); i++) |
| 300 | { |
| 301 | gl_Position = gl_in[i].gl_Position + vec4( geometryShaderParameter, 0, 0, 1 ); |
| 302 | EmitVertex(); |
| 303 | } |
| 304 | } |
| 305 | """ |
| 306 | |
| 307 | s = IECoreGL.Shader( IECoreGL.Shader.defaultVertexSource(), geometrySource, IECoreGL.Shader.defaultFragmentSource() ) |
| 308 | |
| 309 | self.assertTrue( "geometryShaderParameter" in s.uniformParameterNames() ) |
| 310 | |
| 311 | def testEmptyGeometryShader( self ) : |
| 312 |
nothing calls this directly
no test coverage detected