Image showing a standard cube displayed on a window.

TinyFFR is a free realtime 3D rendering library for modern .NET delivered via NuGet:

Built-in Beauty

Full PBR workflow Post-processing enabled out-of-the-box

PBR Material System

Create materials with built-in support for various channels: Albedo, Normal, Ambient Occlusion, Rougness/Metallic, Reflectance, Absorption, Transmission, Emissive, Anisotropy, and Clearcoat.

Ready-Made Post-Processing

Add screen-space refractivity + reflections, distance fog, bloom, shadowing, depth-of-field, and antialiasing; all with a single API call.

Versatile Rendering

Built-in support for picture-in-picture, splitscreen, render-to-texture, CPU readback streaming, screenshot capture, and scene compositing.

No Shader Knowledge Required

Don't write a single shader. TinyFFR's build comes with pre-compiled shaders for each platform ready to support every texture/material combination you create.

Effortless Asset Import

Support for tens of popular asset formats (incl. glTF, FBX, OBJ) including skeletal animations, all common texture formats, HDR/EXR backdrops, fonts, and more. Each loadable with a single line of C#.

Customizable Import Pipeline

Rescale, translate, optimise, and error-correct imported meshes. Transform, swizzle, negate, compress, and process imported textures. Generate mip-maps, combine textures, and modify bounding boxes on the fly.

First-Class Performance

SIMD-enabled Parallelized Zero-GC Design

State-of-the-Art Backend

Froxel forward lighting, cascaded shadows, and frustum culling with automatic bounding box calculation.

Flatline Memory Profile

Designed from day one to create zero GC pressure; from asset loading to the rendering loop. Backed up with a benchmark suite and profiling.

Quality Control

Configure quality with a single API call; or use one of the built-in presets designed to target all ranges of hardware.

Texture Compression

Rein in your VRAM usage with built-in texture compression.

AoT Ready

TinyFFR avoids any dynamic or runtime resource access; meaning consuming applications can enable AoT compilation.

SIMD Math Library

Every math primitive uses a fully SIMD-enabled abstracted plain-English API and can be converted to raw Vector/Matrix form for custom SIMD processing.

Low-Level Tweaking

For when you need to go deeper: Options exposed for controlling frame latency, rate limiting, FPS capping + measurement, vsync control, async load sharing, and more.

FSR Upscaling

Enable AMD FidelityFX FSR upscaling with a single property edit.

Batteries Included

Camera Control Text Rendering Animations Hit-Testing

SDF Text Rendering

Import your own TTF files or use one of three built-in fonts. Render text that looks sharp at any size & distance with optional outlines or background colours and multi-line text justification control.

Image-Based Lighting

Import an HDRi and get image-based lighting across your entire scene.

Skeletal Animation Players

Enumerate packed animation data and play animations with target time frames, speed multipliers, blending, and node transform calculations.

Camera Control

Manually set properties such as FoV, focus depth, exposure (aperture, shutter-speed, sensitivity) and use provided higher-level controllers; including first-person, follow/chase, free-flying, inspection, orbital, PTZ, and programmable keyframe types.

Texture Builders

Programmatically construct texture maps or use the built-in UV test material. Use texture pattern generators to create grids, circles, squares, chequerboards, and more.

Material Effects

Transform and blend textures on any object in realtime; or control emissive strength for easy lighting simulation effects.

Vertex Mutation

Modify mesh vertices in realtime. Create dynamic VB/IB buffers and manage mesh views. Specialized API provided for mutable grids.

Billboarding

Create quads and text instances in-world that stay facing the camera.

Canvas Scenes

Easily create 2D overlays, HUDs, or debug readouts for either your entire window or a target texture for in-world screens.

Simple Input

Mouse, keyboard, and game controller support out of the box; with a shared API between standalone and UI-framework-integrated scene views.

Primitive Rendering

Add basic objects to your scene without needing material or mesh definitions. Render wireframe data with optional face clearing.

Scene Queries

Query which object is under the cursor, or test what gets intersected by rays, cuboids, or spheres.

Plain-English Math

No trigonometry, linear algebra, or matrices required. Use plain-English APIs like "AngleBetween", "RotatedBy", "PointClosestTo", "DistanceFrom"; and shapes types like Sphere, Plane, Line, and more.

Professionally Packaged

Avalonia, WPF, WinForms & ImGui Integration Cross-Platform Robust Testing

Modern .NET

No interpreters, additional runtimes, external CLR hosts or rewriting compilers. Just a single NuGet package that supports every .NET version from 9+ (including the latest).

Cross-Platform

Support for Windows, MacOS (Apple Silicon) and Linux (Debian/Ubuntu).

Avalonia, WPF, WinForms Integrations

A specialized control for each of Avalonia, WPF, and Windows Forms makes it easy to render 3D realtime scenes inside your existing applications.

ImGui Integration

Support for Dear ImGui means you can build rich UIs without needing a framework at all.

Source Linked & Debug Symbols Embedded

The main library and all satellite libraries are debuggable from inside your IDE, with full external sources enabled.

Class-Leading Documentation

Every public API member documented; backed up by tutorials, example applications, and reference docs online. All actually written and reviewed by a real human.

Fully Tested

15,000 assertions, 50+ integration tests, 1.4K unit tests and growing.

3 Years of History

No vibe-coded AI slop here. TinyFFR has been in development since before the AI era and was started as a passion project by a C#/.NET veteran with a diverse background.