public void glUseProgram (int program) { GL20.glUseProgram(program); }
public void glUseProgram (int program) { GL20.glUseProgram(program); }
public void glUseProgram (int program) { GL20.glUseProgram(program); }
public void glUseProgram (int program) { GL20.glUseProgram(program); }
@Override public void disableShader() { GL20.glUseProgram(0); activeMaterial = null; } }
@Override public void glUseProgram(final int program) { GL20.glUseProgram(program); }
public void glUseProgram(int param1) { GL20.glUseProgram(param1); }
private void restoreStateAfterUniformsSet() { if (shaderManager.getActiveMaterial() == this) { GL20.glUseProgram(getActiveShaderProgramId()); } else { enable(); } }
@Override public void enable() { if (shaderManager.getActiveMaterial() != this || activeFeaturesChanged) { GL13.glActiveTexture(GL13.GL_TEXTURE0); GL20.glUseProgram(getActiveShaderProgramId()); // Make sure the shader manager knows that this program is currently active shaderManager.setActiveMaterial(this); activeFeaturesChanged = false; } }
@Override public void setFloat2(String desc, FloatBuffer buffer, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform2(id, buffer); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform2(id, buffer); } restoreStateAfterUniformsSet(); } }
@Override public void setFloat4(String desc, float f1, float f2, float f3, float f4, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform4f(id, f1, f2, f3, f4); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform4f(id, f1, f2, f3, f4); } restoreStateAfterUniformsSet(); } }
@Override public void setInt(String desc, int i, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform1i(id, i); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform1i(id, i); } restoreStateAfterUniformsSet(); } }
@Override public void setFloat3(String desc, float f1, float f2, float f3, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform3f(id, f1, f2, f3); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform3f(id, f1, f2, f3); } restoreStateAfterUniformsSet(); } }
@Override public void setMatrix4(String desc, FloatBuffer value, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniformMatrix4(id, false, value); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniformMatrix4(id, false, value); } restoreStateAfterUniformsSet(); } }
@Override public void setBoolean(String desc, boolean value, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform1i(id, value ? 1 : 0); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform1i(id, value ? 1 : 0); } restoreStateAfterUniformsSet(); } }
@Override public void setFloat2(String desc, float f1, float f2, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform2f(id, f1, f2); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform2f(id, f1, f2); } restoreStateAfterUniformsSet(); } }
@Override public void setFloat3(String desc, FloatBuffer buffer, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform3(id, buffer); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform3(id, buffer); } restoreStateAfterUniformsSet(); } }
@Override public void setFloat4(String desc, FloatBuffer buffer, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniform4(id, buffer); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniform4(id, buffer); } restoreStateAfterUniformsSet(); } }
@Override public void setMatrix3(String desc, FloatBuffer value, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniformMatrix3(id, false, value); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniformMatrix3(id, false, value); } restoreStateAfterUniformsSet(); } }
@Override public void setMatrix3(String desc, Matrix3f value, boolean currentOnly) { if (isDisposed()) { return; } if (currentOnly) { enable(); int id = getUniformLocation(getActiveShaderProgramId(), desc); GL20.glUniformMatrix3(id, false, MatrixUtils.matrixToFloatBuffer(value)); } else { TIntIntIterator it = disposalAction.shaderPrograms.iterator(); while (it.hasNext()) { it.advance(); GL20.glUseProgram(it.value()); int id = getUniformLocation(it.value(), desc); GL20.glUniformMatrix3(id, false, MatrixUtils.matrixToFloatBuffer(value)); } restoreStateAfterUniformsSet(); } }