SleakEngine
1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
PointLight.cpp
Go to the documentation of this file.
1
#include <
Lighting/PointLight.hpp
>
2
#include <
Graphics/Common/ConstantBuffer.hpp
>
3
4
namespace
Sleak
{
5
6
PointLight::PointLight
(
const
std::string& name) :
Light
(name) {}
7
8
RenderEngine::LightGPUEntry
PointLight::BuildGPUData
()
const
{
9
RenderEngine::LightGPUEntry
entry{};
10
11
entry.
PositionX
= m_position.GetX();
12
entry.
PositionY
= m_position.GetY();
13
entry.
PositionZ
= m_position.GetZ();
14
entry.
Type
= 1;
// Point
15
16
entry.
DirectionX
= 0.0f;
17
entry.
DirectionY
= 0.0f;
18
entry.
DirectionZ
= 0.0f;
19
entry.
Intensity
=
m_intensity
;
20
21
entry.
ColorR
=
m_color
.GetX();
22
entry.
ColorG
=
m_color
.GetY();
23
entry.
ColorB
=
m_color
.GetZ();
24
entry.
Range
= m_range;
25
26
entry.
SpotInnerCos
= 0.0f;
27
entry.
SpotOuterCos
= 0.0f;
28
entry.
AreaWidth
= 0.0f;
29
entry.
AreaHeight
= 0.0f;
30
31
return
entry;
32
}
33
34
}
// namespace Sleak
ConstantBuffer.hpp
PointLight.hpp
Sleak::Light::m_color
Math::Vector3D m_color
Definition
Light.hpp:57
Sleak::Light::Light
Light(const std::string &name="Light")
Definition
Light.cpp:5
Sleak::Light::m_intensity
float m_intensity
Definition
Light.hpp:58
Sleak::PointLight::BuildGPUData
RenderEngine::LightGPUEntry BuildGPUData() const override
Packs this light's parameters into the GPU-side entry used by the lighting constant buffer.
Definition
PointLight.cpp:8
Sleak::PointLight::PointLight
PointLight(const std::string &name="PointLight")
Definition
PointLight.cpp:6
Sleak
Root namespace for everything the engine exposes.
Definition
Camera.hpp:10
Sleak::RenderEngine::LightGPUEntry
One light's packed GPU representation, laid out for std140/cbuffer alignment.
Definition
ConstantBuffer.hpp:20
Sleak::RenderEngine::LightGPUEntry::SpotInnerCos
float SpotInnerCos
Definition
ConstantBuffer.hpp:34
Sleak::RenderEngine::LightGPUEntry::Range
float Range
Definition
ConstantBuffer.hpp:31
Sleak::RenderEngine::LightGPUEntry::AreaHeight
float AreaHeight
Definition
ConstantBuffer.hpp:37
Sleak::RenderEngine::LightGPUEntry::AreaWidth
float AreaWidth
Definition
ConstantBuffer.hpp:36
Sleak::RenderEngine::LightGPUEntry::Type
uint32_t Type
Definition
ConstantBuffer.hpp:23
Sleak::RenderEngine::LightGPUEntry::DirectionY
float DirectionY
Definition
ConstantBuffer.hpp:26
Sleak::RenderEngine::LightGPUEntry::PositionY
float PositionY
Definition
ConstantBuffer.hpp:22
Sleak::RenderEngine::LightGPUEntry::Intensity
float Intensity
Definition
ConstantBuffer.hpp:27
Sleak::RenderEngine::LightGPUEntry::PositionX
float PositionX
Definition
ConstantBuffer.hpp:22
Sleak::RenderEngine::LightGPUEntry::ColorB
float ColorB
Definition
ConstantBuffer.hpp:30
Sleak::RenderEngine::LightGPUEntry::DirectionX
float DirectionX
Definition
ConstantBuffer.hpp:26
Sleak::RenderEngine::LightGPUEntry::DirectionZ
float DirectionZ
Definition
ConstantBuffer.hpp:26
Sleak::RenderEngine::LightGPUEntry::ColorG
float ColorG
Definition
ConstantBuffer.hpp:30
Sleak::RenderEngine::LightGPUEntry::SpotOuterCos
float SpotOuterCos
Definition
ConstantBuffer.hpp:35
Sleak::RenderEngine::LightGPUEntry::ColorR
float ColorR
Definition
ConstantBuffer.hpp:30
Sleak::RenderEngine::LightGPUEntry::PositionZ
float PositionZ
Definition
ConstantBuffer.hpp:22
src
Lighting
PointLight.cpp
Generated on
for SleakEngine by
1.16.1