Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
PointLightComponent.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
RenderPass
;
13
class
Framebuffer
;
14
class
DepthStencilTarget;
15
class
DescriptorSet
;
16
class
DescriptorSetLayout
;
17
}
18
19
struct
PointLightComponent
{
20
struct
UniformStruct
{
21
glm::vec3 lightColor = glm::vec3(3, 0.8, 0.4);
22
float
lightAttenuationRadius = 40.0f;
23
glm::vec3 lightPosition = glm::vec3(1, 2, 1);
24
float
lightIntensity = 40.0f;
25
// float shadowResolution;
26
};
27
28
Math::Float3
color;
29
float
attenuationRadius;
30
float
intensity;
31
32
GraphicsAPI::Buffer
* uniformBufferObject =
nullptr
;
33
GraphicsAPI::DescriptorSet
* descriptorSet =
nullptr
;
34
GraphicsAPI::DescriptorSetLayout
* descriptorSetLayout =
nullptr
;
35
36
/* TODO: Re-add this when you come back to point light shadows
37
float shadowResolution;
38
GraphicsAPI::RenderPass* renderPass = nullptr;
39
GraphicsAPI::Framebuffer* framebuffer = nullptr;
40
GraphicsAPI::DepthStencilTarget* depthTarget = nullptr;
41
42
GraphicsAPI::UniformBuffer* shadowMapUniformBufferObject = nullptr;
43
GraphicsAPI::DescriptorSet* shadowMapDescriptorSet = nullptr;
44
GraphicsAPI::DescriptorSetLayout* shadowMapDescriptorSetLayout = nullptr;
45
*/
46
47
REFLECT(
"PointLight"
)
48
};
49
50
void
SetupPointLightComponent(
Grindstone::WorldContextSet
& cxtSet, entt::entity);
51
void
DestroyPointLightComponent(
Grindstone::WorldContextSet
& cxtSet, entt::entity);
52
}
Grindstone::GraphicsAPI::Buffer
Definition
Buffer.hpp:56
Grindstone::GraphicsAPI::DescriptorSetLayout
Definition
DescriptorSetLayout.hpp:13
Grindstone::GraphicsAPI::DescriptorSet
Definition
DescriptorSet.hpp:15
Grindstone::GraphicsAPI::Framebuffer
Definition
Framebuffer.hpp:16
Grindstone::GraphicsAPI::RenderPass
Definition
RenderPass.hpp:27
Grindstone.PointLightComponent
Definition
PointLightComponent.cs:2
Grindstone::WorldContextSet
Definition
WorldContextSet.hpp:11
Grindstone::Math.Float3
Definition
FloatVectors.cs:108
Grindstone.PointLightComponent::UniformStruct
Definition
PointLightComponent.hpp:20
sources
code
EngineCore
CoreComponents
Lights
PointLightComponent.hpp
Generated by
1.13.2