diff --git a/EffectInterfaces/PointLightEffect.cs b/EffectInterfaces/PointLightEffect.cs index bca763a..37d0db0 100644 --- a/EffectInterfaces/PointLightEffect.cs +++ b/EffectInterfaces/PointLightEffect.cs @@ -2,6 +2,7 @@ namespace Kav { public interface PointLightEffect { - PointLightCollection PointLights { get; } // TODO: should be a collection class? + int MaxPointLights { get; } + PointLightCollection PointLights { get; } } } diff --git a/Effects/PBREffect.cs b/Effects/PBREffect.cs index efe9cd2..f7927b4 100644 --- a/Effects/PBREffect.cs +++ b/Effects/PBREffect.cs @@ -117,6 +117,8 @@ namespace Kav } } + public int MaxPointLights { get; } = 4; + public PointLightCollection PointLights { get { return pointLightCollection; } diff --git a/Renderer.cs b/Renderer.cs index dab71d3..4f71cac 100644 --- a/Renderer.cs +++ b/Renderer.cs @@ -30,6 +30,7 @@ namespace Kav int i = 0; foreach (var pointLight in pointLights) { + if (i > pointLightEffect.MaxPointLights) { break; } pointLightEffect.PointLights[i] = pointLight; i++; }