git404hub

what is agfx fr?

amelieheinrich/agfx — explained in plain English

Analysis updated 2026-05-18

58C++Audience · developerComplexity · 4/5LicenseSetup · moderate

tl;dr

A small C++ graphics library wrapping D3D12 and Metal 4, built to help indie developers ship games across platforms.

vibe map

mindmap
  root((AGFX))
    What it does
      Wraps D3D12 and Metal
      Bindless design
      C style API
    Tech stack
      C++
      D3D12
      Metal 4
    Use cases
      Cross platform game rendering
      Shader compilation
      Legacy API migration
    Audience
      Indie game developers
      Graphics programmers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build a cross-platform indie game renderer targeting D3D12 and Metal.

VIBE 2

Compile HLSL shaders into AGFX's own bytecode format.

VIBE 3

Use the ez helper library to migrate from D3D11 or OpenGL.

VIBE 4

Add an ImGui debug interface to a game built on AGFX.

what's the stack?

C++D3D12Metalxmake

how it stacks up fr

amelieheinrich/agfxfeaturenab/air-sensorip-arch/neslab
Stars585859
LanguageC++C++C++
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 1h+

Needs Apple Silicon plus macOS 26+ on Mac, or a bindless-capable GPU on Windows, and the xmake build tool.

MIT license: free to use and modify.

in plain english

AGFX is a small graphics library written in C++ that wraps around D3D12 on Windows and Metal 4 on Mac, giving indie game developers one simpler interface for talking to the graphics card instead of writing separate low-level code for each platform. It is kept under ten thousand lines of code and is built around a bindless design, meaning it assumes a fairly modern GPU that supports newer, more flexible ways of accessing textures and buffers. The library follows a C-style API similar in spirit to Vulkan or WebGPU, which the author chose specifically because a plain C interface is easier for other programming languages to create bindings for. Alongside the core C library, AGFX also ships an optional C++17 header with automatic resource cleanup, and a separate helper library aimed at developers coming from older graphics APIs like D3D11 or OpenGL who want an easier path to switching over. The repository includes several supporting pieces beyond the core library itself: a full demo application built with SDL3 that shows off features like physically based rendering, shadow maps, ambient occlusion, HDR, and raytraced reflections, a simpler demo for the easier helper library, an ImGui integration for building debug interfaces, a shader compiler that turns HLSL shader code into AGFX's own format, a command line tool for that compiler, and an extensive automated test suite covering the graphics interface. Some features are explicitly not yet supported, including a Vulkan backend, sparse resources, resource aliasing, and GPU heaps, though the author is open to community contributions for these. The author is also upfront that AI tools, specifically Claude Code, were used heavily while building this project: the lower-level backend code was mostly written by hand, while an AI model wrote most of the higher-level convenience code such as the easier helper library and demos. To build it, Mac users need Apple Silicon and a recent macOS version, while Windows users need any GPU supporting bindless rendering, and the project builds through the xmake build system. The library is released under the MIT license, so it can be used and modified freely.

prompts (copy fr)

prompt 1
Help me build the agfx_demo project with xmake on my platform.
prompt 2
Explain the difference between agfx.hpp and agfx_ez.hpp.
prompt 3
Walk me through compiling a shader with agfx_shader_cli.
prompt 4
What features are still missing from AGFX and how can I contribute?

Frequently asked questions

what is agfx fr?

A small C++ graphics library wrapping D3D12 and Metal 4, built to help indie developers ship games across platforms.

What language is agfx written in?

Mainly C++. The stack also includes C++, D3D12, Metal.

What license does agfx use?

MIT license: free to use and modify.

How hard is agfx to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is agfx for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.