Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
DirectionalLightComponent.hpp
1
#pragma once
2
3
#include "EngineCore/Reflection/ComponentReflection.hpp"
4
#include "EngineCore/ECS/Entity.hpp"
5
#include "Common/Math.hpp"
6
7
namespace
Grindstone {
8
class
WorldContextSet
;
9
10
namespace
GraphicsAPI {
11
class
Buffer
;
12
class
DescriptorSet
;
13
class
DescriptorSetLayout
;
14
class
RenderPass
;
15
class
Framebuffer
;
16
class
Image
;
17
}
18
19
struct
DirectionalLightComponent
{
20
struct
UniformStruct
{
21
Math::Matrix4 shadowMatrix;
22
Math::Float3 color;
23
float
sourceRadius;
24
Math::Float3 direction;
25
float
intensity;
26
Math::Rect2D
shadowRenderArea;
27
};
28
29
static
void
Construct(
Grindstone::WorldContextSet
& cxtSet, entt::entity);
30
static
void
Destroy(
Grindstone::WorldContextSet
& cxtSet, entt::entity);
31
32
Math::Matrix4 shadowMatrix;
33
Math::Float3 color;
34
float
sourceRadius = 0.0f;
35
float
intensity = 0.0f;
36
Math::Rect2D
shadowRenderArea;
37
38
GraphicsAPI::Buffer
* uniformBufferObject =
nullptr
;
39
GraphicsAPI::DescriptorSet
* descriptorSet =
nullptr
;
40
GraphicsAPI::DescriptorSetLayout
* descriptorSetLayout =
nullptr
;
41
42
GraphicsAPI::Buffer
* shadowMapUniformBufferObject =
nullptr
;
43
GraphicsAPI::DescriptorSet
* shadowMapDescriptorSet =
nullptr
;
44
GraphicsAPI::DescriptorSetLayout
* shadowMapDescriptorSetLayout =
nullptr
;
45
46
REFLECT(
"DirectionalLight"
)
47
};
48
}
Grindstone::GraphicsAPI::Buffer
Definition
Buffer.hpp:49
Grindstone::GraphicsAPI::DescriptorSetLayout
Definition
DescriptorSetLayout.hpp:14
Grindstone::GraphicsAPI::DescriptorSet
Definition
DescriptorSet.hpp:15
Grindstone::GraphicsAPI::Framebuffer
Definition
Framebuffer.hpp:16
Grindstone::GraphicsAPI::Image
Definition
Image.hpp:49
Grindstone::GraphicsAPI::RenderPass
Definition
RenderPass.hpp:10
Grindstone::WorldContextSet
Definition
WorldContextSet.hpp:11
Grindstone::DirectionalLightComponent::UniformStruct
Definition
DirectionalLightComponent.hpp:20
Grindstone::DirectionalLightComponent
Definition
DirectionalLightComponent.hpp:19
Grindstone::Math::Rect2D
Definition
Rect.hpp:11
sources
code
EngineCore
CoreComponents
Lights
DirectionalLightComponent.hpp
Generated by
1.17.0