mirror of
https://github.com/leozide/leocad.git
synced 2026-07-28 04:07:11 +00:00
Fixed area lights not displaying correctly.
This commit is contained in:
@@ -1466,7 +1466,7 @@ void lcPropertiesWidget::SetLight(const std::vector<lcObject*>& Selection, lcObj
|
||||
SpotBlenderRadius = Light->GetSpotBlenderRadius();
|
||||
DirectionalBlenderAngle = Light->GetDirectionalBlenderAngle();
|
||||
AreaSizeX = Light->GetAreaSizeX();
|
||||
AreaSizeY = Light->GetAreaSizeX();
|
||||
AreaSizeY = Light->GetAreaSizeY();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+2
-2
@@ -819,7 +819,7 @@ void lcLight::DrawAreaLight(lcContext* Context) const
|
||||
{
|
||||
float Verts[4 * 3];
|
||||
float* CurVert = Verts;
|
||||
const lcVector2 Size = { mAreaSizeX, mAreaSizeY };
|
||||
const lcVector2 Size = { mAreaSizeX, mAreaShape == lcLightAreaShape::Square ? mAreaSizeX : mAreaSizeY };
|
||||
|
||||
*CurVert++ = -Size.x / 2.0f;
|
||||
*CurVert++ = -Size.y / 2.0f;
|
||||
@@ -859,7 +859,7 @@ void lcLight::DrawAreaLight(lcContext* Context) const
|
||||
|
||||
for (int EdgeIndex = 0; EdgeIndex < CircleEdges; EdgeIndex++)
|
||||
{
|
||||
const lcVector2 Size = { mAreaSizeX, mAreaSizeY };
|
||||
const lcVector2 Size = { mAreaSizeX, mAreaShape == lcLightAreaShape::Disk ? mAreaSizeX : mAreaSizeY };
|
||||
float c = cosf((float)EdgeIndex / CircleEdges * LC_2PI) * Size.x / 2.0f;
|
||||
float s = sinf((float)EdgeIndex / CircleEdges * LC_2PI) * Size.y / 2.0f;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user