From 3d6787b6a4005095d13ddc754d11e9b4591bb38e Mon Sep 17 00:00:00 2001 From: ssdfasd <2156608475@qq.com> Date: Tue, 17 Mar 2026 01:19:21 +0800 Subject: [PATCH] Add CreateSamplerDesc helper method --- engine/include/XCEngine/RHI/D3D12/D3D12RootSignature.h | 1 + engine/src/RHI/D3D12/D3D12RootSignature.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/engine/include/XCEngine/RHI/D3D12/D3D12RootSignature.h b/engine/include/XCEngine/RHI/D3D12/D3D12RootSignature.h index 043277af..77d0ba87 100644 --- a/engine/include/XCEngine/RHI/D3D12/D3D12RootSignature.h +++ b/engine/include/XCEngine/RHI/D3D12/D3D12RootSignature.h @@ -38,6 +38,7 @@ public: static D3D12_ROOT_PARAMETER CreateDescriptorTable(uint32_t numRanges, const D3D12_DESCRIPTOR_RANGE* ranges, ShaderVisibility visibility = ShaderVisibility::All); static D3D12_STATIC_SAMPLER_DESC CreateStaticSampler(uint32_t shaderRegister, const D3D12_SAMPLER_DESC& desc, ShaderVisibility visibility = ShaderVisibility::Pixel); + static D3D12_SAMPLER_DESC CreateSamplerDesc(FilterMode filter, TextureAddressMode address, float maxLOD = D3D12_FLOAT32_MAX); private: ComPtr m_rootSignature; diff --git a/engine/src/RHI/D3D12/D3D12RootSignature.cpp b/engine/src/RHI/D3D12/D3D12RootSignature.cpp index 662d978e..3ff29e1a 100644 --- a/engine/src/RHI/D3D12/D3D12RootSignature.cpp +++ b/engine/src/RHI/D3D12/D3D12RootSignature.cpp @@ -118,5 +118,15 @@ D3D12_STATIC_SAMPLER_DESC D3D12RootSignature::CreateStaticSampler(uint32_t shade return samplerDesc; } +D3D12_SAMPLER_DESC D3D12RootSignature::CreateSamplerDesc(FilterMode filter, TextureAddressMode address, float maxLOD) { + D3D12_SAMPLER_DESC desc = {}; + desc.Filter = ToD3D12(filter); + desc.AddressU = ToD3D12(address); + desc.AddressV = ToD3D12(address); + desc.AddressW = ToD3D12(address); + desc.MaxLOD = maxLOD; + return desc; +} + } // namespace RHI } // namespace XCEngine