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);