private static int createShader(String filename, int shaderType){ int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if(shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch(Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
@Override public void glCompileShader(int shader) { ARBShaderObjects.glCompileShaderARB(shader); }
protected void compileShader() { System.out.println("Compiling shader ..."); final String vertexShader = vertexShader(); final String fragmentShader = fragmentShader(); System.out.println("Vertex shader:"); System.out.println(vertexShader); System.out.println("Fragment shader:"); System.out.println(fragmentShader); _vertexShaderId = ARBShaderObjects.glCreateShaderObjectARB(ARBVertexShader.GL_VERTEX_SHADER_ARB); ARBShaderObjects.glShaderSourceARB(_vertexShaderId, vertexShader); ARBShaderObjects.glCompileShaderARB(_vertexShaderId); System.out.println("VertexShader Info: "+ARBShaderObjects.glGetInfoLogARB(_vertexShaderId, 8192)); _fragmentShaderId = ARBShaderObjects.glCreateShaderObjectARB(ARBFragmentShader.GL_FRAGMENT_SHADER_ARB); ARBShaderObjects.glShaderSourceARB(_fragmentShaderId, fragmentShader); ARBShaderObjects.glCompileShaderARB(_fragmentShaderId); System.out.println("FragmentShader Info: "+ARBShaderObjects.glGetInfoLogARB(_fragmentShaderId, 8192)); _programId = ARBShaderObjects.glCreateProgramObjectARB(); ARBShaderObjects.glAttachObjectARB(_programId, _vertexShaderId); ARBShaderObjects.glAttachObjectARB(_programId, _fragmentShaderId); ARBShaderObjects.glLinkProgramARB(_programId); System.out.println("Program Info: "+ARBShaderObjects.glGetInfoLogARB(_programId, 8192)); } }
private static int createShader(String filename, int shaderType) { int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if (shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch (Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
private static int createShader(String filename, int shaderType){ int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if(shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch(Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
private static int createShader(String filename, int shaderType) { int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if (shader == 0) { return 0; } ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) { throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); } return shader; } catch (Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
ARBShaderObjects.glCompileShaderARB(state._vertexShaderID); ARBShaderObjects.glGetObjectParameterARB(state._vertexShaderID, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, compiled); ARBShaderObjects.glCompileShaderARB(state._fragmentShaderID); ARBShaderObjects.glGetObjectParameterARB(state._fragmentShaderID, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, compiled); ARBShaderObjects.glCompileShaderARB(state._geometryShaderID); ARBShaderObjects.glGetObjectParameterARB(state._geometryShaderID, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, compiled); ARBShaderObjects.glCompileShaderARB(state._tessellationControlShaderID); ARBShaderObjects.glGetObjectParameterARB(state._tessellationControlShaderID, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, compiled); ARBShaderObjects.glCompileShaderARB(state._tessellationEvaluationShaderID); ARBShaderObjects.glGetObjectParameterARB(state._tessellationEvaluationShaderID, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB, compiled);