load shaders from Ruby on Window creation
This commit is contained in:
1 parent
d85a0de9df
commit
8604d6d5ad
4 files changed
+30
-44
No files matched your search
@@ -0,0 +1,24 @@
|
||||
class Window
|
||||
def initialize
|
||||
@programs = {}
|
||||
load_shaders
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_shaders
|
||||
program_sources = {
|
||||
text: ["text.v.glsl", "text.f.glsl"],
|
||||
basic: ["basic.v.glsl", "basic.f.glsl"],
|
||||
rect: ["rect.v.glsl", "basic.f.glsl"],
|
||||
}
|
||||
|
||||
program_sources.each do |program, (v_src_fname, f_src_fname)|
|
||||
v_shader = GLShader.new(:vertex, Runtime.read(:shader, v_src_fname))
|
||||
v_shader or raise "Could not find shader #{v_src_fname}"
|
||||
f_shader = GLShader.new(:fragment, Runtime.read(:shader, f_src_fname))
|
||||
f_shader or raise "Could not find shader #{f_src_fname}"
|
||||
@programs[program] = GLProgram.new(v_shader, f_shader)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user