diff --git a/gui/include/layer.hpp b/gui/include/layer.hpp index cd9b63c6dd9e295fe2d1e96a2a8fffd301514a9c..82cd3f6355bb99b1f0a7cb7084f81c27aafb0769 100644 --- a/gui/include/layer.hpp +++ b/gui/include/layer.hpp @@ -24,7 +24,7 @@ class Layer{ public: Layer(std::string name, std::string filename, float zOffset, Material mat); - void draw(glm::mat4 projection, glm::mat4 view, glm::mat4 model, int drawing_mode, int selected_index); + void draw(glm::mat4 projection, glm::mat4 view, glm::mat4 model, int drawing_mode, int selected_index, float opacity); int selectObject(unsigned x, unsigned y, glm::mat4 projection, glm::mat4 view, glm::mat4 model); diff --git a/gui/src/layer.cpp b/gui/src/layer.cpp index 5424634376bbf785d7bb960a4360c9736b29fd27..bbef8174133e8d6c43686403223332fcf3d24412 100644 --- a/gui/src/layer.cpp +++ b/gui/src/layer.cpp @@ -118,12 +118,14 @@ Layer::Layer(std::string name, std::string filename, float zOffset, Material mat _shader.setVec4("color_good", mat.color_good); _shader.setVec4("color_bad", mat.color_bad); _shader.setVec4("color_sketch", mat.color_sketch); + _shader.setFloat("opacity", 1.f); + _shader.setBool("mirror", false); _shader.unuse(); _framebuffer = Framebuffer(); } -void Layer::draw(glm::mat4 projection, glm::mat4 view, glm::mat4 model, int drawing_mode, int selected_index){ +void Layer::draw(glm::mat4 projection, glm::mat4 view, glm::mat4 model, int drawing_mode, int selected_index, float opacity){ _shader.use(); _shader.setInt("drawing_mode", drawing_mode); _shader.setMat4("projection", projection); @@ -131,6 +133,7 @@ void Layer::draw(glm::mat4 projection, glm::mat4 view, glm::mat4 model, int draw _shader.setMat4("model", model); _shader.setFloat("z_offset", _zOffset); _shader.setFloat("selected_index", float(selected_index)); + _shader.setFloat("opacity", opacity); glBindVertexArray(_vao); glBindBuffer(GL_ARRAY_BUFFER, _vbo); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _ebo); @@ -147,7 +150,7 @@ int Layer::selectObject(unsigned x, unsigned y, glm::mat4 projection, glm::mat4 glClearColor(0.f, 0.f, 1.f, 1.0f); //selection colors have no blue glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - draw(projection, view, model, 1, -1); + draw(projection, view, model, 1, -1, 1.f); auto color = _framebuffer.getPixel(x, y);