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

RB.ShaderApplyNow

Method  -  Static

public static void ShaderApplyNow()

Parameters

No parameters.

Returns

Nothing.

Description

Applies shader immediately by flushing out all drawing calls. This method should be used when changing some shader parameter between draw calls. This can be important because all drawing in RetroBlit is batched, when a batch is flushed it will use the latest shader parameters, which may not be what is desired.

Example

SpriteSheetAsset  spritePackCharacters = new SpriteSheetAsset();
ShaderAsset shaderEffects = new ShaderAsset();

void Initialize() {
    spritePackCharacters.Load("spritesheet/tiles");
    shaderEffects.Load("shaders/effects");
}

void Render() {
    RB.SpriteSheetSet(spritePackCharacters);

    RB.ShaderSet(shaderEffects);

    foreach (Character c in list) {
        if (c.isPoisoned) {
            shaderEffects.ColorSet("glow", Color.green);
        } else {
            shaderEffects.ColorSet("glow", Color.white);
        }

        RB.DrawSprite(c.sprite, c.pos);
        RB.ShaderApplyNow();
    }
}

See Also

ShaderAsset
RB.ShaderSet
RB.ShaderReset

See Docs

Features - Shaders (Advanced Topic)