A simple script for managing resolution scaling in FNA.
Go to file
Evan Hemsley 84e1bdd363 change namespace 2020-07-17 14:43:56 -07:00
LICENSE Initial commit 2020-07-17 20:50:24 +00:00
README.md fix name 2020-07-17 13:56:30 -07:00
ResolutionScaler.cs change namespace 2020-07-17 14:43:56 -07:00

README.md

ResolutionScaler

A simple script for managing resolution scaling in FNA.

Usage

Call ResolutionScaler.Init with your display width and height, and your virtual width and height.

    ResolutionScaler.Init(
        GraphicsDevice.PresentationParameters.BackBufferWidth,
        GraphicsDevice.PresentationParameters.BackBufferHeight,
            PLAY_AREA_WIDTH,
            PLAY_AREA_HEIGHT
    );

Then you can pass ResolutionScaler.TransformMatrix to FNA's SpriteBatch to properly transform your game's render target.

    SpriteBatch.Begin(
        SpriteSortMode.Deferred,
        null,
        null,
        null,
        null,
        null,
        ResolutionScaler.TransformMatrix
    );

    SpriteBatch.Draw(
        GameRenderTarget,
        Vector2.Zero,
        Color.White
    );

    SpriteBatch.End();