diff --git a/include/vkcv/PipelineConfig.hpp b/include/vkcv/PipelineConfig.hpp
index 1e00c5209118469a7dc6ff1eb1e3c98a3c6903a7..db9a592334044bfa5854aa3e06451bc8850cf748 100644
--- a/include/vkcv/PipelineConfig.hpp
+++ b/include/vkcv/PipelineConfig.hpp
@@ -25,6 +25,7 @@ namespace vkcv {
         bool                                  m_UseDynamicViewport;
         bool                                  m_UseConservativeRasterization = false;
         PrimitiveTopology                     m_PrimitiveTopology = PrimitiveTopology::TriangleList;
+        bool                                  m_EnableDepthClamping = false;
     };
 
 }
\ No newline at end of file
diff --git a/projects/voxelization/src/ShadowMapping.cpp b/projects/voxelization/src/ShadowMapping.cpp
index 25d760b42461b9daf326ef5c0bad228b30976c15..5e4901e56a2633c4ec49448186832e87bcb90b7f 100644
--- a/projects/voxelization/src/ShadowMapping.cpp
+++ b/projects/voxelization/src/ShadowMapping.cpp
@@ -30,7 +30,7 @@ ShadowMapping::ShadowMapping(vkcv::Core* corePtr, const vkcv::VertexLayout& vert
 	};
 	const vkcv::PassConfig shadowPassConfig(shadowAttachments);
 	m_shadowMapPass = corePtr->createPass(shadowPassConfig);
-	const vkcv::PipelineConfig shadowPipeConfig{
+	vkcv::PipelineConfig shadowPipeConfig{
 		shadowShader,
 		shadowMapResolution,
 		shadowMapResolution,
@@ -39,6 +39,7 @@ ShadowMapping::ShadowMapping(vkcv::Core* corePtr, const vkcv::VertexLayout& vert
 		{},
 		false
 	};
+	shadowPipeConfig.m_EnableDepthClamping = true;
 	m_shadowMapPipe = corePtr->createGraphicsPipeline(shadowPipeConfig);
 
 	// shadow map
@@ -56,7 +57,8 @@ void ShadowMapping::recordShadowMapRendering(
 	const glm::vec3&                    lightColor,
 	const float                         lightStrength,
 	const std::vector<vkcv::Mesh>&      meshes,
-	const std::vector<glm::mat4>&       modelMatrices) {
+	const std::vector<glm::mat4>&       modelMatrices,
+	const vkcv::camera::Camera&         camera) {
 
 	LightInfo lightInfo;
 	lightInfo.sunColor      = lightColor;
diff --git a/projects/voxelization/src/ShadowMapping.hpp b/projects/voxelization/src/ShadowMapping.hpp
index 0b7a12cd995147521afec30fb0d3dfb643078e66..295dbae319beb222c96538c359debef7583f4045 100644
--- a/projects/voxelization/src/ShadowMapping.hpp
+++ b/projects/voxelization/src/ShadowMapping.hpp
@@ -1,5 +1,6 @@
 #pragma once
 #include <vkcv/core.hpp>
+#include <vkcv/camera/Camera.hpp>
 
 #define GLM_DEPTH_ZERO_TO_ONE
 #define GLM_FORCE_LEFT_HANDED
@@ -24,7 +25,8 @@ public:
 		const glm::vec3&                    lightColor,
 		const float                         lightStrength,
 		const std::vector<vkcv::Mesh>&      meshes,
-		const std::vector<glm::mat4>&       modelMatrices);
+		const std::vector<glm::mat4>&       modelMatrices,
+		const vkcv::camera::Camera&         camera);
 
 	vkcv::ImageHandle   getShadowMap();
 	vkcv::SamplerHandle getShadowSampler();
diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp
index 62a1bc6f6c40799f45db13c952e64f0bd2738359..d86b8297c8206ce02030bbfcd9f4c53abfe92844 100644
--- a/projects/voxelization/src/main.cpp
+++ b/projects/voxelization/src/main.cpp
@@ -374,7 +374,8 @@ int main(int argc, const char** argv) {
 			lightColor,
 			lightStrength,
 			meshes,
-			modelMatrices);
+			modelMatrices,
+			cameraManager.getActiveCamera());
 
 		// voxelization
 		voxelization.setVoxelExtent(voxelizationExtent);
diff --git a/src/vkcv/Context.cpp b/src/vkcv/Context.cpp
index ac133d1affc81702ee1a19b3f66810e606bec58d..e23213b41a3c9a289b679652b66bbe2e75cf0340 100644
--- a/src/vkcv/Context.cpp
+++ b/src/vkcv/Context.cpp
@@ -280,6 +280,7 @@ namespace vkcv
 		vk::PhysicalDeviceFeatures deviceFeatures;
 		deviceFeatures.fragmentStoresAndAtomics = true;
 		deviceFeatures.geometryShader = true;
+		deviceFeatures.depthClamp = true;
 		deviceCreateInfo.pEnabledFeatures = &deviceFeatures;
 
 		// Ablauf
diff --git a/src/vkcv/PipelineManager.cpp b/src/vkcv/PipelineManager.cpp
index df36442efc2992bf16b6e82245ef9753dad95e5d..5ac2d9781a1bdfa36cd89f76b202b2028deb4d8d 100644
--- a/src/vkcv/PipelineManager.cpp
+++ b/src/vkcv/PipelineManager.cpp
@@ -146,7 +146,7 @@ namespace vkcv
         // rasterization state
         vk::PipelineRasterizationStateCreateInfo pipelineRasterizationStateCreateInfo(
                 {},
-                false,
+                config.m_EnableDepthClamping,
                 false,
                 vk::PolygonMode::eFill,
                 vk::CullModeFlagBits::eNone,