AudioAsset
Ease
FastString
FontAsset
NineSlice
PackedSprite
PackedSpriteID
RB
   HardwareSettings
   IRetroBlitGame
RBAsset
Rect2i
ShaderAsset
SoundReference
SpriteGrid
SpriteSheetAsset
TMXMapAsset
   TMXLayer
   TMXLayerLoadState
   TMXObject
   TMXObjectGroup
   TMXProperties
Vector2i

RB.Onscreen

Method  -  Static

public static void Onscreen()

Parameters

No parameters.

Returns

Nothing.

Description

Switch rendering target back to the display. This is the default state of RetroBlit.

Example

SpriteSheetAsset  offscreenSurfaceA = new SpriteSheetAsset();
SpriteSheetAsset offscreenSurfaceB = new SpriteSheetAsset();

ShaderAsset shaderWater = new ShaderAsset();

const int LAYER_TERRAIN = 0;
const int LAYER_WATER_MASK = 0;

void Initialize() {
    // Create two blank sprite sheets the same size as the display
    offscreenSurfaceA.Create(RB.DisplaySize);
    offscreenSurfaceB.Create(RB.DisplaySize);

    // Load terrain, and setup shader
    // -- snip --
}

void Render() {
    // Draw terrain into offscreen A
    RB.Offscreen(offscreenSurfaceA);
    RB.DrawMapLayer(LAYER_TERRAIN);

    // Draw a water mask into offscreen B
    RB.Offscreen(offscreenSurfaceB);
    RB.DrawMapLayer(LAYER_WATER_MASK);

    // Switch back to drawing to display
    RB.Onscreen();

    // Use a custom shader that combines offscreen A and B to create a rippling water effect
    RB.ShaderSet(shaderWater);
    RB.SpriteSheetSet(offscreenSurfaceA);
    shaderWater.SpriteSheetTextureSet(offscreenSurfaceB);

    // Draw the results to display while the shader is active
    RB.DrawCopy(new Rect2i(00, offscreenSurfaceA.grid.width, offscreenSurfaceA.grid.height), Vector2i.zero);
    RB.ShaderApplyNow();

    RB.ShaderReset();
}

See Also

RB.Offscreen
RB.ShaderSet

See Docs

Features - Drawing into a Sprite Sheet
Features - Shaders (Advanced Topic)