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:renderEngine.ShaderProgram.java
/** * Loads the shader given its content and type. * * @param file The content of the shader file. * @param type The type of shader (lwjgl!). * @return The shader ID.//from w w w . j av a 2 s . c om */ private static int loadShader(String file, int type) { StringBuilder shaderSource = new StringBuilder(); try { BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while ((line = reader.readLine()) != null) { shaderSource.append(line).append("\n"); } reader.close(); } catch (IOException ex) { Logger.getLogger(ShaderProgram.class.getName()).log(Level.SEVERE, null, ex); } int shaderID = GL20.glCreateShader(type); GL20.glShaderSource(shaderID, shaderSource); GL20.glCompileShader(shaderID); if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) { System.out.println(GL20.GL_COMPILE_STATUS); System.out.println("Shader of type: " + type + " did not compile!"); } return shaderID; }
From source file:se.angergard.engine.graphics.ShaderProgram.java
License:Apache License
private ShaderProgram addShader(String code, int type) { int shader = GL20.glCreateShader(type); GL20.glShaderSource(shader, code); GL20.glCompileShader(shader);/*from ww w .ja v a 2s .c o m*/ if (type == GL20.GL_VERTEX_SHADER) { vertexShader = shader; } else if (type == GL20.GL_FRAGMENT_SHADER) { fragmentShader = shader; } else if (type == GL32.GL_GEOMETRY_SHADER) { geometryShader = shader; } String error = GL20.glGetShaderInfoLog(shader, GL20.GL_INFO_LOG_LENGTH); if (!error.equals("")) { System.out.println(error); } if (shader == -1) { System.err.println("Shader wasn't succsessfully created"); } GL20.glAttachShader(program, shader); return this; }
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 .j a va2 s .c o m GL20.glAttachShader(programId, shader.getShaderId()); }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glShaderSource(int a, CharSequence b) { GL20.glShaderSource(a, b); }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glShaderSource(int a, ByteBuffer b) { GL20.glShaderSource(a, b); }
From source file:tk.ivybits.engine.gl.GL.java
License:Open Source License
public static void glShaderSource(int a, CharSequence[] b) { GL20.glShaderSource(a, b); }
From source file:uk.co.ifs_studios.engine.shader.FragmentShader.java
License:Open Source License
/** * Load and compile shader./*from ww w . j a v a 2 s.c om*/ */ 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.// www. jav 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"); }// w w w . j av a 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 w w w. j a va 2 s .c o 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; }