List of usage examples for org.lwjgl.opengl GL20 glShaderSource
public static void glShaderSource(@NativeType("GLuint") int shader, @NativeType("GLchar const **") CharSequence string)
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 w w w. ja v a 2s . 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;/* w ww . ja v a 2s. 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
/** * 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 w w w .ja v a 2s . c o 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; }