diff --git a/projects/first_mesh/resources/shaders/frag.spv b/projects/first_mesh/resources/shaders/frag.spv
index cb13e606fc0041e24ff6a63c0ec7dcca466732aa..e552acc2cc06e3adb7bcdbdea4256618a453fdca 100644
Binary files a/projects/first_mesh/resources/shaders/frag.spv and b/projects/first_mesh/resources/shaders/frag.spv differ
diff --git a/projects/first_mesh/resources/shaders/shader.frag b/projects/first_mesh/resources/shaders/shader.frag
index d26446a73020111695aa2c86166205796dfa5e44..5757b58893f96abfe4212dde1936a1f03bcd2c3d 100644
--- a/projects/first_mesh/resources/shaders/shader.frag
+++ b/projects/first_mesh/resources/shaders/shader.frag
@@ -1,9 +1,11 @@
 #version 450
 #extension GL_ARB_separate_shader_objects : enable
 
-layout(location = 0) in vec3 fragColor;
-layout(location = 0) out vec4 outColor;
+layout(location = 0) in vec3 passNormal;
+layout(location = 1) in vec2 passUV;
+
+layout(location = 0) out vec3 outColor;
 
 void main()	{
-	outColor = vec4(fragColor, 1.0);
+	outColor = passNormal;
 }
\ No newline at end of file
diff --git a/projects/first_mesh/resources/shaders/shader.vert b/projects/first_mesh/resources/shaders/shader.vert
index e6c0e3d6bafda35e90a6bfd849a211e2b6de0f9c..76855152253b48b7400f016d063ed4f0e507435e 100644
--- a/projects/first_mesh/resources/shaders/shader.vert
+++ b/projects/first_mesh/resources/shaders/shader.vert
@@ -1,27 +1,19 @@
 #version 450
 #extension GL_ARB_separate_shader_objects : enable
 
-layout(location = 0) in vec3 position;
+layout(location = 0) in vec3 inPosition;
+layout(location = 1) in vec3 inNormal;
+layout(location = 2) in vec2 inUV;
 
-layout(location = 0) out vec3 fragColor;
+layout(location = 0) out vec3 passNormal;
+layout(location = 1) out vec2 passUV;
 
 layout( push_constant ) uniform constants{
     mat4 mvp;
 };
 
 void main()	{
-    vec3 positions[3] = {
-        vec3(-0.5, 0.5, -1),
-        vec3( 0.5, 0.5, -1),
-        vec3(0, -0.5, -1)
-    };
-    
-    vec3 colors[3] = {
-        vec3(1, 0, 0),
-        vec3(0, 1, 0),
-        vec3(0, 0, 1)
-    };
-
-	gl_Position = mvp * vec4(position, 1.0);
-	fragColor = colors[gl_VertexIndex % 3];
+	gl_Position = mvp * vec4(inPosition, 1.0);
+	passNormal  = inNormal;
+    passUV      = inUV;
 }
\ No newline at end of file
diff --git a/projects/first_mesh/resources/shaders/vert.spv b/projects/first_mesh/resources/shaders/vert.spv
index 74722f38ff0584d51d4a966c748b69a4d3f1d3cb..374c023e14b351eb43cbcda5951cbb8b3d6f96a1 100644
Binary files a/projects/first_mesh/resources/shaders/vert.spv and b/projects/first_mesh/resources/shaders/vert.spv differ