BRE12
BRE
GeometryPass
Recorders
TextureCommandListRecorder.h
1
#pragma once
2
3
#include <GeometryPass/GeometryPassCommandListRecorder.h>
4
5
namespace
BRE
{
6
class
MaterialProperties;
7
8
// CommandListRecorders that does texture mapping
9
class
TextureCommandListRecorder
:
public
GeometryPassCommandListRecorder
{
10
public
:
11
TextureCommandListRecorder
() =
default
;
12
~
TextureCommandListRecorder
() =
default
;
13
TextureCommandListRecorder
(
const
TextureCommandListRecorder
&) =
delete
;
14
const
TextureCommandListRecorder
& operator=(
const
TextureCommandListRecorder
&) =
delete
;
15
TextureCommandListRecorder
(
TextureCommandListRecorder
&&) =
default
;
16
TextureCommandListRecorder
& operator=(
TextureCommandListRecorder
&&) =
default
;
17
18
static
void
InitSharedPSOAndRootSignature(
const
DXGI_FORMAT* geometryBufferFormats,
19
const
std::uint32_t geometryBufferCount) noexcept;
20
21
// Preconditions:
22
// - All containers must not be empty
23
// - InitSharedPSOAndRootSignature() must be called first and once
24
void
Init(
const
std::vector<GeometryData>& geometryDataVector,
25
const
std::vector<MaterialProperties>& materialProperties,
26
const
std::vector<ID3D12Resource*>& diffuseTextures) noexcept;
27
28
// Preconditions:
29
// - Init() must be called first
30
void
RecordAndPushCommandLists(
const
FrameCBuffer
& frameCBuffer) noexcept
final
override
;
31
32
bool
IsDataValid()
const
noexcept
final
override
;
33
34
private
:
35
// Preconditions:
36
// - All containers must not be empty
37
void
InitConstantBuffers(
const
std::vector<MaterialProperties>& materialProperties,
38
const
std::vector<ID3D12Resource*>& diffuseTextures) noexcept;
39
40
D3D12_GPU_DESCRIPTOR_HANDLE mBaseColorBufferGpuDescriptorsBegin;
41
};
42
}
43
BRE
Definition:
Camera.cpp:8
BRE::TextureCommandListRecorder
Definition:
TextureCommandListRecorder.h:9
BRE::GeometryPassCommandListRecorder
Definition:
GeometryPassCommandListRecorder.h:20
BRE::FrameCBuffer
Definition:
CBuffers.h:23
Generated by
1.8.12