Skip to content

SDL2 based software rasterizer for use with the FNA library

License

Notifications You must be signed in to change notification settings

Enichan/RasterFna

Repository files navigation

RasterFna

SDL2 based software rasterizer for use with the FNA library. Very early iteration, not stable. Probably don't use this for production, but idk I'm not your boss.

To compile this library clone or download FNA next to this repository so that both RasterFna and FNA folders exist side by side.

Usage

using (var drawable = new Drawable(GraphicsDevice, 320, 200)) {
    drawable.Clear(Color.CornflowerBlue);
    drawable.DrawLine(0, 0, 40, 20, Color.Black);
    drawable.FillRect(50, 5, 80, 30, Color.White);
    drawable.DrawCircle(160, 100, 10, Color.Red);
    drawable.FillEllipse(280, 150, 30, 15, Color.Blue);
    
    var random = new Random(1234);
    for (int i = 0; i < 100; i++) {
        drawable.SetPixel(random.Next(drawable.Width), random.Next(drawable.Height), Color.Green);
    }
    
    using (var batch = new SpriteBatch(GraphicsDevice)) {
        batch.Begin();
        // don't call Dispose on the Texture2D returned by MakeTexture
        batch.Draw(drawable.MakeTexture(), Vector2.Zero, Color.White);
        batch.End();
    }
}

You can also draw Drawable instances to each other using Draw, DrawSrc, DrawScaled, and DrawSrcScaled.

About

SDL2 based software rasterizer for use with the FNA library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages