diff --git a/projects/voxelization/resources/shaders/depthToMoments.comp b/projects/voxelization/resources/shaders/depthToMoments.comp
index 401f399fcdea32924edf905e03eef17e9ccb5c4f..5a78d0cb9b748187d12057708fcd0de7658a61ed 100644
--- a/projects/voxelization/resources/shaders/depthToMoments.comp
+++ b/projects/voxelization/resources/shaders/depthToMoments.comp
@@ -21,7 +21,7 @@ void main(){
     if(any(greaterThanEqual(gl_GlobalInvocationID.xy, imageSize(outImage)))){
         return;
     }
-    ivec2 uv            = ivec2(gl_GlobalInvocationID.xy);
+    ivec2 uv = ivec2(gl_GlobalInvocationID.xy);
 
     float z = 0;
     for(int i = 0; i < msaaCount; i++){
diff --git a/projects/voxelization/resources/shaders/shadowBlur.comp b/projects/voxelization/resources/shaders/shadowBlur.comp
index 5daf72c69d164aa51755ca239ad83922a10198ee..f5c3834099111c7aebe8efc04c4caf9fa1197114 100644
--- a/projects/voxelization/resources/shaders/shadowBlur.comp
+++ b/projects/voxelization/resources/shaders/shadowBlur.comp
@@ -16,7 +16,7 @@ void main(){
     }
     ivec2 coord = ivec2(gl_GlobalInvocationID.xy);
     
-    int blurRadius  = 0;
+    int blurRadius  = 5;
     int minOffset   = -(blurRadius-1) / 2;
     int maxOffset   = -minOffset;
     
diff --git a/projects/voxelization/src/ShadowMapping.cpp b/projects/voxelization/src/ShadowMapping.cpp
index 8b5a51fbb8961fd540baed952fc81261e1630998..e0f5567a19f2e73cf27a705b4cac8260644417dd 100644
--- a/projects/voxelization/src/ShadowMapping.cpp
+++ b/projects/voxelization/src/ShadowMapping.cpp
@@ -130,7 +130,7 @@ const vkcv::Multisampling   msaa                    = vkcv::Multisampling::MSAA4
 
 ShadowMapping::ShadowMapping(vkcv::Core* corePtr, const vkcv::VertexLayout& vertexLayout) : 
 	m_corePtr(corePtr),
-	m_shadowMap(corePtr->createImage(shadowMapFormat, shadowMapResolution, shadowMapResolution, 1, false, true)),
+	m_shadowMap(corePtr->createImage(shadowMapFormat, shadowMapResolution, shadowMapResolution, 1, true, true)),
 	m_shadowMapIntermediate(corePtr->createImage(shadowMapFormat, shadowMapResolution, shadowMapResolution, 1, false, true)),
 	m_shadowMapDepth(corePtr->createImage(shadowMapDepthFormat, shadowMapResolution, shadowMapResolution, 1, false, false, false, msaa)),
 	m_lightInfoBuffer(corePtr->createBuffer<LightInfo>(vkcv::BufferType::UNIFORM, sizeof(glm::vec3))){
@@ -161,7 +161,7 @@ ShadowMapping::ShadowMapping(vkcv::Core* corePtr, const vkcv::VertexLayout& vert
 	m_shadowSampler = corePtr->createSampler(
 		vkcv::SamplerFilterType::LINEAR,
 		vkcv::SamplerFilterType::LINEAR,
-		vkcv::SamplerMipmapMode::NEAREST,
+		vkcv::SamplerMipmapMode::LINEAR,
 		vkcv::SamplerAddressMode::CLAMP_TO_EDGE
 	);
 
@@ -261,6 +261,7 @@ void ShadowMapping::recordShadowMapRendering(
 		dispatchCount,
 		{ vkcv::DescriptorSetUsage(0, m_corePtr->getDescriptorSet(m_shadowBlurDescriptorSet).vulkanHandle) },
 		vkcv::PushConstantData(nullptr, 0));
+	m_shadowMap.recordMipChainGeneration(cmdStream);
 	m_corePtr->prepareImageForSampling(cmdStream, m_shadowMap.getHandle());
 }