27 lines
705 B
C#
27 lines
705 B
C#
using Microsoft.Xna.Framework;
|
|
|
|
namespace Kav
|
|
{
|
|
public struct PointLight
|
|
{
|
|
public static double ATTENUATION_EPSILON = 0.1;
|
|
|
|
public Vector3 Position { get; }
|
|
public Color Color { get; }
|
|
public float Intensity { get; }
|
|
|
|
public float EffectiveRadius { get; }
|
|
public BoundingSphere BoundingSphere { get; }
|
|
|
|
public PointLight(Vector3 position, Color color, float intensity = 1f)
|
|
{
|
|
Position = position;
|
|
Color = color;
|
|
Intensity = intensity;
|
|
|
|
EffectiveRadius = (float) System.Math.Sqrt(Intensity);
|
|
BoundingSphere = new BoundingSphere(position, EffectiveRadius);
|
|
}
|
|
}
|
|
}
|