Method: Shader#uniform

Defined in:
lib/ext/shader.rb

#uniform(name, value) ⇒ Object Also known as: []=



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/ext/shader.rb', line 58

def uniform(name, value)
  glUseProgram(@program_id)
  if value.is_a?(Float)
    glUniform1f(glGetUniformLocation(@program_id, name), value)
  elsif value.is_a?(Integer)
    glUniform1i(glGetUniformLocation(@program_id, name), value)
  else
    raise ArgumentError, "Uniform data type not supported"
  end
  glUseProgram(0)
end