diff --git a/LearnOpenGL/LearnOpenGL.vcxproj b/LearnOpenGL/LearnOpenGL.vcxproj
index 132c65d2db104a015d4274d26e605a1709dc6fe7..902ff56c83b88c29e311b4c1447af207aa817c5f 100644
--- a/LearnOpenGL/LearnOpenGL.vcxproj
+++ b/LearnOpenGL/LearnOpenGL.vcxproj
@@ -123,6 +123,7 @@
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="FileSystem.cpp" />
+    <ClCompile Include="Light.cpp" />
     <ClCompile Include="Logger.cpp" />
     <ClCompile Include="ResourceLoader.cpp" />
     <ClCompile Include="OpenGLWrapper.cpp" />
@@ -132,9 +133,11 @@
   <ItemGroup>
     <ClInclude Include="Camera.h" />
     <ClInclude Include="FileSystem.h" />
+    <ClInclude Include="Light.h" />
     <ClInclude Include="Logger.h" />
     <ClInclude Include="ResourceLoader.h" />
     <ClInclude Include="OpenGLWrapper.h" />
+    <ClInclude Include="Scene.h" />
     <ClInclude Include="ShaderType.h" />
     <ClInclude Include="Transform.h" />
   </ItemGroup>
diff --git a/LearnOpenGL/LearnOpenGL.vcxproj.filters b/LearnOpenGL/LearnOpenGL.vcxproj.filters
index 6ce7b3628dafb3e50cccf2004f73706bde59b2a1..f4a72bb06c40dd289e89c4fa5d56cf80f67c3bc9 100644
--- a/LearnOpenGL/LearnOpenGL.vcxproj.filters
+++ b/LearnOpenGL/LearnOpenGL.vcxproj.filters
@@ -33,6 +33,9 @@
     <ClCompile Include="Transform.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="Light.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="ShaderType.h">
@@ -56,5 +59,11 @@
     <ClInclude Include="Transform.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="Scene.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Light.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/LearnOpenGL/Light.cpp b/LearnOpenGL/Light.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..60c89048e853178896eca7eb9cb4a044d25e97c2
--- /dev/null
+++ b/LearnOpenGL/Light.cpp
@@ -0,0 +1,18 @@
+#include "Light.h"
+
+Light::Light(glm::vec3 _ambient, glm::vec3 _diffuse, glm::vec3 _specular)
+{
+	ambient = _ambient;
+	diffuse = _diffuse;
+	specular = _specular;
+}
+
+Transform *Light::get_transform()
+{
+	return &transform;
+}
+
+glm::vec3 DirectionalLight::get_light_direction()
+{
+	return get_transform()->get_front();
+}
\ No newline at end of file
diff --git a/LearnOpenGL/Light.h b/LearnOpenGL/Light.h
new file mode 100644
index 0000000000000000000000000000000000000000..0a0da49f483fccb92bac3a622dbf95124d54b5cc
--- /dev/null
+++ b/LearnOpenGL/Light.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include <GL/glew.h>
+
+#include <glm/glm.hpp>
+#include <glm/gtc/matrix_transform.hpp>
+#include <glm/gtc/type_ptr.hpp>
+
+#include "Transform.h"
+
+class Light
+{
+private:
+	Transform transform;
+
+public:
+	Light(glm::vec3 _ambient, glm::vec3 _diffuse, glm::vec3 _specular);
+
+	Transform *get_transform();
+
+	glm::vec3 ambient;
+	glm::vec3 diffuse;
+	glm::vec3 specular;
+};
+
+class DirectionalLight : Light
+{
+public:
+	glm::vec3 get_light_direction();
+};
\ No newline at end of file
diff --git a/LearnOpenGL/Scene.h b/LearnOpenGL/Scene.h
new file mode 100644
index 0000000000000000000000000000000000000000..e44f64aec12865a03335ba58ad10cc137497021f
--- /dev/null
+++ b/LearnOpenGL/Scene.h
@@ -0,0 +1,5 @@
+#pragma once
+
+class Scene
+{
+};
\ No newline at end of file
diff --git a/Shaders/Projector/Projector.frag b/Shaders/Projector/Projector.frag
index b4fc7338a4b90020d82c35dccc7dd9707f41a293..b00b5f5ad06ea592f826b55b8609703043ba9b88 100644
--- a/Shaders/Projector/Projector.frag
+++ b/Shaders/Projector/Projector.frag
@@ -52,8 +52,13 @@ void main (void)
     {    
 		vec2 finalCoords = ProjTexCoords.st / ProjTexCoords.q;
 		vec4 ProjMapColor_forCam1 = texture(projImage, finalCoords);
-		projColor = ProjMapColor_forCam1;			
+		projColor = ProjMapColor_forCam1;
+		
+		if(ProjMapColor_forCam1.a < 1.0)
+		{
+			projColor = result;
+		}	
     }
-
+	
     FragColor = mix(result, projColor, 0.4f);
 }
\ No newline at end of file