List of usage examples for org.lwjgl.opengl GL20 glCompileShader
public static void glCompileShader(@NativeType("GLuint") int shader)
From source file:thebounzer.org.lwgldemo.glutils.ShaderProgram.java
License:Open Source License
private void compileShader(int programId, GenericShader shader) throws IOException { GL20.glShaderSource(shader.getShaderId(), shader.getSource()); GL20.glCompileShader(shader.getShaderId()); if (!validateCompilation(shader)) { throw new IOException("Shader compilation failed, see log!"); }/*from w w w. java 2s. c o m*/ GL20.glAttachShader(programId, shader.getShaderId()); }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glCompileShader(int a) { GL20.glCompileShader(a); }
From source file:uk.co.ifs_studios.engine.shader.FragmentShader.java
License:Open Source License
/** * Load and compile shader.//from w w w.j a va 2s .com */ public void load() { StringBuilder shaderSource = new StringBuilder(); try { BufferedReader reader = new BufferedReader(new InputStreamReader(this.shaderStream)); String line; while ((line = reader.readLine()) != null) { shaderSource.append(line).append("\n"); } reader.close(); } catch (FileNotFoundException e) { EngineLogger.error(new ShaderException("Shader file not found.", e)); } catch (IOException e) { EngineLogger.error(new ShaderException("Couldn't read shader file.", e)); } this.id = GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER); GL20.glShaderSource(this.id, shaderSource); GL20.glCompileShader(this.id); }
From source file:uk.co.ifs_studios.engine.shader.VertexShader.java
License:Open Source License
/** * Load and compile shader.//from ww w.j a v a2 s. co m */ public void load() { StringBuilder shaderSource = new StringBuilder(); try { BufferedReader reader = new BufferedReader(new InputStreamReader(this.shaderStream)); String line; while ((line = reader.readLine()) != null) { shaderSource.append(line).append("\n"); } reader.close(); } catch (FileNotFoundException e) { EngineLogger.error(new ShaderException("Shader file not found.", e)); } catch (IOException e) { EngineLogger.error(new ShaderException("Couldn't read shader file.", e)); } this.id = GL20.glCreateShader(GL20.GL_VERTEX_SHADER); GL20.glShaderSource(this.id, shaderSource); GL20.glCompileShader(this.id); }
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 ww w .j a va 2 s . c o 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:vertigo.graphics.lwjgl.ShaderUtils.java
License:Open Source License
private static int compileShader(String source, int type) throws Exception { String log = ""; int shaderProgram = GL20.glCreateShader(type); GL20.glShaderSource(shaderProgram, source); GL20.glCompileShader(shaderProgram); //if info/warnings are found, append it to our shader log String infoLog = GL20.glGetShaderInfoLog(shaderProgram, GL20.glGetShaderi(shaderProgram, GL20.GL_INFO_LOG_LENGTH)); if (infoLog != null && infoLog.trim().length() != 0) { log += "Vertex Shader : " + infoLog + "\n"; }//from ww w . ja va2 s.co m //if the compiling was unsuccessful, throw an exception if (GL20.glGetShaderi(shaderProgram, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { throw new LWJGLException("Failure in compiling Vertex Shader. Error log:\n" + infoLog); } return shaderProgram; }
From source file:view.util.Shader.java
public void createShader() { id = GL20.glCreateShader(type); GL20.glShaderSource(id, text); GL20.glCompileShader(id); }
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 www . j a va2 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); 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;/*from ww w. j a v a 2s . co 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
/** * Reads the two specified shader files and compiles the shaders into an OpenGL program format. * It is recommended that shaders be stored in the 'assets/shaders' directory (which is not present by default). * @param vertFile The {@link java.io.File} to read the vert shader from. * @param fragFile The {@link java.io.File} to read the frag shader from. * @return Returns the ShaderProgram object. *//*from www . j a va 2 s .co m*/ public static ShaderProgram loadShaderProgram(File vertFile, File fragFile) { if (!vertFile.exists()) { System.err.println( "Could not load shader from file '" + vertFile.getAbsolutePath() + "'! File not found!"); return null; } if (!fragFile.exists()) { System.err.println( "Could not load shader from file '" + fragFile.getAbsolutePath() + "'! File not found!"); return null; } String vsrc = ""; try { String inp; try (BufferedReader read = new BufferedReader(new FileReader(vertFile))) { while ((inp = read.readLine()) != null) vsrc = vsrc + inp + '\n'; } } catch (IOException e) { System.err.println("Could not load shader from file '" + vertFile.getAbsolutePath() + "'! I/O Error!"); return null; } String fsrc = ""; try { String inp; try (BufferedReader read = new BufferedReader(new FileReader(fragFile))) { while ((inp = read.readLine()) != null) fsrc = fsrc + inp + '\n'; } } catch (IOException e) { System.err.println("Could not load shader from file '" + fragFile.getAbsolutePath() + "'! I/O Error!"); return null; } int prog = GL20.glCreateProgram(); int vert = GL20.glCreateShader(GL20.GL_VERTEX_SHADER); int frag = GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER); GL20.glShaderSource(vert, vsrc); GL20.glShaderSource(frag, fsrc); GL20.glCompileShader(vert); if (GL20.glGetShaderi(vert, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { System.err.println( "Could not load shader from file '" + vertFile.getAbsolutePath() + "'! Compile Error:"); System.err.println(GL20.glGetShaderInfoLog(vert)); return null; } GL20.glCompileShader(frag); if (GL20.glGetShaderi(frag, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { System.err.println( "Could not load shader from file '" + fragFile.getAbsolutePath() + "'! Compile Error:"); System.err.println(GL20.glGetShaderInfoLog(frag)); return null; } GL20.glAttachShader(prog, vert); GL20.glAttachShader(prog, frag); ShaderProgram ret = new ShaderProgram(prog, vert, frag); Game.getCurrentInstance().addToTrashCleanup(ret); return ret; }