( self )
| 236 | self.assertEqual( s.uniformParameter( n ).size, expectedParameterNamesAndSizes[n] ) |
| 237 | |
| 238 | def testVertexParameters( self ) : |
| 239 | |
| 240 | vertexSource = """ |
| 241 | attribute float floatParm; |
| 242 | attribute vec2 vec2Parm; |
| 243 | attribute vec3 vec3Parm; |
| 244 | attribute vec4 vec4Parm; |
| 245 | |
| 246 | varying vec4 myColor; |
| 247 | |
| 248 | void main() |
| 249 | { |
| 250 | myColor = vec4( floatParm + vec2Parm.x, vec3Parm.y, vec4Parm.r, 1 ); |
| 251 | gl_Position = ftransform(); |
| 252 | } |
| 253 | """ |
| 254 | |
| 255 | fragmentSource = """ |
| 256 | |
| 257 | varying vec4 myColor; |
| 258 | |
| 259 | void main() |
| 260 | { |
| 261 | gl_FragColor = myColor; |
| 262 | } |
| 263 | """ |
| 264 | |
| 265 | s = IECoreGL.Shader( vertexSource, fragmentSource ) |
| 266 | self.assertTrue( s==s ) |
| 267 | |
| 268 | expectedParameterNames = [ |
| 269 | "floatParm", |
| 270 | "vec2Parm", |
| 271 | "vec3Parm", |
| 272 | "vec4Parm", |
| 273 | ] |
| 274 | |
| 275 | parameterNames = s.vertexAttributeNames() |
| 276 | self.assertEqual( len( parameterNames ), len( expectedParameterNames ) ) |
| 277 | for n in expectedParameterNames : |
| 278 | self.assertTrue( n in parameterNames ) |
| 279 | self.assertTrue( s.vertexAttribute( n ) is not None ) |
| 280 | self.assertTrue( s.vertexAttribute( n + "VeryUnlikelySuffix" ) is None ) |
| 281 | self.assertEqual( s.vertexAttribute( n ).size, 1 ) |
| 282 | |
| 283 | def testGeometryShader( self ) : |
| 284 |
nothing calls this directly
no test coverage detected