From 83c78e2b5cc9b0cb737ec3785722ae280bd29b65 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 14 Feb 2020 10:43:26 +0100 Subject: Use shader from file.. --- src/RenderBackend/OpenGL/ShaderProgram.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/RenderBackend/OpenGL/ShaderProgram.cpp') diff --git a/src/RenderBackend/OpenGL/ShaderProgram.cpp b/src/RenderBackend/OpenGL/ShaderProgram.cpp index e613668..389a929 100644 --- a/src/RenderBackend/OpenGL/ShaderProgram.cpp +++ b/src/RenderBackend/OpenGL/ShaderProgram.cpp @@ -64,13 +64,13 @@ namespace amalgine { return Result>::Ok(std::move(shader_program)); } - int ShaderProgram::set_uniform(const char *name, const vec3f &value) { - GLint uniformId = glGetUniformLocation(program_id, name); - if(uniformId == -1) - return -1; - use(); - glUniform3f(uniformId, value.x, value.y, value.z); - return 0; + Result ShaderProgram::get_uniform_by_name(const char *name) { + GLint uniform_id = glGetUniformLocation(program_id, name); + if(uniform_id == -1) + return Result::Err(std::string("Uniform with name ") + name + " was not found"); + + Uniform uniform(uniform_id, program_id); + return Result::Ok(std::move(uniform)); } int ShaderProgram::set_vertex_input(const char *name, const DeviceMemory &data) { @@ -88,7 +88,10 @@ namespace amalgine { glVertexAttribPointer(attrib_location, 2, GL_FLOAT, GL_FALSE, 0, 0); break; } - case DeviceMemoryType::VEC3: assert(false); return -1; + case DeviceMemoryType::VEC3: { + glVertexAttribPointer(attrib_location, 3, GL_FLOAT, GL_FALSE, 0, 0); + break; + } } glEnableVertexAttribArray(attrib_location); return 0; -- cgit v1.2.3