4#include "directx/d3dx12.h"
12 static constexpr std::string_view getTextureSamplersShaderArrayName() {
return "textureSamplers"; }
19 static D3D12_SAMPLER_DESC getPointSamplerDescription() {
20 return D3D12_SAMPLER_DESC(
21 D3D12_FILTER_MIN_MAG_MIP_POINT,
22 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
23 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
24 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
27 D3D12_COMPARISON_FUNC_NEVER,
28 {1.0F, 1.0F, 1.0F, 1.0F},
38 static D3D12_SAMPLER_DESC getLinearSamplerDescription() {
39 return D3D12_SAMPLER_DESC(
40 D3D12_FILTER_MIN_MAG_MIP_LINEAR,
41 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
42 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
43 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
46 D3D12_COMPARISON_FUNC_NEVER,
47 {1.0F, 1.0F, 1.0F, 1.0F},
57 static D3D12_SAMPLER_DESC getAnisotropicSamplerDescription() {
58 return D3D12_SAMPLER_DESC(
59 D3D12_FILTER_ANISOTROPIC,
60 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
61 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
62 D3D12_TEXTURE_ADDRESS_MODE_WRAP,
65 D3D12_COMPARISON_FUNC_NEVER,
66 {1.0F, 1.0F, 1.0F, 1.0F},
76 static CD3DX12_STATIC_SAMPLER_DESC getStaticComparisonSamplerDescription() {
77 return CD3DX12_STATIC_SAMPLER_DESC(
79 D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT,
80 D3D12_TEXTURE_ADDRESS_MODE_BORDER,
81 D3D12_TEXTURE_ADDRESS_MODE_BORDER,
82 D3D12_TEXTURE_ADDRESS_MODE_BORDER,
85 D3D12_COMPARISON_FUNC_LESS_EQUAL,
86 D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK,
89 D3D12_SHADER_VISIBILITY_ALL,