From dbd27d1fe7499ee63a8422664aa222a9395b1b28 Mon Sep 17 00:00:00 2001
From: CatChow0 <thetrueshibadoggo@gmail.com>
Date: Sun, 25 May 2025 16:12:39 +0200
Subject: [PATCH] Revert "Minor - Start Shadow Map - V10.5.0"

This reverts commit d6b7626446e965d3cf4567f5cd787511c9bbe4f3.
---
 .../.idea/workspace.xml                       | 163 +++-
 enginecustom/enginecustom.vcxproj             |  89 --
 enginecustom/imgui.ini                        |   4 +-
 enginecustom/shader-error.txt                 | Bin 129 -> 57 bytes
 enginecustom/src/hlsl/depth.ps                |  10 -
 enginecustom/src/hlsl/depth.vs                |  25 -
 enginecustom/src/hlsl/sunlight.ps             |  38 +-
 enginecustom/src/hlsl/sunlight.vs             |  24 +-
 .../src/inc/shader/depth_shader_class.h       |  37 -
 .../src/inc/shader/shader_manager_class.h     |   6 +-
 .../src/inc/shader/sunlight_shader_class.h    |  28 +-
 .../src/inc/system/application_class.h        |  27 +-
 enginecustom/src/inc/system/shadow_map.h      |  33 -
 .../src/src/shader/depth_shader_class.cpp     | 224 -----
 .../src/src/shader/shader_manager_class.cpp   |  61 +-
 .../src/src/shader/sunlight_shader_class.cpp  | 812 ++++++++----------
 .../src/src/system/application_class.cpp      | 150 +---
 enginecustom/src/src/system/shadow_map.cpp    | 105 ---
 18 files changed, 531 insertions(+), 1305 deletions(-)
 delete mode 100644 enginecustom/src/hlsl/depth.ps
 delete mode 100644 enginecustom/src/hlsl/depth.vs
 delete mode 100644 enginecustom/src/inc/shader/depth_shader_class.h
 delete mode 100644 enginecustom/src/inc/system/shadow_map.h
 delete mode 100644 enginecustom/src/src/shader/depth_shader_class.cpp
 delete mode 100644 enginecustom/src/src/system/shadow_map.cpp

diff --git a/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml b/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml
index d43725b..690b46b 100644
--- a/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml
+++ b/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml
@@ -5,24 +5,97 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="e81d6e08-efc7-40a0-909d-ec4943d948e9" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/hlsl/depth.ps" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/hlsl/depth.vs" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/depth_shader_class.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/shadow_map.h" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/depth_shader_class.cpp" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/enginecustom/src/src/system/shadow_map.cpp" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/fps_limiter.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/encodings.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.KhaoticEngineReborn/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/DemoScene_V10.1.2.ker" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/DemoScene_V10.1.2.ker" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/assets/Texture/imgui.ini" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/assets/Texture/imgui.ini" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/enginecustom.vcxproj" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/enginecustom/imgui.ini" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/imgui.ini" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/shader-error.txt" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/shader-error.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/hlsl/sunlight.ps" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/hlsl/sunlight.ps" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/hlsl/sunlight.vs" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/hlsl/sunlight.vs" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/shader_manager_class.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/shader_manager_class.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/sunlight_shader_class.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/sunlight_shader_class.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/application_class.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/application_class.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/shader_manager_class.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/shader_manager_class.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/sunlight_shader_class.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/sunlight_shader_class.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/application_class.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/application_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/include/imgui.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/include/imgui.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/CelShadingShader.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/celshade_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/Colorshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/color_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/Multitextureshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/multi_texture_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/SkyboxShaderClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/skybox_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/alphamapshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/alpha_map_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/fontshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/font_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/lightmapshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/light_map_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/lightshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/light_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/lightshaderwaterclass.h" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/normalmapshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/normal_map_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/reflectionshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/reflection_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/refractionshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/refraction_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/shadermanagerclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/shader_manager_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/specmapshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/spec_map_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/sunlightshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/sunlight_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/textureshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/texture_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/translateshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/translate_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/transparentshaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/transparent_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/shader/watershaderclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/shader/water_shader_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Cameraclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/camera_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Logger.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/Logger.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Positionclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/position_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Skybox.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/Skybox.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Spriteclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/sprite_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/Timerclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/timer_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/applicationclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/application_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/bitmapclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/bitmap_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/d3dclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/d_3d_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/displayplaneclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/display_plane_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/fontclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/font_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/fpsclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/fps_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/frustum.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/frustum.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/imguiManager.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/imguiManager.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/inputclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/input_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/lightclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/light_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/modelclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/model_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/object.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/object.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/physics.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/physics.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/rendertextureclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/render_texture_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/systemclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/system_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/textclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/text_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/inc/system/textureclass.h" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/inc/system/texture_class.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/CelShadingShader.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/celshade_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/Colorshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/color_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/Multitextureshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/multi_texture_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/SkyboxShaderClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/skybox_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/alphamapshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/alpha_map_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/fontshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/font_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/lightmapshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/light_map_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/lightshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/light_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/normalmapshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/normal_map_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/reflectionshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/reflection_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/refractionshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/refraction_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/shadermanagerclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/shader_manager_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/specmapshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/spec_map_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/sunlightshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/sunlight_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/textureshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/texture_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/translateshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/translate_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/transparentshaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/transparent_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/shader/watershaderclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/shader/water_shader_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Cameraclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/camera_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/Main.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Positionclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/position_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Skybox.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/Skybox.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Spriteclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/sprite_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Systemclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/system_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/Timerclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/timer_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/applicationclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/application_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/bitmapclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/bitmap_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/d3dclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/d_3d_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/displayplaneclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/display_plane_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/fontclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/font_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/fpsclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/fps_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/frustum.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/frustum.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/imguiManager.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/imguiManager.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/inputclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/input_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/lightclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/light_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/modelclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/model_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/object.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/object.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/physics.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/physics.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/rendertextureclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/render_texture_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/textclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/text_class.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/enginecustom/src/src/system/textureclass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/enginecustom/src/src/system/texture_class.cpp" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -108,10 +181,64 @@
     <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
     <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
     <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
-    <setting file="cidr-memory-view://10" root0="FORCE_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
+    <setting file="mock:///dummy.cpp" root0="SKIP_HIGHLIGHTING" />
     <setting file="file://C:/Program Files (x86)/Windows Kits/10/Include/10.0.26100.0/um/d3d11.h" root0="SKIP_HIGHLIGHTING" />
     <setting file="file://$PROJECT_DIR$/enginecustom/include/Inc/VertexTypes.h" root0="SKIP_HIGHLIGHTING" />
     <setting file="file://$PROJECT_DIR$/enginecustom/include/Vulkan/Include/vulkan/vulkan_core.h" root0="SKIP_HIGHLIGHTING" />
+    <setting file="file://$PROJECT_DIR$/enginecustom/src/src/shader/CelShadingShader.cpp" root0="FORCE_HIGHLIGHTING" />
     <setting file="file://$PROJECT_DIR$/../../IDE_VS/VC/Tools/MSVC/14.38.33130/include/type_traits" root0="SKIP_HIGHLIGHTING" />
   </component>
   <component name="KubernetesApiPersistence">{}</component>
@@ -126,9 +253,6 @@
   &quot;associatedIndex&quot;: 6
 }</component>
   <component name="ProjectId" id="2sGIWDeT5ixyzDQ0he4A3RFpG9W" />
-  <component name="ProjectLevelVcsManager">
-    <ConfirmationsSetting value="2" id="Add" />
-  </component>
   <component name="ProjectViewState">
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
@@ -282,7 +406,6 @@
       <workItem from="1747258663152" duration="835000" />
       <workItem from="1747826758888" duration="3587000" />
       <workItem from="1747830379222" duration="7954000" />
-      <workItem from="1747917137074" duration="10453000" />
     </task>
     <task id="LOCAL-00001" summary="Minor update - viewport window tweak">
       <option name="closed" value="true" />
diff --git a/enginecustom/enginecustom.vcxproj b/enginecustom/enginecustom.vcxproj
index 338bdf3..3fa969b 100644
--- a/enginecustom/enginecustom.vcxproj
+++ b/enginecustom/enginecustom.vcxproj
@@ -33,82 +33,6 @@
     <ClCompile Include="src\src\shader\alpha_map_shader_class.cpp" />
     <ClCompile Include="src\src\shader\celshade_class.cpp" />
     <ClCompile Include="src\src\shader\color_shader_class.cpp" />
-    <ClCompile Include="src\src\shader\depth_shader_class.cpp">
-      <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <Optimization>Disabled</Optimization>
-      <SupportJustMyCode>true</SupportJustMyCode>
-      <AssemblerOutput>NoListing</AssemblerOutput>
-      <AssemblerListingLocation>x64\Debug\</AssemblerListingLocation>
-      <UndefineAllPreprocessorDefinitions>false</UndefineAllPreprocessorDefinitions>
-      <BrowseInformation>false</BrowseInformation>
-      <BrowseInformationFile>x64\Debug\</BrowseInformationFile>
-      <CompileAs>Default</CompileAs>
-      <ConformanceMode>true</ConformanceMode>
-      <DiagnosticsFormat>Column</DiagnosticsFormat>
-      <DisableLanguageExtensions>false</DisableLanguageExtensions>
-      <ErrorReporting>Prompt</ErrorReporting>
-      <ExpandAttributedSource>false</ExpandAttributedSource>
-      <ExceptionHandling>Sync</ExceptionHandling>
-      <EnableASAN>false</EnableASAN>
-      <EnableFuzzer>false</EnableFuzzer>
-      <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations>
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
-      <EnableVectorLength>NotSet</EnableVectorLength>
-      <FloatingPointModel>Precise</FloatingPointModel>
-      <ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
-      <GenerateModuleDependencies>false</GenerateModuleDependencies>
-      <GenerateSourceDependencies>false</GenerateSourceDependencies>
-      <GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
-      <InlineFunctionExpansion>Default</InlineFunctionExpansion>
-      <IntrinsicFunctions>false</IntrinsicFunctions>
-      <IgnoreStandardIncludePath>false</IgnoreStandardIncludePath>
-      <LanguageStandard>stdcpp17</LanguageStandard>
-      <LanguageStandard_C>Default</LanguageStandard_C>
-      <MinimalRebuild>false</MinimalRebuild>
-      <ModuleDependenciesFile>x64\Debug\</ModuleDependenciesFile>
-      <ModuleOutputFile>x64\Debug\</ModuleOutputFile>
-      <OmitDefaultLibName>false</OmitDefaultLibName>
-      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
-      <WholeProgramOptimization>false</WholeProgramOptimization>
-      <ObjectFileName>x64\Debug\</ObjectFileName>
-      <CallingConvention>Cdecl</CallingConvention>
-      <ProgramDataBaseFileName>x64\Debug\vc143.pdb</ProgramDataBaseFileName>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
-      <PrecompiledHeaderOutputFile>x64\Debug\KhaoticCore.pch</PrecompiledHeaderOutputFile>
-      <PreprocessToFile>false</PreprocessToFile>
-      <PreprocessKeepComments>false</PreprocessKeepComments>
-      <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
-      <RemoveUnreferencedCodeData>true</RemoveUnreferencedCodeData>
-      <ScanSourceForModuleDependencies>false</ScanSourceForModuleDependencies>
-      <ShowIncludes>false</ShowIncludes>
-      <SourceDependenciesFile>x64\Debug\</SourceDependenciesFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <BufferSecurityCheck>true</BufferSecurityCheck>
-      <SmallerTypeCheck>false</SmallerTypeCheck>
-      <SpectreMitigation>false</SpectreMitigation>
-      <StructMemberAlignment>Default</StructMemberAlignment>
-      <TrackerLogDirectory>x64\Debug\KhaoticCore.tlog\</TrackerLogDirectory>
-      <TranslateIncludes>false</TranslateIncludes>
-      <MinimalRebuildFromTracking>true</MinimalRebuildFromTracking>
-      <TreatWarningAsError>false</TreatWarningAsError>
-      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
-      <UseFullPaths>true</UseFullPaths>
-      <WarningLevel>Level3</WarningLevel>
-      <XMLDocumentationFileName>x64\Debug\</XMLDocumentationFileName>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <IntelJCCErratum>false</IntelJCCErratum>
-      <BuildStlModules>false</BuildStlModules>
-      <TreatAngleIncludeAsExternal>false</TreatAngleIncludeAsExternal>
-      <ExternalWarningLevel>InheritWarningLevel</ExternalWarningLevel>
-      <TreatExternalTemplatesAsInternal>true</TreatExternalTemplatesAsInternal>
-      <DisableAnalyzeExternal>false</DisableAnalyzeExternal>
-      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_UNICODE;UNICODE;</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>F:\Github_Repo\khaotic-engine-Reborn\enginecustom\include\backends;F:\Github_Repo\khaotic-engine-Reborn\enginecustom\include\Inc;F:\Github_Repo\khaotic-engine-Reborn\enginecustom\include;F:\Github_Repo\khaotic-engine-Reborn\enginecustom\src\inc\shader;F:\Github_Repo\khaotic-engine-Reborn\enginecustom\src\inc\system;F:\Github_Repo\khaotic-engine-Reborn\enginecustom\include\Vulkan\Include;</AdditionalIncludeDirectories>
-      <LinkCompiled>true</LinkCompiled>
-    </ClCompile>
     <ClCompile Include="src\src\shader\font_shader_class.cpp" />
     <ClCompile Include="src\src\shader\light_map_shader_class.cpp" />
     <ClCompile Include="src\src\shader\light_shader_class.cpp" />
@@ -143,7 +67,6 @@
     <ClCompile Include="src\src\system\physics.cpp" />
     <ClCompile Include="src\src\system\position_class.cpp" />
     <ClCompile Include="src\src\system\render_texture_class.cpp" />
-    <ClCompile Include="src\src\system\shadow_map.cpp" />
     <ClCompile Include="src\src\system\Skybox.cpp" />
     <ClCompile Include="src\src\system\sprite_class.cpp" />
     <ClCompile Include="src\src\system\system_class.cpp" />
@@ -169,7 +92,6 @@
     <ClInclude Include="src\inc\shader\alpha_map_shader_class.h" />
     <ClInclude Include="src\inc\shader\celshade_class.h" />
     <ClInclude Include="src\inc\shader\color_shader_class.h" />
-    <ClInclude Include="src\inc\shader\depth_shader_class.h" />
     <ClInclude Include="src\inc\shader\font_shader_class.h" />
     <ClInclude Include="src\inc\shader\light_map_shader_class.h" />
     <ClInclude Include="src\inc\shader\light_shader_class.h" />
@@ -206,7 +128,6 @@
     <ClInclude Include="src\inc\system\position_class.h" />
     <ClInclude Include="src\inc\system\render_texture_class.h" />
     <ClInclude Include="src\inc\system\sceneManager.h" />
-    <ClInclude Include="src\inc\system\shadow_map.h" />
     <ClInclude Include="src\inc\system\Skybox.h" />
     <ClInclude Include="src\inc\system\sprite_class.h" />
     <ClInclude Include="src\inc\system\system_class.h" />
@@ -246,16 +167,6 @@
       <DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)\src\hlsl</DestinationFolders>
       <DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)\src\hlsl</DestinationFolders>
     </CopyFileToFolders>
-    <CopyFileToFolders Include="src\hlsl\depth.ps">
-      <DestinationFolders>F:\Github_Repo\khaotic-engine-Reborn\x64\Debug\\src\hlsl</DestinationFolders>
-      <DestinationFileName>%(Filename)%(Extension)</DestinationFileName>
-      <FileType>Document</FileType>
-    </CopyFileToFolders>
-    <CopyFileToFolders Include="src\hlsl\depth.vs">
-      <DestinationFolders>F:\Github_Repo\khaotic-engine-Reborn\x64\Debug\\src\hlsl</DestinationFolders>
-      <DestinationFileName>%(Filename)%(Extension)</DestinationFileName>
-      <FileType>Document</FileType>
-    </CopyFileToFolders>
     <CopyFileToFolders Include="src\hlsl\font.ps">
       <FileType>Document</FileType>
       <DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)\src\hlsl</DestinationFolders>
diff --git a/enginecustom/imgui.ini b/enginecustom/imgui.ini
index 3640275..1dbfb45 100644
--- a/enginecustom/imgui.ini
+++ b/enginecustom/imgui.ini
@@ -16,8 +16,8 @@ Collapsed=0
 DockId=0x00000011,0
 
 [Window][Terrain]
-Pos=0,19
-Size=280,842
+Pos=283,19
+Size=280,615
 Collapsed=0
 DockId=0x00000007,0
 
diff --git a/enginecustom/shader-error.txt b/enginecustom/shader-error.txt
index b5118314782349034f9d6b7acb9d6bfca5d7d438..7490caec3913af5d34485b60d31cc17ac7cf7a1e 100644
GIT binary patch
literal 57
zcmYc-D#|ZXh%h!aFtk!o56-Sk%C88>tVqoX&PYs2EmF5qNX;uLsw~LQ%qvmI%P&z#
M%P-AK;pJig05>BOX8-^I

literal 129
zcmXBNu?oU45CBkT!GFkB1tXE_k`K_mlf!}7^qL%vcjb~Se!YU@o8HaCooZ_1bHG(#
zNiV4sEOI19JK!kF@K<Q1${UIXNV#MvjWfkmPixut?s&Clckl*PMa`pk&Uw>VF-T<k
V;ACh*t~3*>>E`@<F5Pas`2r(XErI|5

diff --git a/enginecustom/src/hlsl/depth.ps b/enginecustom/src/hlsl/depth.ps
deleted file mode 100644
index d13f893..0000000
--- a/enginecustom/src/hlsl/depth.ps
+++ /dev/null
@@ -1,10 +0,0 @@
-struct PS_INPUT
-{
-    float4 position : SV_POSITION;
-};
-
-float4 DepthPixelShader(PS_INPUT input) : SV_TARGET
-{
-    // Pas de couleur, juste la profondeur
-    return float4(0.0f, 0.0f, 0.0f, 1.0f);
-}
\ No newline at end of file
diff --git a/enginecustom/src/hlsl/depth.vs b/enginecustom/src/hlsl/depth.vs
deleted file mode 100644
index f58476b..0000000
--- a/enginecustom/src/hlsl/depth.vs
+++ /dev/null
@@ -1,25 +0,0 @@
-cbuffer MatrixBuffer : register(b0)
-{
-    matrix world;
-    matrix view;
-    matrix projection;
-};
-
-struct VS_INPUT
-{
-    float3 position : POSITION;
-};
-
-struct VS_OUTPUT
-{
-    float4 position : SV_POSITION;
-};
-
-VS_OUTPUT DepthVertexShader(VS_INPUT input)
-{
-    VS_OUTPUT output;
-    float4 worldPosition = mul(float4(input.position, 1.0f), world);
-    float4 viewPosition = mul(worldPosition, view);
-    output.position = mul(viewPosition, projection);
-    return output;
-}
\ No newline at end of file
diff --git a/enginecustom/src/hlsl/sunlight.ps b/enginecustom/src/hlsl/sunlight.ps
index 729c220..0e1b84b 100644
--- a/enginecustom/src/hlsl/sunlight.ps
+++ b/enginecustom/src/hlsl/sunlight.ps
@@ -3,9 +3,6 @@
 /////////////
 Texture2D shaderTexture : register(t0);
 SamplerState SampleType : register(s0);
-Texture2D shadowMap : register(t1);
-SamplerState shadowSampleType : register(s1);
-
 cbuffer SunLightBuffer
 {
     float4 ambientColor;
@@ -27,7 +24,6 @@ struct PixelInputType
     float4 position : SV_POSITION;
     float2 tex : TEXCOORD0;
     float3 normal : NORMAL;
-    float4 lightPosition : TEXCOORD1;
 };
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -35,47 +31,23 @@ struct PixelInputType
 ////////////////////////////////////////////////////////////////////////////////
 float4 SunLightPixelShader(PixelInputType input) : SV_TARGET
 {
-
-    // temp return to check if the shader is working
-    return float4(1.0f, 0.0f, 0.0f, 1.0f);
-
     float4 textureColor;
     float4 color;
     float lightIntensity;
     float4 colorArray;
     float4 colorSum;
-    float bias = 0.001f;
-    float shadowFactor = 1.0f;
 
-    // Sample the pixel color from the texture using the sampler at this coordinate
+    // Sample the pixel color from the texture using the sampler at this texture coordinate location.
     textureColor = shaderTexture.Sample(SampleType, input.tex);
 
-    // Calculate shadow factor
-    // Projection division to normalize coordinates
-    float2 projectTexCoord;
-    projectTexCoord.x = input.lightPosition.x / input.lightPosition.w / 2.0f + 0.5f;
-    projectTexCoord.y = -input.lightPosition.y / input.lightPosition.w / 2.0f + 0.5f;
-    
-    if((saturate(projectTexCoord.x) == projectTexCoord.x) && (saturate(projectTexCoord.y) == projectTexCoord.y))
-    {
-        float depthValue = input.lightPosition.z / input.lightPosition.w;
-        float shadowDepth = shadowMap.Sample(shadowSampleType, projectTexCoord).r;
-        
-        if(depthValue - bias > shadowDepth)
-        {
-            // Pixel est dans l'ombre
-            shadowFactor = 0.3f; // Ombre non totale pour un effet plus r�aliste
-        }
-    }
-
     // Calculate the different amounts of light on this pixel based on the direction of the light.
     lightIntensity = saturate(dot(input.normal, -lightDirection));
 
     // Determine the diffuse color amount of the light.
-    colorArray = (diffuseColor * lightIntensity) * intensity * shadowFactor;
-    
+    colorArray = (diffuseColor * lightIntensity) * intensity;
+
     // Initialize the sum of colors.
-    colorSum = ambientColor; // Conserver l'�clairage ambiant m�me dans l'ombre
+    colorSum = float4(0.0f, 0.0f, 0.0f, 1.0f);
 
     // Add the light color.
     colorSum.r += colorArray.r;
@@ -86,4 +58,4 @@ float4 SunLightPixelShader(PixelInputType input) : SV_TARGET
     color = saturate(colorSum) * textureColor;
 
     return color;
-}
\ No newline at end of file
+}
diff --git a/enginecustom/src/hlsl/sunlight.vs b/enginecustom/src/hlsl/sunlight.vs
index 34a047a..46fab3b 100644
--- a/enginecustom/src/hlsl/sunlight.vs
+++ b/enginecustom/src/hlsl/sunlight.vs
@@ -22,12 +22,6 @@ cbuffer SunLightBuffer
     float intensity;
 };
 
-cbuffer LightViewMatrixBuffer : register(b2)
-{
-    matrix lightViewMatrix;
-    matrix lightProjectionMatrix;
-};
-
 //////////////
 // TYPEDEFS //
 //////////////
@@ -43,7 +37,6 @@ struct PixelInputType
     float4 position : SV_POSITION;
     float2 tex : TEXCOORD0;
     float3 normal : NORMAL;
-    float4 lightPosition : TEXCOORD1;
 };
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -52,30 +45,23 @@ struct PixelInputType
 PixelInputType SunLightVertexShader(VertexInputType input)
 {
     PixelInputType output;
-    float4 worldPosition; // D�claration de la variable manquante
 
     // Change the position vector to be 4 units for proper matrix calculations.
     input.position.w = 1.0f;
-    
-    // Calculate the position of the vertex against the world matrix
-    worldPosition = mul(input.position, worldMatrix);
-    
-    // Calculate position in light view space.
-    output.lightPosition = mul(worldPosition, lightViewMatrix);
-    output.lightPosition = mul(output.lightPosition, lightProjectionMatrix);
 
-    // Standard position calculation
-    output.position = mul(worldPosition, viewMatrix);
+    // Calculate the position of the vertex against the world, view, and projection matrices.
+    output.position = mul(input.position, worldMatrix);
+    output.position = mul(output.position, viewMatrix);
     output.position = mul(output.position, projectionMatrix);
     
     // Store the texture coordinates for the pixel shader.
     output.tex = input.tex;
     
     // Calculate the normal vector against the world matrix only.
-    output.normal = mul(input.normal, (float3x3)worldMatrix);
+    output.normal = mul(input.normal, (float3x3) worldMatrix);
 	
     // Normalize the normal vector.
     output.normal = normalize(output.normal);
 
     return output;
-}
\ No newline at end of file
+}
diff --git a/enginecustom/src/inc/shader/depth_shader_class.h b/enginecustom/src/inc/shader/depth_shader_class.h
deleted file mode 100644
index f442c8c..0000000
--- a/enginecustom/src/inc/shader/depth_shader_class.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#pragma once
-
-#include <d3d11.h>
-#include <DirectXMath.h>
-using namespace DirectX;
-
-class depth_shader_class
-{
-public:
-    depth_shader_class();
-    ~depth_shader_class();
-
-    bool initialize(ID3D11Device* device, HWND hwnd);
-    void shutdown();
-    bool render(ID3D11DeviceContext* deviceContext, int indexCount, 
-                XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix);
-
-private:
-    struct MatrixBufferType
-    {
-        XMMATRIX world;
-        XMMATRIX view;
-        XMMATRIX projection;
-    };
-
-    bool initialize_shader(ID3D11Device* device, HWND hwnd, const WCHAR* vsFilename, const WCHAR* psFilename);
-    void shutdown_shader();
-    void output_shader_error_message(ID3D10Blob* errorMessage, HWND hwnd, const WCHAR* shaderFilename);
-    bool set_shader_parameters(ID3D11DeviceContext* deviceContext, 
-                              XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix);
-    void render_shader(ID3D11DeviceContext* deviceContext, int indexCount);
-
-    ID3D11VertexShader* vertex_shader_;
-    ID3D11PixelShader* pixel_shader_;
-    ID3D11InputLayout* layout_;
-    ID3D11Buffer* matrix_buffer_;
-};
\ No newline at end of file
diff --git a/enginecustom/src/inc/shader/shader_manager_class.h b/enginecustom/src/inc/shader/shader_manager_class.h
index cf805ff..11ea684 100644
--- a/enginecustom/src/inc/shader/shader_manager_class.h
+++ b/enginecustom/src/inc/shader/shader_manager_class.h
@@ -19,7 +19,6 @@
 #include "celshade_class.h"
 #include "skybox_shader_class.h"
 #include "sunlight_shader_class.h"
-#include "depth_shader_class.h"
 
 using namespace DirectX;
 
@@ -45,10 +44,8 @@ public:
     bool render_refraction_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT3, XMFLOAT4[], XMFLOAT4[], XMFLOAT4[], XMFLOAT4);
     bool render_water_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, ID3D11ShaderResourceView*, float, float);
     bool render_cel_shading_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
-	bool render_sunlight_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float, ID3D11ShaderResourceView
-	                            * shadowMap, XMMATRIX lightViewMatrix, XMMATRIX lightProjectionMatrix);
+	bool render_sunlight_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
 	bool render_skybox_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
-	bool render_depth_shader(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX);
 	
 private:
     texture_shader_class* texture_shader_;
@@ -65,7 +62,6 @@ private:
     celshade_class* cel_shading_shader_;
 	sunlight_shader_class* sunlight_shader_;
 	skybox_shader_class* skybox_shader_;
-	depth_shader_class* depth_shader_;
 };
 
 #endif
\ No newline at end of file
diff --git a/enginecustom/src/inc/shader/sunlight_shader_class.h b/enginecustom/src/inc/shader/sunlight_shader_class.h
index 90b73b2..2d15d4d 100644
--- a/enginecustom/src/inc/shader/sunlight_shader_class.h
+++ b/enginecustom/src/inc/shader/sunlight_shader_class.h
@@ -38,12 +38,6 @@ private :
 		XMFLOAT4 sun_color;
 	};
 
-	struct light_view_matrix_buffer_type
-	{
-		XMMATRIX light_view;
-		XMMATRIX light_projection;
-	};
-
 public :
 	sunlight_shader_class();
 	sunlight_shader_class(const sunlight_shader_class&);
@@ -51,29 +45,14 @@ public :
 
 	bool initialize(ID3D11Device*, HWND);
 	void shutdown();
-	bool render(
-		ID3D11DeviceContext* device_context,
-		int index_count,
-		XMMATRIX world_matrix,
-		XMMATRIX view_matrix,
-		XMMATRIX projection_matrix,
-		ID3D11ShaderResourceView* texture,
-		XMFLOAT4 diffuse_color,
-		XMFLOAT4 ambient_color,
-		XMFLOAT3 sun_direction,
-		float sun_intensity,
-		ID3D11ShaderResourceView* shadow_map,
-		XMMATRIX light_view_matrix,
-		XMMATRIX light_projection_matrix
-		);
+	bool render(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3,float);
 
 private:
 	bool initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);
 	void shutdown_shader();
 	void output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);
 
-	bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float, ID3D11ShaderResourceView
-	                           * shadowMap, XMMATRIX lightViewMatrix, XMMATRIX lightProjectionMatrix);
+	bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4, XMFLOAT4, XMFLOAT3, float);
 	void render_shader(ID3D11DeviceContext*, int);
 
 private:
@@ -86,7 +65,4 @@ private:
 	ID3D11Buffer* sunlight_buffer_;
 	ID3D11Buffer* sunlight_color_buffer_;
 	ID3D11Buffer* sunlight_position_buffer_;
-	ID3D11Buffer* light_view_matrix_buffer_;
-	ID3D11ShaderResourceView* shadow_map_texture_;
-	ID3D11SamplerState* shadow_sampler_state_;
 };
\ No newline at end of file
diff --git a/enginecustom/src/inc/system/application_class.h b/enginecustom/src/inc/system/application_class.h
index 82c650b..08af6f5 100644
--- a/enginecustom/src/inc/system/application_class.h
+++ b/enginecustom/src/inc/system/application_class.h
@@ -43,8 +43,6 @@
 #include <DirectXMath.h>
 #include <mutex>
 
-#include "shadow_map.h"
-
 
 /////////////
 // GLOBALS //
@@ -187,17 +185,8 @@ private:
 	bool render_scene_to_texture(float);
 	bool render_refraction_to_texture();
 	bool render_reflection_to_texture();
-	bool render_pass(
-		const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues,
-		XMFLOAT4* diffuse,
-		XMFLOAT4* position,
-		XMFLOAT4* ambient,
-		XMMATRIX view,
-		XMMATRIX projection
-		);
-	bool create_shadow_map(
-		const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues
-	);
+	bool render_pass(const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues, XMFLOAT4* diffuse, XMFLOAT4* position, XMFLOAT4* ambient, XMMATRIX view, XMMATRIX projection);
+
 	void update_skybox_position();
 	
 public :
@@ -331,18 +320,6 @@ private :
 	// ------------------------------------------------- //
 
 	input inputs_;
-
-	// ------------------------------------------------- //
-	// -------------------- Shadows -------------------- //
-	// ------------------------------------------------- //
-
-	shadow_map* shadow_map_;
-	camera_class* light_camera_;
-	XMFLOAT4 light_position_buffer_;
-	XMFLOAT3 light_rotation_buffer_;
-	XMMATRIX light_view_matrix_;
-	XMMATRIX light_projection_matrix_;
-	ID3D11ShaderResourceView* shadow_srv_;
 };
 
 #endif
\ No newline at end of file
diff --git a/enginecustom/src/inc/system/shadow_map.h b/enginecustom/src/inc/system/shadow_map.h
deleted file mode 100644
index 2f4e19f..0000000
--- a/enginecustom/src/inc/system/shadow_map.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#pragma once
-#include <d3d11.h>
-
-class shadow_map
-{
-public:
-
-    shadow_map();
-    shadow_map(const shadow_map&) = delete;
-    shadow_map& operator=(const shadow_map&) = delete;
-    ~shadow_map();
-
-    bool initialize(
-        ID3D11Device* device,
-        int shadow_map_width,
-        int shadow_map_height
-        );
-
-    void set_render_target(ID3D11DeviceContext* context);
-    void clear_render_target(ID3D11DeviceContext* context, float depth);
-
-    ID3D11ShaderResourceView* get_shader_resource_view() const;
-
-    void shutdown();
-
-private:
-    ID3D11Texture2D* depth_texture_;
-    ID3D11DepthStencilView* depth_stencil_view_;
-    ID3D11ShaderResourceView* shader_resource_view_;
-    D3D11_VIEWPORT viewport_;
-
-    
-};
diff --git a/enginecustom/src/src/shader/depth_shader_class.cpp b/enginecustom/src/src/shader/depth_shader_class.cpp
deleted file mode 100644
index 183261a..0000000
--- a/enginecustom/src/src/shader/depth_shader_class.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-#include "depth_shader_class.h"
-
-#include <d3dcompiler.h>
-
-#include "logger.h"
-
-depth_shader_class::depth_shader_class()
-{
-    vertex_shader_ = nullptr;
-    pixel_shader_ = nullptr;
-    layout_ = nullptr;
-    matrix_buffer_ = nullptr;
-}
-
-depth_shader_class::~depth_shader_class()
-{
-    shutdown();
-}
-
-bool depth_shader_class::initialize(ID3D11Device* device, HWND hwnd)
-{
-
-    Logger::Get().Log("Initializing depth shader class", __FILE__, __LINE__, Logger::LogLevel::Initialize);
-    
-    // Charger et compiler les shaders (remplacez les chemins par les v�tres)
-    bool result = initialize_shader(device, hwnd, L"src/hlsl/depth.vs", L"src/hlsl/depth.ps");
-    if (!result)
-    {
-        Logger::Get().Log("Failed to initialize depth shader", __FILE__, __LINE__, Logger::LogLevel::Error);
-        return false;
-    }
-
-    Logger::Get().Log("Initialized depth shader class", __FILE__, __LINE__, Logger::LogLevel::Info);
-    
-    return true;
-}
-
-void depth_shader_class::shutdown()
-{
-    shutdown_shader();
-}
-
-bool depth_shader_class::render(ID3D11DeviceContext* deviceContext, int indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix)
-{
-    if (!set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix))
-        return false;
-
-    render_shader(deviceContext, indexCount);
-    return true;
-}
-
-bool depth_shader_class::initialize_shader(ID3D11Device* device, HWND hwnd, const WCHAR* vsFilename, const WCHAR* psFilename)
-{
-    HRESULT result;
-    ID3DBlob* vertexShaderBuffer = nullptr;
-    ID3DBlob* pixelShaderBuffer = nullptr;
-    ID3DBlob* errorMessage = nullptr;
-
-    // Compiler le vertex shader
-    result = D3DCompileFromFile(vsFilename, nullptr, nullptr, "DepthVertexShader", "vs_5_0", 0, 0, &vertexShaderBuffer, &errorMessage);
-    if (FAILED(result))
-    {
-        if (errorMessage)
-        {
-            output_shader_error_message(errorMessage, hwnd, vsFilename);
-            errorMessage->Release();
-        }
-        else
-        {
-            Logger::Get().Log("Fichier de vertex shader introuvable: " + std::to_string(reinterpret_cast<uintptr_t>(vsFilename)), __FILE__, __LINE__, Logger::LogLevel::Error);
-        }
-        return false;
-    }
-
-    // Compiler le pixel shader
-    errorMessage = nullptr;
-    result = D3DCompileFromFile(psFilename, nullptr, nullptr, "DepthPixelShader", "ps_5_0", 0, 0, &pixelShaderBuffer, &errorMessage);
-    if (FAILED(result))
-    {
-        if (errorMessage)
-        {
-            output_shader_error_message(errorMessage, hwnd, psFilename);
-            errorMessage->Release();
-        }
-        else
-        {
-            Logger::Get().Log("Fichier de pixel shader introuvable: " + std::to_string(reinterpret_cast<uintptr_t>(psFilename)), __FILE__, __LINE__, Logger::LogLevel::Error);
-        }
-        
-        if (vertexShaderBuffer)
-        {
-            vertexShaderBuffer->Release();
-        }
-        return false;
-    }
-
-    // Cr�er les shaders
-    device->CreateVertexShader(vertexShaderBuffer->GetBufferPointer(), vertexShaderBuffer->GetBufferSize(), nullptr, &vertex_shader_);
-    device->CreatePixelShader(pixelShaderBuffer->GetBufferPointer(), pixelShaderBuffer->GetBufferSize(), nullptr, &pixel_shader_);
-
-    // D�finir la description du layout d'entr�e
-    D3D11_INPUT_ELEMENT_DESC polygonLayout[1];
-    polygonLayout[0].SemanticName = "POSITION";
-    polygonLayout[0].SemanticIndex = 0;
-    polygonLayout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;
-    polygonLayout[0].InputSlot = 0;
-    polygonLayout[0].AlignedByteOffset = 0;
-    polygonLayout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
-    polygonLayout[0].InstanceDataStepRate = 0;
-
-    // Cr�er le layout
-    device->CreateInputLayout(polygonLayout, 1, vertexShaderBuffer->GetBufferPointer(), vertexShaderBuffer->GetBufferSize(), &layout_);
-
-    // Lib�rer les buffers
-    vertexShaderBuffer->Release();
-    pixelShaderBuffer->Release();
-
-    // Cr�er le buffer de matrices
-    D3D11_BUFFER_DESC matrixBufferDesc = {};
-    matrixBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
-    matrixBufferDesc.ByteWidth = sizeof(MatrixBufferType);
-    matrixBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-    matrixBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-    device->CreateBuffer(&matrixBufferDesc, nullptr, &matrix_buffer_);
-
-    return true;
-}
-
-bool depth_shader_class::set_shader_parameters(ID3D11DeviceContext* deviceContext, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix)
-{
-    D3D11_MAPPED_SUBRESOURCE mappedResource;
-    MatrixBufferType* dataPtr;
-
-    // Transposer les matrices pour le shader
-    worldMatrix = XMMatrixTranspose(worldMatrix);
-    viewMatrix = XMMatrixTranspose(viewMatrix);
-    projectionMatrix = XMMatrixTranspose(projectionMatrix);
-
-    // Mapper le buffer
-    HRESULT result = deviceContext->Map(matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
-    if (FAILED(result))
-        return false;
-
-    dataPtr = (MatrixBufferType*)mappedResource.pData;
-    dataPtr->world = worldMatrix;
-    dataPtr->view = viewMatrix;
-    dataPtr->projection = projectionMatrix;
-
-    deviceContext->Unmap(matrix_buffer_, 0);
-
-    // D�finir le buffer de constantes pour le vertex shader
-    deviceContext->VSSetConstantBuffers(0, 1, &matrix_buffer_);
-
-    return true;
-}
-
-void depth_shader_class::render_shader(ID3D11DeviceContext* deviceContext, int indexCount)
-{
-    // D�finir le layout d'entr�e
-    deviceContext->IASetInputLayout(layout_);
-
-    // D�finir les shaders
-    deviceContext->VSSetShader(vertex_shader_, nullptr, 0);
-    deviceContext->PSSetShader(pixel_shader_, nullptr, 0);
-
-    // Dessiner
-    deviceContext->DrawIndexed(indexCount, 0, 0);
-}
-
-void depth_shader_class::shutdown_shader()
-{
-    // Lib�rer le buffer de matrice
-    if (matrix_buffer_)
-    {
-        matrix_buffer_->Release();
-        matrix_buffer_ = nullptr;
-    }
-
-    // Lib�rer le layout
-    if (layout_)
-    {
-        layout_->Release();
-        layout_ = nullptr;
-    }
-
-    // Lib�rer le pixel shader
-    if (pixel_shader_)
-    {
-        pixel_shader_->Release();
-        pixel_shader_ = nullptr;
-    }
-
-    // Lib�rer le vertex shader
-    if (vertex_shader_)
-    {
-        vertex_shader_->Release();
-        vertex_shader_ = nullptr;
-    }
-}
-
-void depth_shader_class::output_shader_error_message(ID3DBlob* errorMessage, HWND hwnd, const WCHAR* shaderFilename)
-{
-    // Obtenir un pointeur vers le message d'erreur
-    char* compileErrors = (char*)(errorMessage->GetBufferPointer());
-
-    // Obtenir la taille du message
-    SIZE_T bufferSize = errorMessage->GetBufferSize();
-    
-    // Allouer de la m�moire pour le message d'erreur format�
-    char* message = new char[bufferSize + 100];
-    
-    // D�finir le message d'erreur format�
-    sprintf_s(message, bufferSize + 100, "Erreur de compilation du shader %ls :\n%s", 
-              shaderFilename, compileErrors);
-    
-    // Afficher le message d'erreur dans la console
-    Logger::Get().Log(message, __FILE__, __LINE__, Logger::LogLevel::Error);
-    
-    // Afficher une bo�te de dialogue avec l'erreur
-    MessageBoxA(hwnd, message, "Erreur de Shader", MB_OK);
-    
-    // Lib�rer la m�moire
-    delete[] message;
-}
\ No newline at end of file
diff --git a/enginecustom/src/src/shader/shader_manager_class.cpp b/enginecustom/src/src/shader/shader_manager_class.cpp
index 756f44b..dcdb19c 100644
--- a/enginecustom/src/src/shader/shader_manager_class.cpp
+++ b/enginecustom/src/src/shader/shader_manager_class.cpp
@@ -149,14 +149,6 @@ bool shader_manager_class::initialize(ID3D11Device* device, HWND hwnd)
         return false;
     }
 
-    depth_shader_ = new depth_shader_class;
-    result = depth_shader_->initialize(device, hwnd);
-    if (!result)
-    {
-        Logger::Get().Log("Error initializing depth_shader_class", __FILE__, __LINE__, Logger::LogLevel::Error);
-        return false;
-    }
-
     Logger::Get().Log("shader_manager_class initialized", __FILE__, __LINE__, Logger::LogLevel::Initialize);
 
     return true;
@@ -276,13 +268,6 @@ void shader_manager_class::shutdown()
         skybox_shader_ = 0;
     }
 
-    if (depth_shader_)
-    {
-        skybox_shader_->Shutdown();
-        delete depth_shader_;
-        depth_shader_ = 0;
-    }
-
     Logger::Get().Log("shader_manager_class shut down", __FILE__, __LINE__, Logger::LogLevel::Shutdown);
 }
 
@@ -465,39 +450,12 @@ bool shader_manager_class::render_cel_shading_shader(ID3D11DeviceContext* device
     return true;
 }
 
-bool shader_manager_class::render_sunlight_shader(
-    ID3D11DeviceContext* deviceContext,
-    int indexCount,
-    XMMATRIX worldMatrix,
-    XMMATRIX viewMatrix,
-    XMMATRIX projectionMatrix,
-	ID3D11ShaderResourceView* texture,
-	XMFLOAT4 diffuseColor,
-	XMFLOAT4 ambientColor,
-	XMFLOAT3 sunDirection,
-	float sunIntensity,
-	ID3D11ShaderResourceView* shadowMap,
-	XMMATRIX lightViewMatrix,
-	XMMATRIX lightProjectionMatrix
-	)
+bool shader_manager_class::render_sunlight_shader(ID3D11DeviceContext* deviceContext, int indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix,
+	ID3D11ShaderResourceView* texture, XMFLOAT4 diffuseColor, XMFLOAT4 ambientColor, XMFLOAT3 sunDirection, float sunIntensity)
 {
 	bool result;
 
-	result = sunlight_shader_->render(
-	    deviceContext,
-	    indexCount,
-	    worldMatrix,
-	    viewMatrix,
-	    projectionMatrix,
-	    texture,
-	    diffuseColor,
-	    ambientColor,
-	    sunDirection,
-	    sunIntensity,
-	    shadowMap,
-	    lightViewMatrix,
-	    lightProjectionMatrix
-	    );
+	result = sunlight_shader_->render(deviceContext, indexCount, worldMatrix, viewMatrix, projectionMatrix, texture, diffuseColor, ambientColor, sunDirection, sunIntensity);
 	if (!result)
 	{
 		return false;
@@ -519,16 +477,3 @@ bool shader_manager_class::render_skybox_shader(ID3D11DeviceContext* deviceConte
 
     return true;
 }
-
-bool shader_manager_class::render_depth_shader(ID3D11DeviceContext* deviceContext, int indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix)
-{
-    bool result;
-
-    result = depth_shader_->render(deviceContext, indexCount, worldMatrix, viewMatrix, projectionMatrix);
-    if (!result)
-    {
-        return false;
-    }
-
-    return true;
-}
\ No newline at end of file
diff --git a/enginecustom/src/src/shader/sunlight_shader_class.cpp b/enginecustom/src/src/shader/sunlight_shader_class.cpp
index e81c4da..da53368 100644
--- a/enginecustom/src/src/shader/sunlight_shader_class.cpp
+++ b/enginecustom/src/src/shader/sunlight_shader_class.cpp
@@ -1,552 +1,462 @@
+////////////////////////////////////////////////////////////////////////////////
+// Filename: lightshaderclass.cpp
+////////////////////////////////////////////////////////////////////////////////
 #include "sunlight_shader_class.h"
 
+
 sunlight_shader_class::sunlight_shader_class()
 {
-	vertex_shader_ = nullptr;
-	pixel_shader_ = nullptr;
-	layout_ = nullptr;
-	sample_state_ = nullptr;
-	matrix_buffer_ = nullptr;
-	camera_buffer_ = nullptr;
-	sunlight_buffer_ = nullptr;
-	sunlight_color_buffer_ = nullptr;
-	sunlight_position_buffer_ = nullptr;
-	light_view_matrix_buffer_ = nullptr;
-	shadow_map_texture_ = nullptr;
-	shadow_sampler_state_ = nullptr;
+    vertex_shader_ = 0;
+    pixel_shader_ = 0;
+    layout_ = 0;
+    sample_state_ = 0;
+    matrix_buffer_ = 0;
+    camera_buffer_ = 0;
+    sunlight_buffer_ = 0;
+    sunlight_color_buffer_ = 0;
+    sunlight_position_buffer_ = 0;
 }
 
-sunlight_shader_class::sunlight_shader_class(const sunlight_shader_class&)
+
+sunlight_shader_class::sunlight_shader_class(const sunlight_shader_class& other)
 {
 }
 
+
 sunlight_shader_class::~sunlight_shader_class()
 {
 }
 
+
 bool sunlight_shader_class::initialize(ID3D11Device* device, HWND hwnd)
 {
-	bool result;
-	WCHAR vs_filename[128];
-	WCHAR ps_filename[128];
+    Logger::Get().Log("Initializing LightShaderClass", __FILE__, __LINE__, Logger::LogLevel::Initialize);
 
-	// D�finir les fichiers des shaders vertex et pixel
-	wcscpy_s(vs_filename, 128, L"./src/hlsl/sunlight.vs");
-	wcscpy_s(ps_filename, 128, L"./src/hlsl/sunlight.ps");
+    wchar_t vsFilename[128];
+    wchar_t psFilename[128];
+    int error;
+    bool result;
 
-	// Initialiser les shaders
-	result = initialize_shader(device, hwnd, vs_filename, ps_filename);
-	if (!result)
-	{
-		Logger::Get().Log("�chec d'initialisation des shaders sunlight", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Set the filename of the vertex shader.
+    error = wcscpy_s(vsFilename, 128, L"src/hlsl/sunlight.vs");
+    if (error != 0)
+    {
+        Logger::Get().Log("Failed to copy string", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	return true;
+    // Set the filename of the pixel shader.
+    error = wcscpy_s(psFilename, 128, L"src/hlsl/sunlight.ps");
+    if (error != 0)
+    {
+        Logger::Get().Log("Failed to copy string", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
+    // initialize the vertex and pixel shaders.
+    result = initialize_shader(device, hwnd, vsFilename, psFilename);
+    if (!result)
+    {
+        Logger::Get().Log("Failed to initialize shader", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
+
+    Logger::Get().Log("SunLightShaderClass initialized", __FILE__, __LINE__, Logger::LogLevel::Initialize);
+
+    return true;
 }
 
+
 void sunlight_shader_class::shutdown()
 {
-	shutdown_shader();
-	return;
+    // shutdown the vertex and pixel shaders as well as the related objects.
+    shutdown_shader();
+
+    return;
 }
 
-bool sunlight_shader_class::render(ID3D11DeviceContext* device_context, int index_count, XMMATRIX world_matrix, XMMATRIX view_matrix, XMMATRIX projection_matrix, ID3D11ShaderResourceView* texture, XMFLOAT4 diffuse_color, XMFLOAT4 ambient_color, XMFLOAT3 sun_direction, float sun_intensity, ID3D11ShaderResourceView* shadow_map, XMMATRIX light_view_matrix, XMMATRIX light_projection_matrix)
+bool sunlight_shader_class::render(ID3D11DeviceContext* deviceContext, int indexCount, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix,
+    ID3D11ShaderResourceView* texture, XMFLOAT4 diffuseColor, XMFLOAT4 ambientColor, XMFLOAT3 sunDirection, float sunIntensity)
 {
-	bool result;
+    bool result;
 
-	// D�finir les param�tres du shader
-	result = set_shader_parameters(device_context, world_matrix, view_matrix, projection_matrix, texture, diffuse_color, ambient_color, sun_direction, sun_intensity, shadow_map, light_view_matrix, light_projection_matrix);
-	if (!result)
-	{
-		Logger::Get().Log("�chec de d�finition des param�tres du shader sunlight", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
 
-	// Rendre le shader
-	render_shader(device_context, index_count);
+    // Set the shader parameters that it will use for rendering.
+    result = set_shader_parameters(deviceContext, worldMatrix, viewMatrix, projectionMatrix, texture, diffuseColor, ambientColor, sunDirection, sunIntensity);
+    if (!result)
+    {
+        Logger::Get().Log("Failed to set shader parameters", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	return true;
+    // Now render the prepared buffers with the shader.
+    render_shader(deviceContext, indexCount);
+
+    return true;
 }
 
-bool sunlight_shader_class::initialize_shader(ID3D11Device* device, HWND hwnd, WCHAR* vs_filename, WCHAR* ps_filename)
+
+bool sunlight_shader_class::initialize_shader(ID3D11Device* device, HWND hwnd, WCHAR* vsFilename, WCHAR* psFilename)
 {
-	HRESULT result;
-	ID3D10Blob* error_message = nullptr;
-	ID3D10Blob* vertex_shader_buffer = nullptr;
-	ID3D10Blob* pixel_shader_buffer = nullptr;
-	D3D11_INPUT_ELEMENT_DESC polygon_layout[3];
-	unsigned int num_elements;
-	D3D11_BUFFER_DESC matrix_buffer_desc;
-	D3D11_BUFFER_DESC camera_buffer_desc;
-	D3D11_BUFFER_DESC light_buffer_desc;
-	D3D11_BUFFER_DESC light_color_buffer_desc;
-	D3D11_BUFFER_DESC light_view_matrix_buffer_desc;
-	D3D11_SAMPLER_DESC sampler_desc;
-	D3D11_SAMPLER_DESC shadow_sampler_desc;
+    Logger::Get().Log("Initializing shader", __FILE__, __LINE__, Logger::LogLevel::Initialize);
 
-	// Compiler le vertex shader
-	result = D3DCompileFromFile(vs_filename, NULL, NULL, "SunLightVertexShader", "vs_5_0", D3D10_SHADER_ENABLE_STRICTNESS, 0, &vertex_shader_buffer, &error_message);
-	if (FAILED(result))
-	{
-		if (error_message)
-		{
-			output_shader_error_message(error_message, hwnd, vs_filename);
-		}
-		else
-		{
-			MessageBox(hwnd, vs_filename, L"Fichier shader manquant", MB_OK);
-		}
+    HRESULT result;
+    ID3D10Blob* errorMessage;
+    ID3D10Blob* vertexShaderBuffer;
+    ID3D10Blob* pixelShaderBuffer;
+    D3D11_INPUT_ELEMENT_DESC polygonLayout[3];
+    unsigned int numElements;
+    D3D11_SAMPLER_DESC samplerDesc;
+    D3D11_BUFFER_DESC matrixBufferDesc;
+    D3D11_BUFFER_DESC sunlightBufferDesc;
 
-		return false;
-	}
+    // initialize the pointers this function will use to null.
+    errorMessage = 0;
+    vertexShaderBuffer = 0;
+    pixelShaderBuffer = 0;
 
-	// Compiler le pixel shader
-	result = D3DCompileFromFile(ps_filename, NULL, NULL, "SunLightPixelShader", "ps_5_0", D3D10_SHADER_ENABLE_STRICTNESS, 0, &pixel_shader_buffer, &error_message);
-	if (FAILED(result))
-	{
-		if (error_message)
-		{
-			output_shader_error_message(error_message, hwnd, ps_filename);
-		}
-		else
-		{
-			MessageBox(hwnd, ps_filename, L"Fichier shader manquant", MB_OK);
-		}
+    // Compile the vertex shader code.
+    result = D3DCompileFromFile(vsFilename, NULL, NULL, "SunLightVertexShader", "vs_5_0", D3D10_SHADER_ENABLE_STRICTNESS, 0, &vertexShaderBuffer, &errorMessage);
+    if (FAILED(result))
+    {
+        if (errorMessage)
+        {
+            output_shader_error_message(errorMessage, hwnd, vsFilename);
+        }
+        else
+        {
+            Logger::Get().Log("Failed to compile shader", __FILE__, __LINE__, Logger::LogLevel::Error);
+        }
+        return false;
+    }
 
-		return false;
-	}
+    // Compile the pixel shader code.
+    result = D3DCompileFromFile(psFilename, NULL, NULL, "SunLightPixelShader", "ps_5_0", D3D10_SHADER_ENABLE_STRICTNESS, 0, &pixelShaderBuffer, &errorMessage);
+    if (FAILED(result))
+    {
+        if (errorMessage)
+        {
+            output_shader_error_message(errorMessage, hwnd, psFilename);
+        }
+        else
+        {
+            Logger::Get().Log("Failed to compile shader", __FILE__, __LINE__, Logger::LogLevel::Error);
+        }
+        return false;
+    }
 
-	// Cr�er le vertex shader � partir du buffer
-	result = device->CreateVertexShader(vertex_shader_buffer->GetBufferPointer(), vertex_shader_buffer->GetBufferSize(), NULL, &vertex_shader_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du vertex shader", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the vertex shader from the buffer.
+    result = device->CreateVertexShader(vertexShaderBuffer->GetBufferPointer(), vertexShaderBuffer->GetBufferSize(), NULL, &vertex_shader_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create vertex shader", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Cr�er le pixel shader � partir du buffer
-	result = device->CreatePixelShader(pixel_shader_buffer->GetBufferPointer(), pixel_shader_buffer->GetBufferSize(), NULL, &pixel_shader_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du pixel shader", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the pixel shader from the buffer.
+    result = device->CreatePixelShader(pixelShaderBuffer->GetBufferPointer(), pixelShaderBuffer->GetBufferSize(), NULL, &pixel_shader_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create pixel shader", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Cr�er le layout d'entr�e du vertex shader
-	polygon_layout[0].SemanticName = "POSITION";
-	polygon_layout[0].SemanticIndex = 0;
-	polygon_layout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;
-	polygon_layout[0].InputSlot = 0;
-	polygon_layout[0].AlignedByteOffset = 0;
-	polygon_layout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
-	polygon_layout[0].InstanceDataStepRate = 0;
+    // Create the vertex input layout description.
+    polygonLayout[0].SemanticName = "POSITION";
+    polygonLayout[0].SemanticIndex = 0;
+    polygonLayout[0].Format = DXGI_FORMAT_R32G32B32_FLOAT;
+    polygonLayout[0].InputSlot = 0;
+    polygonLayout[0].AlignedByteOffset = 0;
+    polygonLayout[0].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
+    polygonLayout[0].InstanceDataStepRate = 0;
 
-	polygon_layout[1].SemanticName = "TEXCOORD";
-	polygon_layout[1].SemanticIndex = 0;
-	polygon_layout[1].Format = DXGI_FORMAT_R32G32_FLOAT;
-	polygon_layout[1].InputSlot = 0;
-	polygon_layout[1].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
-	polygon_layout[1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
-	polygon_layout[1].InstanceDataStepRate = 0;
+    polygonLayout[1].SemanticName = "TEXCOORD";
+    polygonLayout[1].SemanticIndex = 0;
+    polygonLayout[1].Format = DXGI_FORMAT_R32G32_FLOAT;
+    polygonLayout[1].InputSlot = 0;
+    polygonLayout[1].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
+    polygonLayout[1].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
+    polygonLayout[1].InstanceDataStepRate = 0;
 
-	polygon_layout[2].SemanticName = "NORMAL";
-	polygon_layout[2].SemanticIndex = 0;
-	polygon_layout[2].Format = DXGI_FORMAT_R32G32B32_FLOAT;
-	polygon_layout[2].InputSlot = 0;
-	polygon_layout[2].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
-	polygon_layout[2].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
-	polygon_layout[2].InstanceDataStepRate = 0;
+    polygonLayout[2].SemanticName = "NORMAL";
+    polygonLayout[2].SemanticIndex = 0;
+    polygonLayout[2].Format = DXGI_FORMAT_R32G32B32_FLOAT;
+    polygonLayout[2].InputSlot = 0;
+    polygonLayout[2].AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
+    polygonLayout[2].InputSlotClass = D3D11_INPUT_PER_VERTEX_DATA;
+    polygonLayout[2].InstanceDataStepRate = 0;
 
-	// Obtenir le nombre d'�l�ments dans le layout
-	num_elements = sizeof(polygon_layout) / sizeof(polygon_layout[0]);
+    // Get a count of the elements in the layout.
+    numElements = sizeof(polygonLayout) / sizeof(polygonLayout[0]);
 
-	// Cr�er le layout d'entr�e du vertex
-	result = device->CreateInputLayout(polygon_layout, num_elements, vertex_shader_buffer->GetBufferPointer(), vertex_shader_buffer->GetBufferSize(), &layout_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du layout d'entr�e", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the vertex input layout.
+    result = device->CreateInputLayout(polygonLayout, numElements, vertexShaderBuffer->GetBufferPointer(), vertexShaderBuffer->GetBufferSize(), &layout_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create input layout", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Lib�rer les buffers des shaders
-	vertex_shader_buffer->Release();
-	vertex_shader_buffer = nullptr;
+    // Release the vertex shader buffer and pixel shader buffer since they are no longer needed.
+    vertexShaderBuffer->Release();
+    vertexShaderBuffer = 0;
 
-	pixel_shader_buffer->Release();
-	pixel_shader_buffer = nullptr;
+    pixelShaderBuffer->Release();
+    pixelShaderBuffer = 0;
 
-	// Configurer les descripteurs des buffers constants
-	// Descripteur du buffer de matrices
-	matrix_buffer_desc.Usage = D3D11_USAGE_DYNAMIC;
-	matrix_buffer_desc.ByteWidth = sizeof(matrix_buffer_type);
-	matrix_buffer_desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-	matrix_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-	matrix_buffer_desc.MiscFlags = 0;
-	matrix_buffer_desc.StructureByteStride = 0;
+    // Create a texture sampler state description.
+    samplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
+    samplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
+    samplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
+    samplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
+    samplerDesc.MipLODBias = 0.0f;
+    samplerDesc.MaxAnisotropy = 1;
+    samplerDesc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;
+    samplerDesc.BorderColor[0] = 0;
+    samplerDesc.BorderColor[1] = 0;
+    samplerDesc.BorderColor[2] = 0;
+    samplerDesc.BorderColor[3] = 0;
+    samplerDesc.MinLOD = 0;
+    samplerDesc.MaxLOD = D3D11_FLOAT32_MAX;
 
-	// Cr�er le buffer constant de matrices
-	result = device->CreateBuffer(&matrix_buffer_desc, NULL, &matrix_buffer_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du buffer constant de matrices", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the texture sampler state.
+    result = device->CreateSamplerState(&samplerDesc, &sample_state_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create sampler state", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Descripteur du buffer de cam�ra
-	camera_buffer_desc.Usage = D3D11_USAGE_DYNAMIC;
-	camera_buffer_desc.ByteWidth = sizeof(camera_buffer_type);
-	camera_buffer_desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-	camera_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-	camera_buffer_desc.MiscFlags = 0;
-	camera_buffer_desc.StructureByteStride = 0;
+    // Setup the description of the dynamic matrix constant buffer that is in the vertex shader.
+    matrixBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
+    matrixBufferDesc.ByteWidth = sizeof(matrix_buffer_type);
+    matrixBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
+    matrixBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
+    matrixBufferDesc.MiscFlags = 0;
+    matrixBufferDesc.StructureByteStride = 0;
 
-	// Cr�er le buffer constant de cam�ra
-	result = device->CreateBuffer(&camera_buffer_desc, NULL, &camera_buffer_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du buffer constant de cam�ra", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the constant buffer pointer so we can access the vertex shader constant buffer from within this class.
+    result = device->CreateBuffer(&matrixBufferDesc, NULL, &matrix_buffer_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create matrix buffer", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Descripteur du buffer de lumi�re du soleil
-	light_buffer_desc.Usage = D3D11_USAGE_DYNAMIC;
-	light_buffer_desc.ByteWidth = sizeof(sun_light_buffer_type);
-	light_buffer_desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-	light_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-	light_buffer_desc.MiscFlags = 0;
-	light_buffer_desc.StructureByteStride = 0;
+    // Setup the description of the dynamic sunlight constant buffer that is in the pixel shader.
+    sunlightBufferDesc.Usage = D3D11_USAGE_DYNAMIC;
+    sunlightBufferDesc.ByteWidth = sizeof(sun_light_buffer_type);
+    sunlightBufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
+    sunlightBufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
+    sunlightBufferDesc.MiscFlags = 0;
+    sunlightBufferDesc.StructureByteStride = 0;
 
-	// Cr�er le buffer constant de lumi�re du soleil
-	result = device->CreateBuffer(&light_buffer_desc, NULL, &sunlight_buffer_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du buffer constant de lumi�re du soleil", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Create the constant buffer pointer so we can access the pixel shader constant buffer from within this class.
+    result = device->CreateBuffer(&sunlightBufferDesc, NULL, &sunlight_buffer_);
+    if (FAILED(result))
+    {
+        Logger::Get().Log("Failed to create sunlight buffer", __FILE__, __LINE__, Logger::LogLevel::Error);
+        return false;
+    }
 
-	// Descripteur du buffer de couleur de lumi�re du soleil
-	light_color_buffer_desc.Usage = D3D11_USAGE_DYNAMIC;
-	light_color_buffer_desc.ByteWidth = sizeof(sun_light_color_buffer_type);
-	light_color_buffer_desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-	light_color_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-	light_color_buffer_desc.MiscFlags = 0;
-	light_color_buffer_desc.StructureByteStride = 0;
+    Logger::Get().Log("Shader initialized", __FILE__, __LINE__, Logger::LogLevel::Initialize);
 
-	// Cr�er le buffer constant de couleur de lumi�re du soleil
-	result = device->CreateBuffer(&light_color_buffer_desc, NULL, &sunlight_color_buffer_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du buffer constant de couleur de lumi�re du soleil", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
-
-	// Descripteur du buffer de matrices de vue de lumi�re
-	light_view_matrix_buffer_desc.Usage = D3D11_USAGE_DYNAMIC;
-	light_view_matrix_buffer_desc.ByteWidth = sizeof(light_view_matrix_buffer_type);
-	light_view_matrix_buffer_desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
-	light_view_matrix_buffer_desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
-	light_view_matrix_buffer_desc.MiscFlags = 0;
-	light_view_matrix_buffer_desc.StructureByteStride = 0;
-
-	// Cr�er le buffer constant de matrices de vue de lumi�re
-	result = device->CreateBuffer(&light_view_matrix_buffer_desc, NULL, &light_view_matrix_buffer_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du buffer constant de matrices de vue de lumi�re", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
-
-	// Cr�er un sampler state pour la texture
-	sampler_desc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
-	sampler_desc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
-	sampler_desc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
-	sampler_desc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
-	sampler_desc.MipLODBias = 0.0f;
-	sampler_desc.MaxAnisotropy = 1;
-	sampler_desc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;
-	sampler_desc.BorderColor[0] = 0;
-	sampler_desc.BorderColor[1] = 0;
-	sampler_desc.BorderColor[2] = 0;
-	sampler_desc.BorderColor[3] = 0;
-	sampler_desc.MinLOD = 0;
-	sampler_desc.MaxLOD = D3D11_FLOAT32_MAX;
-
-	// Cr�er le sampler state
-	result = device->CreateSamplerState(&sampler_desc, &sample_state_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du sampler state", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
-
-	// Cr�er un sampler state pour la shadow map
-	shadow_sampler_desc.Filter = D3D11_FILTER_MIN_MAG_MIP_POINT;
-	shadow_sampler_desc.AddressU = D3D11_TEXTURE_ADDRESS_BORDER;
-	shadow_sampler_desc.AddressV = D3D11_TEXTURE_ADDRESS_BORDER;
-	shadow_sampler_desc.AddressW = D3D11_TEXTURE_ADDRESS_BORDER;
-	shadow_sampler_desc.MipLODBias = 0.0f;
-	shadow_sampler_desc.MaxAnisotropy = 1;
-	shadow_sampler_desc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;
-	shadow_sampler_desc.BorderColor[0] = 1.0f;
-	shadow_sampler_desc.BorderColor[1] = 1.0f;
-	shadow_sampler_desc.BorderColor[2] = 1.0f;
-	shadow_sampler_desc.BorderColor[3] = 1.0f;
-	shadow_sampler_desc.MinLOD = 0;
-	shadow_sampler_desc.MaxLOD = D3D11_FLOAT32_MAX;
-
-	// Cr�er le sampler state pour la shadow map
-	result = device->CreateSamplerState(&shadow_sampler_desc, &shadow_sampler_state_);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec de cr�ation du sampler state pour la shadow map", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
-
-	return true;
+    return true;
 }
 
+
+
+
 void sunlight_shader_class::shutdown_shader()
 {
-	// Lib�rer tous les objets
-	if (shadow_sampler_state_)
-	{
-		shadow_sampler_state_->Release();
-		shadow_sampler_state_ = nullptr;
-	}
+    Logger::Get().Log("Shutting down SunLightShaderClass", __FILE__, __LINE__, Logger::LogLevel::Shutdown);
 
-	if (light_view_matrix_buffer_)
-	{
-		light_view_matrix_buffer_->Release();
-		light_view_matrix_buffer_ = nullptr;
-	}
+    // Release the light constant buffers.
+    if (sunlight_color_buffer_)
+    {
+        sunlight_color_buffer_->Release();
+        sunlight_color_buffer_ = 0;
+    }
 
-	if (sunlight_color_buffer_)
-	{
-		sunlight_color_buffer_->Release();
-		sunlight_color_buffer_ = nullptr;
-	}
+    if (sunlight_position_buffer_)
+    {
+        sunlight_position_buffer_->Release();
+        sunlight_position_buffer_ = 0;
+    }
 
-	if (sunlight_buffer_)
-	{
-		sunlight_buffer_->Release();
-		sunlight_buffer_ = nullptr;
-	}
+    // Release the light constant buffer.
+    if (sunlight_buffer_)
+    {
+        sunlight_buffer_->Release();
+        sunlight_buffer_ = 0;
+    }
 
-	if (camera_buffer_)
-	{
-		camera_buffer_->Release();
-		camera_buffer_ = nullptr;
-	}
+    // Release the camera constant buffer.
+    if (camera_buffer_)
+    {
+        camera_buffer_->Release();
+        camera_buffer_ = 0;
+    }
 
-	if (matrix_buffer_)
-	{
-		matrix_buffer_->Release();
-		matrix_buffer_ = nullptr;
-	}
+    // Release the matrix constant buffer.
+    if (matrix_buffer_)
+    {
+        matrix_buffer_->Release();
+        matrix_buffer_ = 0;
+    }
 
-	if (sample_state_)
-	{
-		sample_state_->Release();
-		sample_state_ = nullptr;
-	}
+    // Release the sampler state.
+    if (sample_state_)
+    {
+        sample_state_->Release();
+        sample_state_ = 0;
+    }
 
-	if (layout_)
-	{
-		layout_->Release();
-		layout_ = nullptr;
-	}
+    // Release the layout.
+    if (layout_)
+    {
+        layout_->Release();
+        layout_ = 0;
+    }
 
-	if (pixel_shader_)
-	{
-		pixel_shader_->Release();
-		pixel_shader_ = nullptr;
-	}
+    // Release the pixel shader.
+    if (pixel_shader_)
+    {
+        pixel_shader_->Release();
+        pixel_shader_ = 0;
+    }
 
-	if (vertex_shader_)
-	{
-		vertex_shader_->Release();
-		vertex_shader_ = nullptr;
-	}
+    // Release the vertex shader.
+    if (vertex_shader_)
+    {
+        vertex_shader_->Release();
+        vertex_shader_ = 0;
+    }
 
-	return;
+    Logger::Get().Log("SunLightShaderClass shut down", __FILE__, __LINE__, Logger::LogLevel::Shutdown);
+
+    return;
 }
 
-void sunlight_shader_class::output_shader_error_message(ID3D10Blob* error_message, HWND hwnd, WCHAR* shader_filename)
+
+void sunlight_shader_class::output_shader_error_message(ID3D10Blob* errorMessage, HWND hwnd, WCHAR* shaderFilename)
 {
-	char* compile_errors;
-	unsigned long long buffer_size;
-	ofstream fout;
+    char* compileErrors;
+    unsigned __int64 bufferSize, i;
+    ofstream fout;
 
-	// Obtenir un pointeur vers le texte d'erreur dans le buffer d'erreur
-	compile_errors = (char*)(error_message->GetBufferPointer());
 
-	// Obtenir la taille du message
-	buffer_size = error_message->GetBufferSize();
+    // Get a pointer to the error message text buffer.
+    compileErrors = (char*)(errorMessage->GetBufferPointer());
 
-	// Ouvrir un fichier pour �crire les messages d'erreur
-	fout.open("shader-error.txt");
+    // Get the length of the message.
+    bufferSize = errorMessage->GetBufferSize();
 
-	// �crire le message d'erreur
-	for (unsigned long long i = 0; i < buffer_size; i++)
-	{
-		fout << compile_errors[i];
-	}
+    // Open a file to write the error message to.
+    fout.open("shader-error.txt");
 
-	// Fermer le fichier
-	fout.close();
+    // Write out the error message.
+    for (i = 0; i < bufferSize; i++)
+    {
+        fout << compileErrors[i];
+    }
 
-	// Lib�rer le buffer d'erreur
-	error_message->Release();
-	error_message = nullptr;
+    // Close the file.
+    fout.close();
 
-	// Afficher un message d'erreur
-	MessageBox(hwnd, L"Erreur de compilation du shader. Voir shader-error.txt pour plus de d�tails.", shader_filename, MB_OK);
+    // Release the error message.
+    errorMessage->Release();
+    errorMessage = 0;
 
-	return;
+    // Pop a message up on the screen to notify the user to check the text file for compile errors.
+    MessageBox(hwnd, L"Error compiling shader.  Check shader-error.txt for message.", shaderFilename, MB_OK);
+
+    return;
 }
 
-bool sunlight_shader_class::set_shader_parameters(ID3D11DeviceContext* device_context, XMMATRIX world_matrix, XMMATRIX view_matrix, XMMATRIX projection_matrix, ID3D11ShaderResourceView* texture, XMFLOAT4 diffuse_color, XMFLOAT4 ambient_color, XMFLOAT3 sun_direction, float sun_intensity, ID3D11ShaderResourceView* shadow_map, XMMATRIX light_view_matrix, XMMATRIX light_projection_matrix)
+
+bool sunlight_shader_class::set_shader_parameters(ID3D11DeviceContext* deviceContext, XMMATRIX worldMatrix, XMMATRIX viewMatrix, XMMATRIX projectionMatrix, ID3D11ShaderResourceView* texture, XMFLOAT4 ambientColor, XMFLOAT4 diffuseColor, XMFLOAT3 lightDirection, float sunIntensity)
 {
-	HRESULT result;
-	D3D11_MAPPED_SUBRESOURCE mapped_resource;
-	matrix_buffer_type* data_ptr;
-	camera_buffer_type* camera_data_ptr;
-	sun_light_buffer_type* light_data_ptr;
-	sun_light_color_buffer_type* light_color_data_ptr;
-	light_view_matrix_buffer_type* light_view_data_ptr;
+    HRESULT result;
+    D3D11_MAPPED_SUBRESOURCE mappedResource;
+    matrix_buffer_type* dataPtr;
+    camera_buffer_type* dataPtr2;
+    sun_light_buffer_type* dataPtr3;
+    unsigned int bufferNumber;
 
-	// Transposer les matrices pour qu'elles soient pr�tes pour le shader
-	world_matrix = XMMatrixTranspose(world_matrix);
-	view_matrix = XMMatrixTranspose(view_matrix);
-	projection_matrix = XMMatrixTranspose(projection_matrix);
-	light_view_matrix = XMMatrixTranspose(light_view_matrix);
-	light_projection_matrix = XMMatrixTranspose(light_projection_matrix);
+    // Transpose the matrices to prepare them for the shader.
+    worldMatrix = XMMatrixTranspose(worldMatrix);
+    viewMatrix = XMMatrixTranspose(viewMatrix);
+    projectionMatrix = XMMatrixTranspose(projectionMatrix);
 
-	// Verrouiller le buffer constant pour l'�criture
-	result = device_context->Map(matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped_resource);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec du verrouillage du buffer constant de matrices", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Lock the constant buffer so it can be written to.
+    result = deviceContext->Map(matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
+    if (FAILED(result))
+    {
+        return false;
+    }
 
-	// Obtenir un pointeur vers les donn�es
-	data_ptr = (matrix_buffer_type*)mapped_resource.pData;
+    // Get a pointer to the data in the constant buffer.
+    dataPtr = (matrix_buffer_type*)mappedResource.pData;
 
-	// Copier les matrices dans le buffer constant
-	data_ptr->world = world_matrix;
-	data_ptr->view = view_matrix;
-	data_ptr->projection = projection_matrix;
+    // Copy the matrices into the constant buffer.
+    dataPtr->world = worldMatrix;
+    dataPtr->view = viewMatrix;
+    dataPtr->projection = projectionMatrix;
 
-	// D�verrouiller le buffer constant
-	device_context->Unmap(matrix_buffer_, 0);
+    // Unlock the constant buffer.
+    deviceContext->Unmap(matrix_buffer_, 0);
 
-	// D�finir la position du buffer constant dans le vertex shader
-	unsigned int buffer_number = 0;
+    // Set the position of the constant buffer in the vertex shader.
+    bufferNumber = 0;
 
-	// D�finir le buffer constant du vertex shader
-	device_context->VSSetConstantBuffers(buffer_number, 1, &matrix_buffer_);
+    // Finally set the constant buffer in the vertex shader with the updated values.
+    deviceContext->VSSetConstantBuffers(bufferNumber, 1, &matrix_buffer_);
 
-	// Verrouiller le buffer constant de cam�ra
-	result = device_context->Map(camera_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped_resource);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec du verrouillage du buffer constant de cam�ra", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Lock the sunlight constant buffer so it can be written to.
+    result = deviceContext->Map(sunlight_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
+    if (FAILED(result))
+    {
+        return false;
+    }
 
-	// Obtenir un pointeur vers les donn�es
-	camera_data_ptr = (camera_buffer_type*)mapped_resource.pData;
+    // Get a pointer to the data in the constant buffer.
+    dataPtr3 = (sun_light_buffer_type*)mappedResource.pData;
 
-	// TODO: Ajouter la position de la cam�ra ici si n�cessaire
-	camera_data_ptr->camera_position = XMFLOAT3(0.0f, 0.0f, 0.0f);
-	camera_data_ptr->padding = 0.0f;
+    // Copy the lighting variables into the constant buffer.
+    dataPtr3->ambient_color = ambientColor;
+    dataPtr3->diffuse_color = diffuseColor;
+    dataPtr3->sun_direction = lightDirection;
+    dataPtr3->intensity = sunIntensity;
 
-	// D�verrouiller le buffer constant
-	device_context->Unmap(camera_buffer_, 0);
+    // Unlock the constant buffer.
+    deviceContext->Unmap(sunlight_buffer_, 0);
 
-	// D�finir la position du buffer constant dans le vertex shader
-	buffer_number = 1;
+    // Set the position of the sunlight constant buffer in the pixel shader.
+    bufferNumber = 0;
 
-	// D�finir le buffer constant du vertex shader
-	device_context->VSSetConstantBuffers(buffer_number, 1, &camera_buffer_);
+    // Finally set the sunlight constant buffer in the pixel shader with the updated values.
+    deviceContext->PSSetConstantBuffers(bufferNumber, 1, &sunlight_buffer_);
 
-	// Verrouiller le buffer constant de lumi�re
-	result = device_context->Map(sunlight_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped_resource);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec du verrouillage du buffer constant de lumi�re", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
+    // Set shader texture resource in the pixel shader.
+    deviceContext->PSSetShaderResources(0, 1, &texture);
 
-	// Obtenir un pointeur vers les donn�es
-	light_data_ptr = (sun_light_buffer_type*)mapped_resource.pData;
-
-	// Copier les param�tres de lumi�re dans le buffer constant
-	light_data_ptr->ambient_color = ambient_color;
-	light_data_ptr->diffuse_color = diffuse_color;
-	light_data_ptr->sun_direction = sun_direction;
-	light_data_ptr->intensity = sun_intensity;
-
-	// D�verrouiller le buffer constant
-	device_context->Unmap(sunlight_buffer_, 0);
-
-	// D�finir la position du buffer constant dans le pixel shader
-	buffer_number = 0;
-
-	// D�finir le buffer constant du pixel shader
-	device_context->PSSetConstantBuffers(buffer_number, 1, &sunlight_buffer_);
-	device_context->VSSetConstantBuffers(buffer_number, 1, &sunlight_buffer_);
-
-	// Verrouiller le buffer constant de matrices de vue de lumi�re
-	result = device_context->Map(light_view_matrix_buffer_, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped_resource);
-	if (FAILED(result))
-	{
-		Logger::Get().Log("�chec du verrouillage du buffer constant de matrices de vue de lumi�re", __FILE__, __LINE__, Logger::LogLevel::Error);
-		return false;
-	}
-
-	// Obtenir un pointeur vers les donn�es
-	light_view_data_ptr = (light_view_matrix_buffer_type*)mapped_resource.pData;
-
-	// Copier les matrices de vue de lumi�re dans le buffer constant
-	light_view_data_ptr->light_view = light_view_matrix;
-	light_view_data_ptr->light_projection = light_projection_matrix;
-
-	// D�verrouiller le buffer constant
-	device_context->Unmap(light_view_matrix_buffer_, 0);
-
-	// D�finir la position du buffer constant dans le vertex shader
-	buffer_number = 2;
-
-	// D�finir le buffer constant du vertex shader
-	device_context->VSSetConstantBuffers(buffer_number, 1, &light_view_matrix_buffer_);
-
-	// D�finir la ressource de texture du shader
-	device_context->PSSetShaderResources(0, 1, &texture);
-
-	// D�finir la ressource de shadow map du shader
-	device_context->PSSetShaderResources(1, 1, &shadow_map);
-
-	// D�finir les sampler states dans le pixel shader
-	device_context->PSSetSamplers(0, 1, &sample_state_);
-	device_context->PSSetSamplers(1, 1, &shadow_sampler_state_);
-
-	return true;
+    return true;
 }
 
-void sunlight_shader_class::render_shader(ID3D11DeviceContext* device_context, int index_count)
+void sunlight_shader_class::render_shader(ID3D11DeviceContext* deviceContext, int indexCount)
 {
-	// D�finir le layout du vertex input
-	device_context->IASetInputLayout(layout_);
+    // Set the vertex input layout.
+    deviceContext->IASetInputLayout(layout_);
 
-	// D�finir les shaders vertex et pixel
-	device_context->VSSetShader(vertex_shader_, NULL, 0);
-	device_context->PSSetShader(pixel_shader_, NULL, 0);
+    // Set the vertex and pixel shaders that will be used to render this triangle.
+    deviceContext->VSSetShader(vertex_shader_, NULL, 0);
+    deviceContext->PSSetShader(pixel_shader_, NULL, 0);
 
-	// Rendre la g�om�trie
-	device_context->DrawIndexed(index_count, 0, 0);
+    // Set the sampler state in the pixel shader.
+    deviceContext->PSSetSamplers(0, 1, &sample_state_);
 
-	return;
-}
\ No newline at end of file
+    // render the triangle.
+    deviceContext->DrawIndexed(indexCount, 0, 0);
+
+    return;
+}
diff --git a/enginecustom/src/src/system/application_class.cpp b/enginecustom/src/src/system/application_class.cpp
index 1d09277..b291414 100644
--- a/enginecustom/src/src/system/application_class.cpp
+++ b/enginecustom/src/src/system/application_class.cpp
@@ -126,14 +126,6 @@ bool application_class::initialize(int screenWidth, int screenHeight, HWND hwnd,
 		camera_->set_rotation(0.0f, 0.0f, 0.0f);
 		camera_->render();
 		camera_->get_view_matrix(base_view_matrix_);
-		
-		// create the ligth camera
-		light_camera_ = new camera_class;
-		if (!light_camera_)
-		{
-			Logger::Get().Log("Could not create the light camera object", __FILE__, __LINE__, Logger::LogLevel::Error);
-			return false;
-		}
 
 		// Create and initialize the font shader object.
 		font_shader_ = new font_shader_class;
@@ -473,13 +465,6 @@ bool application_class::initialize(int screenWidth, int screenHeight, HWND hwnd,
 			return false;
 		}
 
-		shadow_map_ = new shadow_map();
-		if (!shadow_map_->initialize(direct_3d_->get_device(), screenWidth, screenHeight))
-		{
-			Logger::Get().Log("Could not create the shadow map object", __FILE__, __LINE__, Logger::LogLevel::Error);
-			return false;
-		}
-
 		physics_ = new physics;
 
 		physics_thread_ = std::thread(&application_class::physics_thread_function, this);
@@ -508,12 +493,6 @@ bool application_class::initialize(int screenWidth, int screenHeight, HWND hwnd,
 void application_class::shutdown()
 {
 	Logger::Get().Log("Shutting down application class", __FILE__, __LINE__, Logger::LogLevel::Shutdown);
-
-	if (shadow_map_) {
-		shadow_map_->shutdown();
-		delete shadow_map_;
-		shadow_map_ = nullptr;
-	}
 	
 	// Release the shader manager object.
 	if (shader_manager_)
@@ -1039,11 +1018,11 @@ bool application_class::render(float rotation, float x, float y, float z, float
 	// Redimensionner la texture de rendu si n�cessaire
 	if (DEBUG_MODE)
 	{
-		// if ((float)scene_texture_->GetTextureWidth() != window_size_.x || (float)scene_texture_->GetTextureHeight() != window_size_.y)
-		// {
-		// 	scene_texture_->Shutdown();
-		// 	scene_texture_->Initialize(direct_3d_->get_device(), (int)window_size_.x, (int)window_size_.y, screen_depth, screen_near, 1);
-		// }
+		if ((float)scene_texture_->GetTextureWidth() != window_size_.x || (float)scene_texture_->GetTextureHeight() != window_size_.y)
+		{
+			scene_texture_->Shutdown();
+			scene_texture_->Initialize(direct_3d_->get_device(), (int)window_size_.x, (int)window_size_.y, screen_depth, screen_near, 1);
+		}
 	
 		direct_3d_->set_back_buffer_render_target();
 		direct_3d_->reset_viewport();
@@ -1074,51 +1053,9 @@ bool application_class::render(float rotation, float x, float y, float z, float
 	
 	direct_3d_->turn_z_buffer_on(); // Enable the Z buffer after rendering the skybox.
 
-
-	// --------------------------------------------------------- //
-	// ------------------ shadow map creation ------------------ //
-	// --------------------------------------------------------- //
-
-	shadow_map_->set_render_target(direct_3d_->get_device_context());
-	shadow_map_->clear_render_target(direct_3d_->get_device_context(), 1.0f);
-
-	// Configuration de la cam�ra de lumi�re
-	light_position_buffer_ = sun_light_->GetPosition();
-	light_rotation_buffer_ = sun_light_->GetDirection();
-
-	// Positionnez la cam�ra de lumi�re � une position appropri�e pour votre sc�ne
-	float lightDistance = 100.0f;
-	light_camera_->set_position(-light_rotation_buffer_.x * lightDistance, -light_rotation_buffer_.y * lightDistance, -light_rotation_buffer_.z * lightDistance);
-	light_camera_->set_rotation(light_rotation_buffer_.x, light_rotation_buffer_.y, light_rotation_buffer_.z);
-	light_camera_->render();
-
-	// R�cup�ration explicite de la matrice de vue
-	light_camera_->get_view_matrix(light_view_matrix_);
-
-	// Cr�ation d'une matrice de projection orthographique avec des valeurs adapt�es
-	float lightViewWidth = 200.0f;  // Agrandir la zone couverte par l'ombre
-	float lightViewHeight = 200.0f;
-	float lightNearPlane = 1.0f;
-	float lightFarPlane = 300.0f;  // Augmenter la profondeur
-	light_projection_matrix_ = XMMatrixOrthographicLH(lightViewWidth, lightViewHeight, lightNearPlane, lightFarPlane);
-
-
-	// Rendu de la scene sans texture juste geometrie.
-	if (!create_shadow_map(render_queues_))
-	{
-		Logger::Get().Log("Error creating shadow map", __FILE__, __LINE__, Logger::LogLevel::Error);
-	}
-
-	shadow_srv_ = shadow_map_->get_shader_resource_view();
-
-	// reset the render target back to the original back buffer and not the render to texture anymore.  And reset the viewport back to the original.
-	direct_3d_->set_back_buffer_render_target();
-	direct_3d_->reset_viewport();
-	
 	// -------------------------------------------------------- //
 	// ------------ render the object in the queue ------------ //
 	// -------------------------------------------------------- //
-	
 	result = render_pass(render_queues_, diffuseColor, lightPosition, ambientColor, viewMatrix, projectionMatrix);
 	if (!result)
 	{
@@ -1934,11 +1871,8 @@ bool application_class::render_pass(const std::vector<std::reference_wrapper<std
 					sun_light_->GetDiffuseColor(),
 					sun_light_->GetAmbientColor(),
 					sun_light_->GetDirection(),
-					sun_light_->GetIntensity(),
-					shadow_srv_,
-					light_view_matrix_,
-					light_projection_matrix_
-				);
+					sun_light_->GetIntensity()
+					);
 				if (!result)
 				{
 					Logger::Get().Log("Could not render the object model using the sunlight shader", __FILE__, __LINE__, Logger::LogLevel::Error);
@@ -1980,76 +1914,6 @@ bool application_class::render_pass(const std::vector<std::reference_wrapper<std
 	return true;
 }
 
-bool application_class::create_shadow_map(const std::vector<std::reference_wrapper<std::vector<object*>>>& RenderQueues)
-{
-	for (auto& RenderQueue : RenderQueues)
-	{
-
-		if (&RenderQueue.get() == &skybox_)
-		{
-			continue; // Skip rendering the skybox_ for shadow mapping
-		}
-		
-		for (auto& object : RenderQueue.get())
-		{
-
-			// V�rification des ressources critiques
-			if (shadow_map_ == nullptr) {
-				Logger::Get().Log("shadow_map_ est nul!", __FILE__, __LINE__, Logger::LogLevel::Error);
-				return false;
-			}
-    
-			if (light_camera_ == nullptr) {
-				Logger::Get().Log("light_camera_ est nul!", __FILE__, __LINE__, Logger::LogLevel::Error);
-				return false;
-			}
-    
-			bool hasNaN = false;
-			for (int i = 0; i < 4; i++) {
-				XMVECTOR row = light_view_matrix_.r[i];
-				if (XMComparisonAnyTrue(XMVector4IsNaN(row))) {
-					hasNaN = true;
-					break;
-				}
-			}
-
-			if (hasNaN) {
-				Logger::Get().Log("light_view_matrix_ contient des valeurs invalides!", __FILE__, __LINE__, Logger::LogLevel::Error);
-				return false;
-			}
-
-			
-			if (object == nullptr)
-			{
-				Logger::Get().Log("object is null", __FILE__, __LINE__, Logger::LogLevel::Error);
-				return false;
-			}
-
-			if (!object->IsVisible())
-			{
-				continue;
-			}
-
-			object->Render(direct_3d_->get_device_context());
-
-			bool result = shader_manager_->render_depth_shader(
-				direct_3d_->get_device_context(),
-				object->GetIndexCount(),
-				object->GetTranslateMatrix(),
-				light_view_matrix_,
-				light_projection_matrix_
-			);
-			if (!result)
-			{
-				Logger::Get().Log("Could not render the object model using the shadow map shader", __FILE__, __LINE__, Logger::LogLevel::Error);
-				return false;
-			}
-		}
-	}
-
-	return true;
-}
-
 void application_class::construct_frustum()
 {
 	XMMATRIX projectionMatrix = direct_3d_->get_projection_matrix();
diff --git a/enginecustom/src/src/system/shadow_map.cpp b/enginecustom/src/src/system/shadow_map.cpp
deleted file mode 100644
index 7fe549b..0000000
--- a/enginecustom/src/src/system/shadow_map.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-#include "shadow_map.h"
-
-#include "Logger.h"
-
-shadow_map::shadow_map() :
-    depth_texture_(nullptr),
-    depth_stencil_view_(nullptr),
-    shader_resource_view_(nullptr)
-{
-    ZeroMemory(&viewport_, sizeof(viewport_));
-}
-
-shadow_map::~shadow_map()
-{
-    shutdown();
-}
-
-bool shadow_map::initialize(ID3D11Device* device, int shadow_map_width, int shadow_map_height)
-{
-    D3D11_TEXTURE2D_DESC text_desc = {};
-    text_desc.Width = shadow_map_width;
-    text_desc.Height = shadow_map_height;
-    text_desc.MipLevels = 1;
-    text_desc.ArraySize = 1;
-    text_desc.Format = DXGI_FORMAT_R32_TYPELESS;
-    text_desc.SampleDesc.Count = 1;
-    text_desc.Usage = D3D11_USAGE_DEFAULT;
-    text_desc.BindFlags = D3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE;
-
-    if (FAILED(device->CreateTexture2D(&text_desc, nullptr, &depth_texture_)))
-    {
-        Logger::Get().Log("Failed to create depth texture", __FILE__, __LINE__, Logger::LogLevel::Error);
-        return false;
-    }
-
-    D3D11_DEPTH_STENCIL_VIEW_DESC dsv_Desc = {};
-    dsv_Desc.Format = DXGI_FORMAT_D32_FLOAT;
-    dsv_Desc.ViewDimension = D3D11_DSV_DIMENSION_TEXTURE2D;
-    dsv_Desc.Texture2D.MipSlice = 0;
-
-    if (FAILED(device->CreateDepthStencilView(depth_texture_, &dsv_Desc, &depth_stencil_view_)))
-    {
-        Logger::Get().Log("Failed to create depth texture", __FILE__, __LINE__, Logger::LogLevel::Error);
-        return false;
-    }
-
-    D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc = {};
-    srv_desc.Format = DXGI_FORMAT_R32_FLOAT;
-    srv_desc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
-    srv_desc.Texture2D.MostDetailedMip = 0;
-    srv_desc.Texture2D.MipLevels = 1;
-
-    if (FAILED(device->CreateShaderResourceView(depth_texture_, &srv_desc, &shader_resource_view_)))
-    {
-        Logger::Get().Log("Failed to create shader resource view", __FILE__, __LINE__, Logger::LogLevel::Error);
-        return false;
-    }
-
-    viewport_.Width = static_cast<FLOAT>(shadow_map_width);
-    viewport_.Height = static_cast<FLOAT>(shadow_map_height);
-    viewport_.MinDepth = 0.0f;
-    viewport_.MaxDepth = 1.0f;
-    viewport_.TopLeftX = 0.0f;
-    viewport_.TopLeftY = 0.0f;
-
-    Logger::Get().Log("Shadow map initialized", __FILE__, __LINE__, Logger::LogLevel::Info);
-
-    return true;
-        
-}
-
-void shadow_map::set_render_target(ID3D11DeviceContext* context)
-{
-    context->OMSetRenderTargets(0, nullptr, depth_stencil_view_);
-    context->RSSetViewports(1, &viewport_);
-}
-
-void shadow_map::clear_render_target(ID3D11DeviceContext* context, float depth)
-{
-    context->ClearDepthStencilView(depth_stencil_view_, D3D11_CLEAR_DEPTH, depth, 0);
-}
-
-ID3D11ShaderResourceView* shadow_map::get_shader_resource_view() const
-{
-    return shader_resource_view_;
-}
-
-void shadow_map::shutdown()
-{
-    
-    if (shader_resource_view_) {
-        shader_resource_view_->Release();
-        shader_resource_view_ = nullptr;
-    }
-    if (depth_stencil_view_) {
-        depth_stencil_view_->Release();
-        depth_stencil_view_ = nullptr;
-    }
-    if (depth_texture_) {
-        depth_texture_->Release();
-        depth_texture_ = nullptr;
-    }
-    
-    Logger::Get().Log("Shadow map shut down", __FILE__, __LINE__, Logger::LogLevel::Shutdown);
-}
\ No newline at end of file