diff --git a/gui/resources/shaders/objectShader.vert b/gui/resources/shaders/objectShader.vert
index 59af3b4579e2063b1704ca815e038fa82fdc23e8..27db167468115640005b0d132537f0fe46e3d235 100644
--- a/gui/resources/shaders/objectShader.vert
+++ b/gui/resources/shaders/objectShader.vert
@@ -23,10 +23,16 @@ uniform mat4 model;
 uniform mat4 view;
 uniform mat4 projection;
 
+uniform float opacity;
+uniform bool mirror;
+
 out vec4 frag_color;
 
 void main(){
     gl_Position = projection*view*model*vec4(pos[0], pos[1], z_offset, 1.);
+    if(mirror){
+        gl_Position = projection*view*model*vec4(-pos[0], pos[1], z_offset, 1.);
+    }
 
     frag_color = color_normal;
     if(drawing_mode == 1){
@@ -84,4 +90,8 @@ void main(){
     if(selected_index == ind && drawing_mode != 1){
         frag_color = color_selected;
     }
+
+    if(drawing_mode != 1 && (drawing_mode != 7 || opacity < 0.1f)){
+        frag_color.a = opacity;
+    }
 }
\ No newline at end of file