Skip to content

Contains helpers for annotating OpenGL calls during trace recording

License

Notifications You must be signed in to change notification settings

Sturmlilie/TraceUtil

Repository files navigation

TraceUtil

TraceUtil is a fabric mod/library aimed at developers.

Setting up apitrace with MultiMC: Tutorial

As a stand-alone mod

TraceUtil contains common annotation for OpenGL-intensive methods in Minecraft versions 1.15.2-1.16.1 which are automatically inserted via mixin-hooks, including:
DiffuseLighting, DrawableHelper, GameRenderer, ItemRenderer, ModelLoader, Screen, SpriteAtlasTexture, TextureManager, WorldRenderer Also contains a special annotater for RenderLayer instances, and an optional annotater which hooks into Minecrafts own Profiler (off by default). Each texture registered with TextureManager will have the assosicated Identifier attached on the GL level so it shows up under Surfaces.

Without TraceUtil:
without_traceutil

With TraceUtil:
with_traceutil with_traceutil2

As a library

Insert your own structuring annotations. Sample:

/* imports ... */
import ancurio.traceutil.anno.Annotater;
/* constructors ... */
Annotater tater = new Annotater("tis3d");
tater.appendPrefix("serialport");
/* render methods ... */
tater.push("SerialPortModule.render");
ignoreLighting();
tater.pop();

Result: result

Todo

  • Sodium / fabric rendering API support (as soon as those are stable)
  • Configuration file
  • Auto-generated mixin hooks

License

LGPLv3

About

Contains helpers for annotating OpenGL calls during trace recording

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages