namespace AcDream.App.Rendering.Wb; /// /// Tracks currently-bound GL state to skip redundant rebinds across the /// WB-derived render path. Previously these were static fields on /// BaseObjectRenderManager in the WorldBuilder.Shared project; inlined /// here in Phase O-T7 to eliminate the WorldBuilder project reference. /// /// Semantics are identical to the WB originals: /// CurrentAtlas — slot index of the currently bound texture atlas. /// CurrentVAO — OpenGL name of the currently bound vertex array object. /// CurrentIBO — OpenGL name of the currently bound index buffer object. /// Sentinel value 0 means "no valid binding cached." /// /// /// All accesses must occur on the render thread. GL state binding is /// not thread-safe; these sentinels are written immediately after the /// corresponding glBind* call and read by the next dispatch on the /// same thread. /// public static class RenderStateCache { public static uint CurrentAtlas = 0; public static uint CurrentVAO = 0; public static uint CurrentIBO = 0; }