MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/FleX / init

Method init

demo/d3d11/shadowMap.cpp:59–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57}
58
59HRESULT ShadowMap::init(ID3D11Device* device, int resolution)
60{
61 // set viewport
62 {
63 m_viewport.Width = float(resolution);
64 m_viewport.Height = float(resolution);
65 m_viewport.MinDepth = 0;
66 m_viewport.MaxDepth = 1;
67 m_viewport.TopLeftX = 0;
68 m_viewport.TopLeftY = 0;
69 }
70
71 // create shadow render target
72 {
73 D3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_FLOAT, UINT(resolution), UINT(resolution),
74 D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE);
75
76 NV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_backTexture.ReleaseAndGetAddressOf()));
77 NV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_backTexture.Get(), NV_NULL, m_backSrv.ReleaseAndGetAddressOf()));
78 NV_RETURN_ON_FAIL(device->CreateRenderTargetView(m_backTexture.Get(), NV_NULL, m_backRtv.ReleaseAndGetAddressOf()));
79 }
80
81 // create shadow depth stencil
82 {
83 D3D11_TEXTURE2D_DESC texDesc = _getTextureDesc(DXGI_FORMAT_R32_TYPELESS, UINT(resolution), UINT(resolution),
84 D3D11_BIND_DEPTH_STENCIL | D3D11_BIND_SHADER_RESOURCE);
85 NV_RETURN_ON_FAIL(device->CreateTexture2D(&texDesc, NV_NULL, m_depthTexture.ReleaseAndGetAddressOf()));
86
87 D3D11_DEPTH_STENCIL_VIEW_DESC dsvDesc = _getDsvDesc(DXGI_FORMAT_D32_FLOAT, D3D11_DSV_DIMENSION_TEXTURE2D);
88 NV_RETURN_ON_FAIL(device->CreateDepthStencilView(m_depthTexture.Get(), &dsvDesc, m_depthDsv.ReleaseAndGetAddressOf()));
89
90 D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc = _getSrvDesc(DXGI_FORMAT_R32_FLOAT);
91 NV_RETURN_ON_FAIL(device->CreateShaderResourceView(m_depthTexture.Get(), &srvDesc, m_depthSrv.ReleaseAndGetAddressOf()));
92 }
93
94 {
95 // example texture sampler (use any texture sampler of your own choice)
96 D3D11_SAMPLER_DESC samplerDesc =
97 {
98 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR,
99 D3D11_TEXTURE_ADDRESS_CLAMP,
100 D3D11_TEXTURE_ADDRESS_CLAMP,
101 D3D11_TEXTURE_ADDRESS_CLAMP,
102 0.0, 0, D3D11_COMPARISON_LESS_EQUAL,
103 0.0f, 0.0f, 0.0f, 0.0f,
104 0.0f, D3D11_FLOAT32_MAX,
105 };
106 NV_RETURN_ON_FAIL(device->CreateSamplerState(&samplerDesc, m_linearSampler.ReleaseAndGetAddressOf()));
107 }
108 {
109 D3D11_SAMPLER_DESC samplerDesc =
110 {
111 D3D11_FILTER_MIN_MAG_MIP_POINT,
112 D3D11_TEXTURE_ADDRESS_CLAMP,
113 D3D11_TEXTURE_ADDRESS_CLAMP,
114 D3D11_TEXTURE_ADDRESS_CLAMP,
115 0.0, 0, D3D11_COMPARISON_NEVER,
116 0.0f, 0.0f, 0.0f, 0.0f,

Callers 6

NvFlexExtCreateContainerFunction · 0.45
searchtools.jsFile · 0.45
TooltipFunction · 0.45
PopoverFunction · 0.45
doctools.jsFile · 0.45
ShadowCreateFunction · 0.45

Calls 3

_getTextureDescFunction · 0.70
_getDsvDescFunction · 0.70
_getSrvDescFunction · 0.70

Tested by

no test coverage detected