UniformBoolean.java 647 B

12345678910111213141516171819202122232425
  1. package me.hammerle.snuviengine.api;
  2. import static org.lwjgl.opengl.GL20.glGetUniformLocation;
  3. import static org.lwjgl.opengl.GL20.glUniform1i;
  4. public class UniformBoolean {
  5. private final int location;
  6. private boolean value;
  7. public UniformBoolean(int program, String name, boolean value) {
  8. location = glGetUniformLocation(program, name);
  9. setUnchecked(value);
  10. }
  11. private void setUnchecked(boolean value) {
  12. this.value = value;
  13. glUniform1i(location, value ? 1 : 0);
  14. }
  15. public void set(boolean value) {
  16. if(this.value != value) {
  17. setUnchecked(value);
  18. }
  19. }
  20. }