/// <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();
        }
Exemplo n.º 2
0
        /// <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;
        }