List of usage examples for com.badlogic.gdx.graphics GL20 GL_VERTEX_SHADER
int GL_VERTEX_SHADER
To view the source code for com.badlogic.gdx.graphics GL20 GL_VERTEX_SHADER.
Click Source Link
From source file:net.mgsx.game.examples.gpu.utils.ShaderProgramEx.java
License:Apache License
/** Loads and compiles the shaders, creates a new program and links the shaders. * /* w ww.j a va 2s . co m*/ * @param vertexShader * @param fragmentShader */ private void compileShaders(String vertexShader, String tcs, String tes, String geometryShader, String fragmentShader) { vertexShaderHandle = loadShader(GL20.GL_VERTEX_SHADER, vertexShader); fragmentShaderHandle = loadShader(GL20.GL_FRAGMENT_SHADER, fragmentShader); geometryShaderHandle = geometryShader == null ? -3 : loadShader(GL_GEOMETRY_SHADER, geometryShader); tcsHandle = tcs == null ? -3 : loadShader(GL_TESS_CONTROL_SHADER, tcs); tesHandle = tes == null ? -3 : loadShader(GL_TESS_EVALUATION_SHADER, tes); if (vertexShaderHandle == -1 || fragmentShaderHandle == -1 || (geometryShader != null && geometryShaderHandle == -1) || (tcs != null && tcsHandle == -1) || (tes != null && tesHandle == -1)) { isCompiled = false; return; } program = linkProgram(createProgram()); if (program == -1) { isCompiled = false; return; } isCompiled = true; }
From source file:net.mgsx.game.examples.gpu.utils.ShaderProgramEx.java
License:Apache License
private int loadShader(int type, String source) { GL20 gl = Gdx.gl20;//from w w w .j a v a 2 s.c om IntBuffer intbuf = BufferUtils.newIntBuffer(1); int shader = gl.glCreateShader(type); if (shader == 0) return -1; gl.glShaderSource(shader, source); gl.glCompileShader(shader); gl.glGetShaderiv(shader, GL20.GL_COMPILE_STATUS, intbuf); int compiled = intbuf.get(0); if (compiled == 0) { // gl.glGetShaderiv(shader, GL20.GL_INFO_LOG_LENGTH, intbuf); // int infoLogLength = intbuf.get(0); // if (infoLogLength > 1) { String infoLog = gl.glGetShaderInfoLog(shader); IntMap<String> typeString = new IntMap<String>(); typeString.put(GL20.GL_VERTEX_SHADER, "Vertex shader"); typeString.put(GL20.GL_FRAGMENT_SHADER, "Vertex shader"); typeString.put(GL_GEOMETRY_SHADER, "Geometry shader"); typeString.put(GL_TESS_CONTROL_SHADER, "Tess control shader"); typeString.put(GL_TESS_EVALUATION_SHADER, "Tess evaluation shader"); log += typeString.get(type) + "\n"; log += infoLog; // } return -1; } return shader; }