Added Shader#available? method for checking if a shader useable

This commit is contained in:
2019-08-10 09:42:00 -05:00
parent 1458736f7d
commit 003715f685

View File

@@ -2,14 +2,14 @@ module CyberarmEngine
# Ref: https://github.com/vaiorabbit/ruby-opengl/blob/master/sample/OrangeBook/brick.rb
class Shader
include OpenGL
@@shaders = {}
def self.add(name, instance)
@shaders ||= {}
@shaders[name] = instance
@@shaders[name] = instance
end
def self.use(name, &block)
shader = @shaders.dig(name)
shader = @@shaders.dig(name)
if shader
shader.use(&block)
else
@@ -17,6 +17,10 @@ module CyberarmEngine
end
end
def self.available?(name)
@@shaders.dig(name).is_a?(Shader)
end
def self.active_shader
@active_shader
end