gameforge - v0.1.12
    Preparing search index...

    Class MaskSystem

    System plugin to the renderer to manage masks.

    There are three built-in types of masking: Scissor Masking: Scissor masking discards pixels that are outside of a rectangle called the scissor box. It is the most performant as the scissor test is inexpensive. However, it can only be used when the mask is rectangular. Stencil Masking: Stencil masking discards pixels that don't overlap with the pixels rendered into the stencil buffer. It is the next fastest option as it does not require rendering into a separate framebuffer. However, it does cause the mask to be rendered twice for each masking operation; hence, minimize the rendering cost of your masks. Sprite Mask Filtering: Sprite mask filtering discards pixels based on the red channel of the sprite-mask's texture. (Generally, the masking texture is grayscale). Using advanced techniques, you might be able to embed this type of masking in a custom shader - and hence, bypassing the masking system fully for performance wins.

    The best type of masking is auto-detected when you push one. To use scissor masking, you must pass in a Graphics object with just a rectangle drawn.

    In the scene graph, masks can be applied recursively, i.e. a mask can be applied during a masking operation. The mask stack stores the currently applied masks in order. Each PIXI.BaseRenderTexture holds its own mask stack, i.e. when you switch render-textures, the old masks only applied when you switch back to rendering to the old render-target.

    PIXI

    Implements

    Index

    Constructors

    • Parameters

      • renderer: Renderer

        The renderer this System works for.

      Returns MaskSystem

    Properties

    alphaMaskIndex: number

    Current index of alpha mask pool.

    0
    @readonly
    alphaMaskPool: SpriteMaskFilter[][]

    Pool of used sprite mask filters.

    enableScissor: boolean

    Flag to enable scissor masking.

    true
    

    Methods

    • Generic destroy methods to be overridden by the subclass

      Returns void

    • Sets type of MaskData based on its maskObject.

      Parameters

      Returns void

    • Removes the last mask from the mask stack and doesn't return it.

      NOTE: The batch renderer should be flushed beforehand to render the masked contents before the mask is removed.

      Parameters

      • target: IMaskTarget

        Display Object to pop the mask from

      Returns void

    • Pops the color mask.

      Parameters

      Returns void

    • Removes the last filter from the filter stack and doesn't return it.

      Parameters

      • maskData: MaskData

        Sprite to be used as the mask.

      Returns void

    • Enables the mask and appends it to the current mask stack.

      NOTE: The batch renderer should be flushed beforehand to prevent pending renders from being masked.

      Parameters

      Returns void

    • Pushes the color mask.

      Parameters

      Returns void

    • Applies the Mask and adds it to the current filter stack.

      Parameters

      • maskData: MaskData

        Sprite to be used as the mask.

      Returns void

    • Changes the mask stack that is used by this System.

      Parameters

      Returns void