Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
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
7namespace Grindstone {
8 namespace GraphicsAPI {
9 class UniformBuffer;
10 class DescriptorSet;
11 class DescriptorSetLayout;
12 class RenderPass;
13 class Framebuffer;
14 class DepthStencilTarget;
15 }
16
19 Math::Matrix4 shadowMatrix;
20 Math::Float3 color;
21 float sourceRadius;
22 Math::Float3 direction;
23 float intensity;
24 float shadowResolution;
25 };
26
27 Math::Matrix4 shadowMatrix;
28 Math::Float3 color;
29 float sourceRadius;
30 float intensity;
31 float shadowResolution;
32
33 GraphicsAPI::RenderPass* renderPass = nullptr;
34 GraphicsAPI::Framebuffer* framebuffer = nullptr;
35 GraphicsAPI::DepthStencilTarget* depthTarget = nullptr;
36
37 GraphicsAPI::UniformBuffer* uniformBufferObject = nullptr;
38 GraphicsAPI::DescriptorSet* descriptorSet = nullptr;
39 GraphicsAPI::DescriptorSetLayout* descriptorSetLayout = nullptr;
40
41 GraphicsAPI::UniformBuffer* shadowMapUniformBufferObject = nullptr;
42 GraphicsAPI::DescriptorSet* shadowMapDescriptorSet = nullptr;
43 GraphicsAPI::DescriptorSetLayout* shadowMapDescriptorSetLayout = nullptr;
44
45 REFLECT("DirectionalLight")
46 };
47
48 void SetupDirectionalLightComponent(entt::registry&, entt::entity);
49 void DestroyDirectionalLightComponent(entt::registry&, entt::entity);
50}
Definition DepthStencilTarget.hpp:15
Definition DescriptorSetLayout.hpp:11
Definition DescriptorSet.hpp:11
Definition Framebuffer.hpp:19
Definition RenderPass.hpp:27
Definition UniformBuffer.hpp:10
Definition DirectionalLightComponent.hpp:18
Definition DirectionalLightComponent.hpp:17
Definition FloatVectors.cs:108