Beispiel #1
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="scene">Scene</param>
        /// <param name="description">Sky plane description class</param>
        public SkyPlane(Scene scene, SkyPlaneDescription description)
            : base(scene, description)
        {
            var img1 = new ImageContent()
            {
                Streams = ContentManager.FindContent(description.ContentPath, description.Texture1Name),
            };

            this.skyTexture1 = this.Game.ResourceManager.CreateResource(img1);

            var img2 = new ImageContent()
            {
                Streams = ContentManager.FindContent(description.ContentPath, description.Texture2Name),
            };

            this.skyTexture2 = this.Game.ResourceManager.CreateResource(img2);

            this.skyMode  = description.SkyMode;
            this.rotation = Matrix.Identity;

            this.MaxBrightness     = description.MaxBrightness;
            this.MinBrightness     = description.MinBrightness;
            this.FadingDistance    = description.FadingDistance;
            this.Velocity          = description.Velocity;
            this.PerturbationScale = description.PerturbationScale;
            this.Direction         = description.Direction;
            this.CloudsBaseColor   = description.CloudBaseColor;

            //Create sky plane
            GeometryUtil.CreateCurvePlane(
                description.Size,
                description.Repeat,
                description.PlaneWidth,
                description.PlaneTop,
                description.PlaneBottom,
                out Vector3[] vData, out Vector2[] uvs, out uint[] iData);