ProceduralSky

    Type of Sky that is generated procedurally based on user input parameters.

    ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky.

    The ProceduralSky is updated on the CPU after the parameters change. It is stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for real-time updates during gameplay. However, with a small enough texture size, it can still be updated relatively frequently, as it is updated on a background thread when multi-threading is available.

    enum TextureSize:

    • TEXTURE_SIZE_256 = 0 —- Sky texture will be 256x128.

    • TEXTURE_SIZE_512 = 1 —- Sky texture will be 512x256.

    • TEXTURE_SIZE_1024 = 2 —- Sky texture will be 1024x512. This is the default size.

    • TEXTURE_SIZE_2048 = 3 —- Sky texture will be 2048x1024.

    • TEXTURE_SIZE_MAX = 5 —- Represents the size of the TextureSize enum.

    • Color ground_bottom_color

    Default

    Color( 0.156863, 0.184314, 0.211765, 1 )

    Setter

    set_ground_bottom_color(value)

    Getter

    get_ground_bottom_color()

    Color of the ground at the bottom.


    • ground_curve

    Default

    0.02

    Setter

    set_ground_curve(value)

    Getter

    get_ground_curve()

    How quickly the ground_horizon_color fades into the .


    Default

    1.0

    Setter

    set_ground_energy(value)

    Getter

    get_ground_energy()

    Amount of energy contribution from the ground.


    • ground_horizon_color

    Default

    Color( 0.423529, 0.396078, 0.372549, 1 )

    Setter

    set_ground_horizon_color(value)

    Getter

    get_ground_horizon_color()

    Color of the ground at the horizon.


    How quickly the fades into the sky_top_color.


    • sky_energy

    Default

    1.0

    Setter

    set_sky_energy(value)

    Getter

    get_sky_energy()

    Amount of energy contribution from the sky.


    Default

    Color( 0.839216, 0.917647, 0.980392, 1 )

    Setter

    set_sky_horizon_color(value)

    Getter

    get_sky_horizon_color()

    Color of the sky at the horizon.


    Default

    Color( 0.647059, 0.839216, 0.945098, 1 )

    Setter

    set_sky_top_color(value)

    Getter

    get_sky_top_color()


    • sun_angle_max

    Default

    100.0

    Setter

    set_sun_angle_max(value)

    Getter

    get_sun_angle_max()

    Distance from center of sun where it fades out completely.


    Distance from sun where it goes from solid to starting to fade.


    • sun_color

    Default

    Color( 1, 1, 1, 1 )

    Setter

    set_sun_color(value)

    Getter

    get_sun_color()

    The sun’s color.


    Default

    0.05

    Setter

    set_sun_curve(value)

    Getter

    get_sun_curve()

    How quickly the sun fades away between and sun_angle_max.


    • sun_energy

    Default

    1.0

    Setter

    set_sun_energy(value)

    Getter

    get_sun_energy()

    Amount of energy contribution from the sun.


    Default

    35.0

    Setter

    set_sun_latitude(value)

    Getter

    get_sun_latitude()

    The sun’s height using polar coordinates.


    • sun_longitude

    The direction of the sun using polar coordinates.


    Default

    2

    Setter

    set_texture_size(value)

    Getter

    get_texture_size()

    Size of that the ProceduralSky will generate. The size is set using TextureSize.