diff options
Diffstat (limited to 'honey/shader.lua')
-rw-r--r-- | honey/shader.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/honey/shader.lua b/honey/shader.lua index 1fb9f5b..083b260 100644 --- a/honey/shader.lua +++ b/honey/shader.lua @@ -15,11 +15,26 @@ local function compileShader(source, type) return shader end +local function readFile(filename) + local f, err = io.open(filename) + if not f then error(err) end + local str = f:read("*a") + f:close() + return str +end + function Shader.new(_, sources) local self = {} self.locations = {} self.links = {} + if sources.vertexFile then + sources.vertex = readFile(sources.vertexFile) + end + if sources.fragmentFile then + sources.fragment = readFile(sources.fragmentFile) + end + local shaders = {} if sources.vertex then table.insert(shaders, compileShader(sources.vertex, gl.VERTEX_SHADER)) |