List of usage examples for org.lwjgl.opengl GL20 glLinkProgram
public static void glLinkProgram(@NativeType("GLuint") int program)
From source file:processing.lwjgl.PGL.java
License:Open Source License
public void linkProgram(int prog) { GL20.glLinkProgram(prog); }
From source file:processing.opengl.PLWJGL.java
License:Open Source License
@Override public void linkProgram(int program) { GL20.glLinkProgram(program); }
From source file:renderEngine.ShaderProgram.java
/** * Binds the <b>in</b> variables of the vertex shader, the uniform * variables, and links and validates both shaders. *//*from w w w .j a v a 2s . c o m*/ private void bindVariablesAndValidate() { bindAttributes(); GL20.glLinkProgram(programID); GL20.glValidateProgram(programID); getAllUniformLocations(); }
From source file:se.angergard.engine.graphics.ShaderProgram.java
License:Apache License
/** Links the program and validates it * @return This ShaderProgram *///from w w w. j a va 2 s . co m public ShaderProgram compileProgram() { GL20.glLinkProgram(program); if (program == -1) { System.err.println("ShaderProgram wasn't succsessfully created"); } String error = GL20.glGetProgramInfoLog(program, GL20.GL_INFO_LOG_LENGTH); if (!error.equals("")) { System.out.println(error); } GL20.glValidateProgram(program); if (vertexShader != -1) { GL20.glDetachShader(program, vertexShader); GL20.glDeleteShader(vertexShader); } if (fragmentShader != -1) { GL20.glDetachShader(program, fragmentShader); GL20.glDeleteShader(fragmentShader); } if (geometryShader != -1) { GL20.glDetachShader(program, geometryShader); GL20.glDeleteShader(geometryShader); } return this; }
From source file:thebounzer.org.lwgldemo.glutils.ShaderProgram.java
License:Open Source License
private boolean validateProgram(int programId) { GL20.glLinkProgram(programId); GL20.glValidateProgram(programId);//from w ww .j ava 2 s .c o m boolean result = true; int errorCheckValue = GL11.glGetError(); if (errorCheckValue != GL11.GL_NO_ERROR) { logger.log(Level.SEVERE, "ERROR - Could not create the shaders:{0}", GLU.gluErrorString(errorCheckValue)); result = false; } return result; }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glLinkProgram(int a) { GL20.glLinkProgram(a); }
From source file:uk.co.ifs_studios.engine.shader.ShaderProgram.java
License:Open Source License
/** * Link and validate shader program./*from www . j av a 2 s . c om*/ */ public void link() { GL20.glLinkProgram(this.id); GL20.glValidateProgram(this.id); int error = GL11.glGetError(); if (error != GL11.GL_NO_ERROR) { EngineLogger.error(new ShaderException("Couldn't link and validate shader program.", null)); } }
From source file:vertigo.graphics.lwjgl.ShaderUtils.java
License:Open Source License
public static int attachShaders(String vertexCode, String fragmentCode) throws Exception { int vertexShaderProgram; int fragmentShaderProgram; int shaderprogram; String log = ""; vertexShaderProgram = compileShader(vertexCode, GL20.GL_VERTEX_SHADER); fragmentShaderProgram = compileShader(fragmentCode, GL20.GL_FRAGMENT_SHADER); shaderprogram = GL20.glCreateProgram(); GL20.glAttachShader(shaderprogram, vertexShaderProgram); GL20.glAttachShader(shaderprogram, fragmentShaderProgram); GL20.glLinkProgram(shaderprogram); //grab our info log String infoLog = GL20.glGetProgramInfoLog(shaderprogram, GL20.glGetProgrami(shaderprogram, GL20.GL_INFO_LOG_LENGTH)); //if some log exists, append it if (infoLog != null && infoLog.trim().length() != 0) log += infoLog;// w w w .j a va2s. c o m //if the link failed, throw some sort of exception if (GL20.glGetProgrami(shaderprogram, GL20.GL_LINK_STATUS) == GL11.GL_FALSE) throw new LWJGLException("Failure in linking program. Error log:\n" + infoLog); //detach and delete the shaders which are no longer needed GL20.glDetachShader(shaderprogram, vertexShaderProgram); GL20.glDetachShader(shaderprogram, fragmentShaderProgram); GL20.glDeleteShader(vertexShaderProgram); GL20.glDeleteShader(fragmentShaderProgram); GL20.glValidateProgram(shaderprogram); return shaderprogram; }
From source file:vertigo.graphics.lwjgl.ShaderUtils.java
License:Open Source License
private static int attachVFShaders(ShaderProg prog) throws Exception { System.out.println("attachVFShader"); int vertexShaderProgram; int fragmentShaderProgram; int shaderprogram; vertexShaderProgram = GL20.glCreateShader(GL20.GL_VERTEX_SHADER); fragmentShaderProgram = GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER); GL20.glShaderSource(vertexShaderProgram, prog.getVertexSource()); GL20.glCompileShader(vertexShaderProgram); if (GL20.glGetShaderi(vertexShaderProgram, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { System.err.println("Compile error of vertexshader"); }/*from www . ja va 2 s. co m*/ GL20.glShaderSource(fragmentShaderProgram, prog.getFragmentSource()); GL20.glCompileShader(fragmentShaderProgram); if (GL20.glGetShaderi(fragmentShaderProgram, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { System.err.println("Compile error of fragmentshader"); } // shaderprogram = GL20.glCreateProgram(); GL20.glAttachShader(shaderprogram, vertexShaderProgram); GL20.glAttachShader(shaderprogram, fragmentShaderProgram); GL20.glLinkProgram(shaderprogram); GL20.glValidateProgram(shaderprogram); if (GL20.glGetProgrami(shaderprogram, GL20.GL_LINK_STATUS) == GL11.GL_FALSE) { IntBuffer intBuffer = BufferTools.newIntBuffer(1); GL20.glGetProgram(shaderprogram, GL20.GL_INFO_LOG_LENGTH, intBuffer); int size = intBuffer.get(0); System.err.println("Program link error: " + size); if (size > 0) { ByteBuffer byteBuffer = BufferTools.newByteBuffer(size); GL20.glGetProgramInfoLog(shaderprogram, intBuffer, byteBuffer); byteBuffer.rewind(); byte[] bytearray = new byte[byteBuffer.remaining()]; byteBuffer.get(bytearray); System.err.println(bytearray.length); String s = new String(bytearray, 0, bytearray.length - 1, Charset.forName("UTF-8")); System.err.print("<<" + s + ">>"); /** * * * for (byte b : bytearray) { System.err.print(b+";"); } * */ System.err.println(" - End"); } else { System.out.println("Unknown"); } System.exit(1); } System.out.println("End of attachVFShader"); return shaderprogram; }
From source file:view.util.ShaderProgram.java
public void create() { program = GL20.glCreateProgram(); GL20.glAttachShader(program, s0.getID()); GL20.glAttachShader(program, s1.getID()); GL20.glLinkProgram(program); }