SBgl 0.1.0
A graphics framework in C99
Loading...
Searching...
No Matches
sbgl_InternalContext Struct Reference

Internal state for the engine context. More...

Collaboration diagram for sbgl_InternalContext:

Data Fields

SblArena arena
 
SblArena transientArena
 
sbgl_Windowwindow
 
sbgl_GfxContextgfx
 
float clearColor [4]
 
struct { 
 
   uint32_t   isDrawing: 1 
 
   uint32_t   hasStartedFrame: 1 
 
   uint32_t   isIdle: 1 
 
   uint32_t   wasFocused: 1 
 
   uint32_t   mouseLocked: 1 
 
state 
 
sbgl_InputState input
 
sbgl_MouseMode mouseMode
 
sbgl_Telemetry lastFrame
 
sbgl_Telemetry currentFrame
 
uint64_t frameCount
 
uint64_t frameStartTicks
 
uint64_t sortStartTicks
 

Detailed Description

Internal state for the engine context.

This structure is hidden from the public API (opaque). It holds the persistent memory arena, the native window handle, and the current clear color state.

Definition at line 40 of file sbgl_core.c.

Field Documentation

◆ arena

SblArena sbgl_InternalContext::arena

Persistent memory for the lifetime of the context.

Definition at line 41 of file sbgl_core.c.

◆ clearColor

float sbgl_InternalContext::clearColor[4]

Current RGBA clear color.

Definition at line 45 of file sbgl_core.c.

◆ currentFrame

sbgl_Telemetry sbgl_InternalContext::currentFrame

Definition at line 56 of file sbgl_core.c.

◆ frameCount

uint64_t sbgl_InternalContext::frameCount

Definition at line 57 of file sbgl_core.c.

◆ frameStartTicks

uint64_t sbgl_InternalContext::frameStartTicks

Definition at line 58 of file sbgl_core.c.

◆ gfx

sbgl_GfxContext* sbgl_InternalContext::gfx

Handle to the graphics backend context.

Definition at line 44 of file sbgl_core.c.

◆ hasStartedFrame

uint32_t sbgl_InternalContext::hasStartedFrame

Internal flag to track if BeginFrame was called.

Definition at line 48 of file sbgl_core.c.

◆ input

sbgl_InputState sbgl_InternalContext::input

Physical input state tracking.

Definition at line 53 of file sbgl_core.c.

◆ isDrawing

uint32_t sbgl_InternalContext::isDrawing

Internal flag to track if we are in a render pass.

Definition at line 47 of file sbgl_core.c.

◆ isIdle

uint32_t sbgl_InternalContext::isIdle

Internal flag to track if GPU is idle.

Definition at line 49 of file sbgl_core.c.

◆ lastFrame

sbgl_Telemetry sbgl_InternalContext::lastFrame

Definition at line 55 of file sbgl_core.c.

◆ mouseLocked

uint32_t sbgl_InternalContext::mouseLocked

Add this for future use.

Definition at line 51 of file sbgl_core.c.

◆ mouseMode

sbgl_MouseMode sbgl_InternalContext::mouseMode

Current intended mouse behavior.

Definition at line 54 of file sbgl_core.c.

◆ sortStartTicks

uint64_t sbgl_InternalContext::sortStartTicks

Definition at line 59 of file sbgl_core.c.

◆ [struct]

struct { ... } sbgl_InternalContext::state

◆ transientArena

SblArena sbgl_InternalContext::transientArena

Memory reset every frame.

Definition at line 42 of file sbgl_core.c.

◆ wasFocused

uint32_t sbgl_InternalContext::wasFocused

Tracking focus state for re-locking.

Definition at line 50 of file sbgl_core.c.

◆ window

sbgl_Window* sbgl_InternalContext::window

Handle to the native OS window.

Definition at line 43 of file sbgl_core.c.


The documentation for this struct was generated from the following file: