MCPcopy Create free account
hub / github.com/TheRealMJP/Shadows / Initialize

Method Initialize

Shadows/SampleFramework11/PostProcessorBase.cpp:29–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27}
28
29void PostProcessorBase::Initialize(ID3D11Device* device)
30{
31 this->device = device;
32
33 // Create resources for the full-screen quad
34
35 // Load the shaders
36 quadVS = CompileVSFromFile(device, L"SampleFramework11\\Shaders\\Quad.hlsl", "QuadVS");
37
38 // Create the input layout
39 D3D11_INPUT_ELEMENT_DESC layout[] =
40 {
41 { "POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
42 { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 },
43 };
44
45 DXCall(device->CreateInputLayout(layout, 2, quadVS->ByteCode->GetBufferPointer(),
46 quadVS->ByteCode->GetBufferSize(), &quadInputLayout));
47
48 // Create and initialize the vertex and index buffers
49 QuadVertex verts[4] =
50 {
51 { XMFLOAT4(1, 1, 1, 1), XMFLOAT2(1, 0) },
52 { XMFLOAT4(1, -1, 1, 1), XMFLOAT2(1, 1) },
53 { XMFLOAT4(-1, -1, 1, 1), XMFLOAT2(0, 1) },
54 { XMFLOAT4(-1, 1, 1, 1), XMFLOAT2(0, 0) }
55 };
56
57 D3D11_BUFFER_DESC desc;
58 desc.Usage = D3D11_USAGE_IMMUTABLE;
59 desc.ByteWidth = sizeof(verts);
60 desc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
61 desc.CPUAccessFlags = 0;
62 desc.MiscFlags = 0;
63 D3D11_SUBRESOURCE_DATA initData;
64 initData.pSysMem = verts;
65 initData.SysMemPitch = 0;
66 initData.SysMemSlicePitch = 0;
67 DXCall(device->CreateBuffer(&desc, &initData, &quadVB));
68
69 unsigned short indices[6] = { 0, 1, 2, 2, 3, 0 };
70
71 desc.Usage = D3D11_USAGE_IMMUTABLE;
72 desc.ByteWidth = sizeof(indices);
73 desc.BindFlags = D3D11_BIND_INDEX_BUFFER;
74 desc.CPUAccessFlags = 0;
75 initData.pSysMem = indices;
76 DXCall(device->CreateBuffer(&desc, &initData, &quadIB));
77
78 // Create the constant buffer
79 desc.Usage = D3D11_USAGE_DYNAMIC;
80 desc.ByteWidth = CBSize(sizeof(PSConstants));
81 desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
82 desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
83 DXCall(device->CreateBuffer(&desc, nullptr, &psConstants));
84
85 // Create a depth-stencil state
86 D3D11_DEPTH_STENCIL_DESC dsDesc;

Callers

nothing calls this directly

Calls 3

CompileVSFromFileFunction · 0.85
DXCallFunction · 0.85
CBSizeFunction · 0.85

Tested by

no test coverage detected