Skip to content

Instantly share code, notes, and snippets.

@Sturmlilie
Sturmlilie / apitrace-tutorial.md
Last active August 29, 2025 09:58
Debugging OpenGL issues in Minecraft mods using apitrace

Apitrace tutorial

Debugging OpenGL issues in Minecraft mods using apitrace

In the transition of Minecraft version 1.14 to 1.15, Mojang introduced some sweeping changes to the way rendering is performed; while the internal code still relies on GL1-era immediate-mode, block and entity renderer classes now provide their vertices to a specific RenderLayer* which are later rendered in ordered batches.

These changes broke a majority of Minecraft mods; in the process of porting a mod to 1.15, I had to frequently rely on a tool called “apitrace”, and I thought a quick how-to might come in handy for others struggling with similar problems. Apitrace allows capturing every OpenGL call an application makes, and later replaying these calls and inspecting the entire GL state machine at each rendering step.

For this tutorial, I am using the MultiMC launcher.

First step: Install apitrace

@TheGlitch76
TheGlitch76 / a_1.16.4.txt
Last active January 2, 2021 03:29
SpecialBunny statistics
collected 2021-01-02 at 02:30 UTC
Total mods: 2781
Total mods using MCreator: 97 (5.0% of Forge mods)
Total mods with core mods: 56 (2.9% of Forge mods, 3.0% excluding MCreator)
Total mods with access transformers: 471 (24.5% of Forge mods, 25.9% excluding MCreator)
Forge mods using Mixins: 220 (11.4% of Forge mods, 12.1% excluding MCreator)
Fabric mods using Mixins: 728 (85.9% of Fabric mods)
Fabric: 847 (30.4%) Forge: 1915 (68.8%) Both: 14 (0.5%) Forge 1.12 or below: 1 (0.0%) Neither: 4 (0.1%)
@TrueCP6
TrueCP6 / forge-to-fabric-ports.md
Last active August 8, 2026 01:17
A list of decently sized Forge mods ported or being ported to Fabric
gist