/// <summary> /// Create a Directional light, shadows are optional /// </summary> /// <param name="color"></param> /// <param name="intensity"></param> /// <param name="direction"></param> /// <param name="drawShadows"></param> /// <param name="shadowSize"></param> /// <param name="shadowDepth"></param> /// <param name="shadowResolution"></param> /// <param name="shadowFiltering"></param> /// <param name="screenspaceshadowblur"></param> /// <param name="staticshadows"></param> public DirectionalLightSource(Color color, float intensity, Vector3 direction, Vector3 position = default(Vector3), bool drawShadows = false, float shadowSize = 100, float shadowDepth = 100, int shadowResolution = 512, ShadowFilteringTypes shadowFiltering = ShadowFilteringTypes.Poisson, bool screenspaceshadowblur = false, bool staticshadows = false) { Color = color; Intensity = intensity; Vector3 normalizedDirection = direction; normalizedDirection.Normalize(); Direction = normalizedDirection; DrawShadows = drawShadows; DrawShadows = drawShadows; ShadowSize = shadowSize; ShadowDepth = shadowDepth; ShadowResolution = shadowResolution; _staticShadow = staticshadows; ScreenSpaceShadowBlur = screenspaceshadowblur; ShadowFiltering = shadowFiltering; Position = position; Id = IdGenerator.GetNewId(); TransformDirectionToAngles(); }
/// <summary> /// Create a Directional light, shadows are optional /// </summary> /// <param name="color"></param> /// <param name="intensity"></param> /// <param name="direction"></param> /// <param name="castShadows"></param> /// <param name="shadowSize"></param> /// <param name="shadowDepth"></param> /// <param name="shadowResolution"></param> /// <param name="shadowFiltering"></param> /// <param name="screenspaceshadowblur"></param> /// <param name="staticshadows"></param> public DirectionalLight(Color color, float intensity, Vector3 direction, Vector3 position = default(Vector3), bool castShadows = false, float shadowSize = 100, float shadowDepth = 100, int shadowResolution = 512, ShadowFilteringTypes shadowFiltering = ShadowFilteringTypes.Poisson, bool screenspaceshadowblur = false, bool staticshadows = false) { Color = color; Intensity = intensity; Vector3 normalizedDirection = direction; normalizedDirection.Normalize(); Direction = normalizedDirection; _initialDirection = normalizedDirection; CastShadows = castShadows; ShadowSize = shadowSize; ShadowDepth = shadowDepth; ShadowResolution = shadowResolution; _staticShadow = staticshadows; ScreenSpaceShadowBlur = screenspaceshadowblur; ShadowFiltering = shadowFiltering; Position = position; Id = IdGenerator.GetNewId(); IsEnabled = true; TransformDirectionToAngles(); _rotationMatrix = Matrix.Identity; Name = GetType().Name + " " + Id; }