Cogs.Core
Source
Renderer
EngineBindGroups.h
1
#pragma once
2
3
#include "Base.h"
4
5
#include "Rendering/Common.h"
6
7
namespace
Cogs
8
{
9
struct
IBindGroups;
10
11
namespace
Core
12
{
13
struct
RenderTaskContext;
14
struct
CameraData;
15
struct
RenderTarget;
16
17
enum class
BindGroup : uint32_t {
18
Default = 0,
19
LightTextures,
20
Scene,
21
Object,
22
Count
23
};
24
28
struct
EngineBindGroups
29
{
30
BindGroupHandle
lightTextures =
BindGroupHandle::NoHandle
;
31
32
BindGroupTextureBindingHandle
skyBinding =
BindGroupTextureBindingHandle::NoHandle
;
33
BindGroupTextureBindingHandle
radianceBinding =
BindGroupTextureBindingHandle::NoHandle
;
34
BindGroupTextureBindingHandle
irradianceBinding =
BindGroupTextureBindingHandle::NoHandle
;
35
BindGroupTextureBindingHandle
ambientIrradianceBinding =
BindGroupTextureBindingHandle::NoHandle
;
36
BindGroupTextureBindingHandle
brdfLUTBinding =
BindGroupTextureBindingHandle::NoHandle
;
37
BindGroupTextureBindingHandle
shadowArrayBinding =
BindGroupTextureBindingHandle::NoHandle
;
38
BindGroupTextureBindingHandle
shadowCubeArrayBinding =
BindGroupTextureBindingHandle::NoHandle
;
39
40
BindGroupSamplerStateBindingHandle
linearSamplerBinding =
BindGroupSamplerStateBindingHandle::NoHandle
;
41
BindGroupSamplerStateBindingHandle
linearClampSampler =
BindGroupSamplerStateBindingHandle::NoHandle
;
42
BindGroupSamplerStateBindingHandle
pointSampler =
BindGroupSamplerStateBindingHandle::NoHandle
;
43
BindGroupSamplerStateBindingHandle
pointClampSampler =
BindGroupSamplerStateBindingHandle::NoHandle
;
44
45
BindGroupSamplerStateBindingHandle
shadowSamplerBinding =
BindGroupSamplerStateBindingHandle::NoHandle
;
46
};
47
48
void
initializeEngineBindGroups(
IBindGroups
* bindGroups,
EngineBindGroups
& engineBindGroups);
49
void
COGSCORE_DLL_API updateLightTexturesBindGroup(
RenderTaskContext
* context);
50
}
51
}
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::EngineBindGroups
Definition:
EngineBindGroups.h:29
Cogs::Core::RenderTaskContext
Definition:
RenderTask.h:53
Cogs::Handle_t< BindGroupTag >
Cogs::Handle_t< BindGroupTag >::NoHandle
static const Handle_t NoHandle
Represents a handle to nothing.
Definition:
Common.h:78
Cogs::IBindGroups
Provides bind group management functionality.
Definition:
IBindGroups.h:117
Generated by
1.9.6