private void CreateSkyX() { // Create SkyX _skyX = new SkyX(mogreWin.sceneMgr, mogreWin.camera); _skyX.Create(); _skyX.VCloudsManager.Create(); ////// A little change to default atmosphere settings :) AtmosphereManager.AtmosphereOptions opt = (AtmosphereManager.AtmosphereOptions)_skyX.AtmosphereManager.Options.Clone(); opt.RayleighMultiplier = 0.0045f; _skyX.AtmosphereManager.Options = opt; _skyX.TimeMultiplier = 0.5f; // Add our ground atmospheric scattering pass to terrain material //var terrainMaterial = (Material)MaterialManager.Instance.GetByName("Terrain"); //if (terrainMaterial != null) //{ // var pass = terrainMaterial.GetTechnique(0).CreatePass(); // _skyX.GpuManager.AddGroundPass(pass, 5000, SceneBlendType.TransparentColor); //} ////// Create our terrain //scene.SetWorldGeometry("Terrain.xml"); //// Add a basic cloud layer _skyX.CloudsManager.Add(new CloudLayer.Options(/* Default options */)); }
private string getConfigStringFromSkyXAtmosphereOptions(AtmosphereManager.AtmosphereOptions Options) { var hour = Options.Time.x; var min = (int)((Options.Time.x - hour) * 60); var timeStr = hour + ":" + min; var str = "MogreLib SkyX Plugin demo (Press F1 to show/hide information)" + (_showInformation ? " - Simuation paused - \n" : "\n-------------------------------------------------------------\nTime: " + timeStr + "\n"); if (_showInformation) { str += "-------------------------------------------------------------\n"; str += "Time: " + timeStr + " [1, Shift+1] (+/-).\n"; str += "Rayleigh multiplier: " + Options.RayleighMultiplier + " [2, Shift+2] (+/-).\n"; str += "Mie multiplier: " + Options.MieMultiplier + " [3, Shift+3] (+/-).\n"; str += "Exposure: " + Options.Exposure + " [4, Shift+4] (+/-).\n"; str += "Inner radius: " + Options.InnerRadius + " [5, Shift+5] (+/-).\n"; str += "Outer radius: " + Options.OuterRadius + " [6, Shift+6] (+/-).\n"; str += "Number of samples: " + Options.NumberOfSamples + " [7, Shift+7] (+/-).\n"; str += "Height position: " + Options.HeightPosition + " [8, Shift+8] (+/-).\n"; if (_skyX.VCloudsManager.IsCreated) { str += "Wind direction: " + _skyX.VCloudsManager.VClouds.WindDirection.ValueDegrees.ToString() + " degrees [0, Shift+0] (+/-).\n"; str += "Clouds roughness: " + _skyX.VCloudsManager.VClouds.NoiseScale + " [p, Shift+p] (+/-).\n"; } } return(str); }