List of usage examples for org.lwjgl.opengl GL20 glDeleteShader
public static void glDeleteShader(@NativeType("GLuint") int shader)
From source file:thebounzer.org.lwgldemo.glutils.ShaderProgram.java
License:Open Source License
private void deleteShader(GenericShader shader) { GL20.glDetachShader(pId, shader.getShaderId()); GL20.glDeleteShader(shader.getShaderId()); }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glDeleteShader(int a) { GL20.glDeleteShader(a); }
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);/*from w w w . j av a2 s .c o m*/ //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; //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:voxicity.ChunkNode.java
License:Open Source License
int create_vert_shader(String filename) { int shader = GL20.glCreateShader(GL20.GL_VERTEX_SHADER); String code_text = ""; String line;//from w w w . j a v a 2 s . c om try { BufferedReader reader = new BufferedReader(new FileReader(filename)); while ((line = reader.readLine()) != null) { code_text += line + "\n"; } } catch (Exception e) { System.out.println("Reading vertex shader code failed"); e.printStackTrace(); } GL20.glShaderSource(shader, code_text); GL20.glCompileShader(shader); System.out.println("Compiling vertex shader: " + filename); if (GL20.glGetShader(shader, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { print_shader_log(shader); } if (check_shader_error(shader)) { GL20.glDeleteShader(shader); shader = 0; } return shader; }
From source file:voxicity.ChunkNode.java
License:Open Source License
int create_frag_shader(String filename) { int shader = GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER); String code_text = ""; String line;// www. ja v a 2 s . c o m try { BufferedReader reader = new BufferedReader(new FileReader(filename)); while ((line = reader.readLine()) != null) { code_text += line + "\n"; } } catch (Exception e) { System.out.println("Reading vertex shader code failed"); e.printStackTrace(); } GL20.glShaderSource(shader, code_text); System.out.println("Compiling fragment shader: " + filename); GL20.glCompileShader(shader); if (GL20.glGetShader(shader, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { print_shader_log(shader); } if (check_shader_error(shader)) { GL20.glDeleteShader(shader); shader = 0; } return shader; }
From source file:wrath.client.graphics.ShaderProgram.java
License:Open Source License
@Override public void close() { GL20.glUseProgram(0);/*from w w w . java 2 s.c o m*/ GL20.glDetachShader(programID, vertShaderID); GL20.glDetachShader(programID, fragShaderID); GL20.glDeleteShader(vertShaderID); GL20.glDeleteShader(fragShaderID); GL20.glDeleteProgram(programID); Game.getCurrentInstance().removeFromTrashCleanup(this); }