@Test public final void testProgramLinkDeletedFragment() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("valid0", this.getShaderLines("valid0.vert")); final JCGLGeometryShaderType g = s.shaderCompileGeometry("valid0", this.getShaderLines("valid0.geom")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); s.shaderDeleteFragment(f); this.expected.expect(JCGLExceptionDeleted.class); s.shaderLinkProgram("valid0", v, Optional.of(g), f); }
@Test public final void testProgramDeleteActivated() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("valid0", this.getShaderLines("valid0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("valid0", v, Optional.empty(), f); s.shaderActivateProgram(p); Assert.assertEquals(Optional.of(p), s.shaderActivatedProgram()); s.shaderDeleteProgram(p); Assert.assertEquals(Optional.empty(), s.shaderActivatedProgram()); }
@Test public final void testProgramUniformSampler2DNotActive() { final Interfaces i = this.getInterfaces("main"); final JCGLShadersType s = i.getShaders(); final JCGLTexturesType t = i.getTextures(); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms2", this.getShaderLines("uniforms2.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms2", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("s2")); final JCGLProgramUniformType u = us.get("s2"); Assert.assertEquals(JCGLType.TYPE_SAMPLER_2D, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutTexture2DUnit(u, t.textureGetUnits().get(0)); }
@Test public final void testVertexShaderDeleteDeleted() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("valid0", this.getShaderLines("valid0.vert")); s.shaderDeleteVertex(v); this.expected.expect(JCGLExceptionDeleted.class); s.shaderDeleteVertex(v); }
@Test public final void testProgramUniformSampler2DCorrect() { final Interfaces i = this.getInterfaces("main"); final JCGLShadersType s = i.getShaders(); final JCGLTexturesType t = i.getTextures(); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms2", this.getShaderLines("uniforms2.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms2", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("s2")); final JCGLProgramUniformType u = us.get("s2"); Assert.assertEquals(JCGLType.TYPE_SAMPLER_2D, u.type()); s.shaderActivateProgram(p); s.shaderUniformPutTexture2DUnit(u, t.textureGetUnits().get(0)); }
@Test public final void testProgramUniformMatrix4fNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms1", this.getShaderLines("uniforms1.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms1", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fm4")); final JCGLProgramUniformType u = us.get("fm4"); Assert.assertEquals(JCGLType.TYPE_FLOAT_MATRIX_4, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutMatrix4x4f(u, Matrices4x4D.identity()); }
@Test public final void testProgramUniformVector4iNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.getUniforms(); Assert.assertTrue(us.containsKey("iv4")); final JCGLProgramUniformType u = us.get("iv4"); Assert.assertEquals(JCGLType.TYPE_INTEGER_VECTOR_4, u.getType()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutVector4i(u, VectorI4I.ZERO); }
@Test public final void testProgramUniformVector3fCorrect() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fv3")); final JCGLProgramUniformType u = us.get("fv3"); Assert.assertEquals(JCGLType.TYPE_FLOAT_VECTOR_3, u.type()); s.shaderActivateProgram(p); s.shaderUniformPutVector3f(u, Vectors3D.zero()); }
@Test public final void testProgramUniformFloatNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("f")); final JCGLProgramUniformType u = us.get("f"); Assert.assertEquals(JCGLType.TYPE_FLOAT, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutFloat(u, 1.0f); }
@Test public final void testProgramUniformVector2fNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fv2")); final JCGLProgramUniformType u = us.get("fv2"); Assert.assertEquals(JCGLType.TYPE_FLOAT_VECTOR_2, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutVector2f(u, Vectors2D.zero()); }
@Test public final void testProgramUniformVector3fNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fv3")); final JCGLProgramUniformType u = us.get("fv3"); Assert.assertEquals(JCGLType.TYPE_FLOAT_VECTOR_3, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutVector3f(u, Vectors3D.zero()); }
@Test public final void testProgramUniformVector4fNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fv4")); final JCGLProgramUniformType u = us.get("fv4"); Assert.assertEquals(JCGLType.TYPE_FLOAT_VECTOR_4, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutVector4f(u, Vectors4D.zero()); }
@Test public final void testProgramUniformMatrix3fNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms1", this.getShaderLines("uniforms1.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms1", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("fm3")); final JCGLProgramUniformType u = us.get("fm3"); Assert.assertEquals(JCGLType.TYPE_FLOAT_MATRIX_3, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutMatrix3x3f(u, Matrices3x3D.identity()); }
@Test public final void testProgramUniformUnsignedIntegerCorrect() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("u")); final JCGLProgramUniformType u = us.get("u"); Assert.assertEquals(JCGLType.TYPE_UNSIGNED_INTEGER, u.type()); s.shaderActivateProgram(p); s.shaderUniformPutUnsignedInteger(u, 1); }
@Test public final void testProgramUniformVector2iCorrect() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.getUniforms(); Assert.assertTrue(us.containsKey("iv2")); final JCGLProgramUniformType u = us.get("iv2"); Assert.assertEquals(JCGLType.TYPE_INTEGER_VECTOR_2, u.getType()); s.shaderActivateProgram(p); s.shaderUniformPutVector2i(u, VectorI2I.ZERO); }
@Test public final void testProgramUniformVector4uCorrect() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.getUniforms(); Assert.assertTrue(us.containsKey("uv4")); final JCGLProgramUniformType u = us.get("uv4"); Assert.assertEquals(JCGLType.TYPE_UNSIGNED_INTEGER_VECTOR_4, u.getType()); s.shaderActivateProgram(p); s.shaderUniformPutVector4ui(u, VectorI4I.ZERO); }
@Test public final void testProgramLinkDeletedGeometry() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("valid0", this.getShaderLines("valid0.vert")); final JCGLGeometryShaderType g = s.shaderCompileGeometry("valid0", this.getShaderLines("valid0.geom")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); s.shaderDeleteGeometry(g); this.expected.expect(JCGLExceptionDeleted.class); s.shaderLinkProgram("valid0", v, Optional.of(g), f); }
@Test public final void testProgramUniformVector4iCorrect() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("iv4")); final JCGLProgramUniformType u = us.get("iv4"); Assert.assertEquals(JCGLType.TYPE_INTEGER_VECTOR_4, u.type()); s.shaderActivateProgram(p); s.shaderUniformPutVector4i(u, Vectors4I.zero()); }
@Test public final void testProgramUniformIntegerNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("i")); final JCGLProgramUniformType u = us.get("i"); Assert.assertEquals(JCGLType.TYPE_INTEGER, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutInteger(u, 1); }
@Test public final void testProgramUniformVector2iNotActive() { final JCGLShadersType s = this.getShaders("main"); final JCGLVertexShaderType v = s.shaderCompileVertex("uniforms0", this.getShaderLines("uniforms0.vert")); final JCGLFragmentShaderType f = s.shaderCompileFragment("valid0", this.getShaderLines("valid0.frag")); final JCGLProgramShaderType p = s.shaderLinkProgram("uniforms0", v, Optional.empty(), f); final Map<String, JCGLProgramUniformType> us = p.uniforms(); Assert.assertTrue(us.containsKey("iv2")); final JCGLProgramUniformType u = us.get("iv2"); Assert.assertEquals(JCGLType.TYPE_INTEGER_VECTOR_2, u.type()); s.shaderDeactivateProgram(); this.expected.expect(JCGLExceptionProgramNotActive.class); s.shaderUniformPutVector2i(u, Vectors2I.zero()); }