Skip to content

Commit 6e0eb13

Browse files
committed
Added groups
1 parent eff36b0 commit 6e0eb13

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

Engine/Shaders/HelperHeaderPipeline/light_func.glsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ struct OmniData {
2020

2121
struct AreaData
2222
{
23-
vec4 position;
23+
vec4 position[4];
2424
vec4 diffuse;
2525
vec4 padding;
2626
};

Engine/include/SceneObjects/Light.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ namespace Prisma
3535

3636
struct LightArea
3737
{
38-
glm::vec4 position = glm::vec4(0, 0, 0, 1);
38+
glm::vec4 position[4] = {
39+
glm::vec4(-1.0f, -1.0f, 0.0f, 1.0f), // Bottom-left
40+
glm::vec4(1.0f, -1.0f, 0.0f, 1.0f), // Bottom-right
41+
glm::vec4(-1.0f, 1.0f, 0.0f, 1.0f), // Top-left
42+
glm::vec4(1.0f, 1.0f, 0.0f, 1.0f) // Top-right
43+
};
3944
glm::vec4 diffuse = glm::vec4(1, 1, 1, 0);
4045
uint64_t shadowMap = 0;
4146
glm::vec2 padding;

Engine/src/Handlers/LightHandler.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ void Prisma::LightHandler::updateArea()
9393
{
9494
areaMatrix = light->matrix();
9595
}
96-
m_dataArea->lights[i].position = areaMatrix * m_dataArea->lights[i].position;
96+
m_dataArea->lights[i].position[0] = areaMatrix * m_dataArea->lights[i].position[0];
97+
m_dataArea->lights[i].position[1] = areaMatrix * m_dataArea->lights[i].position[1];
98+
m_dataArea->lights[i].position[2] = areaMatrix * m_dataArea->lights[i].position[2];
99+
m_dataArea->lights[i].position[3] = areaMatrix * m_dataArea->lights[i].position[3];
100+
97101
numVisible++;
98102
}
99103
}

0 commit comments

Comments
 (0)