At par with old-arch.

FIXED: Bug with black speckles in prefilter.
Caused by MipMapping enabled.
This commit is contained in:
Anish Bhobe 2025-04-02 21:08:14 +02:00
parent aa729610cf
commit 8f9b6d66be
1 changed files with 8 additions and 7 deletions

View File

@ -80,12 +80,14 @@ CreateCubeFromHdrEnv(AssetLoader *assetLoader, vk::Queue computeQueue, const u32
prefilterStorageHandles.push_back(commitManager->CommitStorageImage(view));
}
auto brdfLut = resourceManager->CombinedImageViews().CreateTexture2D<StorageTextureView>({.m_Format = vk::Format::eR16G16Sfloat,
auto brdfLut = resourceManager->CombinedImageViews().CreateTexture2D<StorageTextureView>({
.m_Format = vk::Format::eR16G16Sfloat,
.m_Extent = {512, 512},
.m_Name = "BRDF LUT",
.m_IsSampled = true,
.m_IsMipMapped = true,
.m_IsStorage = true});
.m_IsMipMapped = false,
.m_IsStorage = true,
});
auto brdfLutSampler = resourceManager->Samplers().CreateSampler({
.m_AddressModeU = vk::SamplerAddressMode::eClampToEdge,
@ -356,7 +358,6 @@ CreateCubeFromHdrEnv(AssetLoader *assetLoader, vk::Queue computeQueue, const u32
cmd.pipelineBarrier2(&skyboxToSampleDependency);
cmd.pipelineBarrier2(&prefilterToSampleDependency);
TODO("BRDF LUT has a black line at x=0. Needs fixing");
cmd.bindPipeline(vk::PipelineBindPoint::eCompute, brdfLutPipeline);
cmd.pushConstants(pipelineLayout, vk::ShaderStageFlagBits::eCompute, 0, sizeof brdfLutPushConstants,
&brdfLutPushConstants);