#plugin #stars #cosmos #amethyst #renderer #game-engine #star

space-render

A compact render plugin to the Amethyst game engine which renders background stars, close up stars (the sun) and planet atmospheres using atmospheric scattering

1 unstable release

0.1.1 Apr 12, 2020

#2069 in Game dev

MIT license

305KB
2K SLoC

Rust 1.5K SLoC // 0.0% comments GLSL 333 SLoC // 0.1% comments Rusty Object Notation 3 SLoC // 0.6% comments

Contains (Cab file, 18KB) .vs/atmosphere_render/v16/.suo

space_render

A compact render plugin to the Amethyst game engine which renders different space elements. It currently supports planet rendering (well, the atmosphere), star/sun rendering and background cosmos rendering (lots of tiny stars).

How to use

Add the required plugins to your Amethyst render bundle as shown:

use space_render::{
    cosmos::{Cosmos, CosmosRender},
    planet::PlanetRender,
    star::StarRender,
};

let display_config_path = app_root.join("config\\display.ron");

let game_data = GameDataBuilder::default()
    // Add all your other bundles here:
    // ...
    // Setup the rendering bundle.
    .with_bundle(
        RenderingBundle::<DefaultBackend>::new()
            // Here you add whatever other rendering plugins you want to use.
            // The following are necessary for 3D pbr rendering:
            //.with_plugin(RenderToWindow::from_config_path(display_config_path).with_clear([0.0, 0.0, 0.0, 0.0]))
            //.with_plugin(RenderPbr3D::default().with_skinning())
            // We need to include the `CosmosRender` plugin in our rendering bundle in order to render the background stars.
            .with_plugin(CosmosRender::new(Some(Cosmos::default()))),
            // This is the atmosphere renderer.
            .with_plugin(PlanetRender::new()),
            // This renders the 'sun' (basicall just a billboard).
            // It does the job far away but it doesn't really work if you get up close.
            // May fix if needed in the future.
            .with_plugin(StarRender::new()),
    )?;

Dependencies

~37–53MB
~749K SLoC