/// <summary> /// Creates a default spherical gas giant /// </summary> public static ISpherePlanet DefaultGasGiant( Units.Metres planetRadius ) { ISpherePlanet planet = new SpherePlanet( ); // Models ISpherePlanetModel model = planet.PlanetModel; model.Radius = planetRadius; model.RingModel = new SpherePlanetRingModel( planetRadius * 1.75, planetRadius * 0.1 ); // Renderers ISpherePlanetRenderer renderer = planet.PlanetRenderer; renderer.MarbleRenderer = new SphereGasGiantMarbleRenderer( ); return planet; }
/// <summary> /// Creates a default spherical planet /// </summary> public static ISpherePlanet DefaultPlanet( IWorkItemQueue workQueue, Units.Metres planetRadius ) { workQueue = workQueue ?? ExtendedThreadPool.Instance; ISpherePlanet planet = new SpherePlanet( ); // Models ISpherePlanetModel model = planet.PlanetModel; model.Radius = planetRadius; model.OceanModel = new PlanetOceanModel( ); model.TerrainModel = new SpherePlanetProcTerrainModel( ); model.AtmosphereModel = new SpherePlanetAtmosphereModel( ); model.RingModel = new SpherePlanetRingModel( planetRadius * 1.75, new Units.Metres( 50000 ) ); model.CloudModel = new SpherePlanetCloudModel( workQueue ); // Renderers ISpherePlanetRenderer renderer = planet.PlanetRenderer; renderer.MarbleRenderer = new SpherePlanetMarbleRenderer( new SpherePlanetMarbleTextureBuilder( ) ); renderer.OceanRenderer = new SpherePlanetOceanRenderer( ); renderer.TerrainRenderer = new SpherePlanetTerrainPatchRenderer( ); renderer.AtmosphereRenderer = new SpherePlanetAtmosphereRenderer( ); renderer.RingRenderer = new SpherePlanetRingRenderer( ); renderer.CloudRenderer = new SpherePlanetCloudRenderer( ); return planet; }