finds.dev← search

// the find

kosua20/herebedragons

★ 1,794 · C · MIT · updated Jul 2025

A basic 3D scene implemented with various engines, frameworks or APIs.

A single 3D scene (Stanford dragon, Suzanne, skybox, ground plane) implemented across 20+ rendering backends: OpenGL, Vulkan, DX9/11/12, Metal, WebGL, WebGPU, game engines (Unity/Unreal/Godot), retro hardware (GBA, NDS, PS2, Dreamcast), and Blender Cycles. The fixed scene eliminates variables so you're actually comparing the APIs and not the content. It's for graphics programmers who want to see how the same lighting and geometry problem is solved at different abstraction levels.

The fixed-scene constraint is the whole insight — you can diff the Vulkan descriptor set boilerplate against the DX12 equivalent and see exactly where the APIs diverge, not just read about it. The retro hardware implementations (GBA sprite-faking 3D, Dreamcast PVR tile rendering, PS2 VU microcode) are genuinely rare reference material that you won't find documented this clearly elsewhere. Each subdirectory is self-contained with its own build system and README, so you can clone and build just the one backend you care about without touching the rest. Active maintenance through mid-2025 means WebGPU and newer Godot support are current.

The scene is so simple — three objects, one directional light — that anything interesting like deferred rendering, PBR material systems, or compute-heavy effects can't be demonstrated, so the comparison breaks down exactly where modern graphics programming gets hard. There's no cross-backend feature matrix documenting what each implementation does or doesn't support (parallax mapping exists in some, soft shadows in others), so you have to read every README to know what you're actually comparing. The DX11 and DX12 implementations ship precompiled .cso shader blobs alongside the HLSL source, which means if the HLSL is wrong the binary might not match. No CI or automated build checks, so there's no guarantee any given implementation builds on your machine.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →