8 void* (*allocate)(
u64 size);
This file contains global type definitions which are used throughout the entire engine and applicatio...
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:25
float f32
32-bit floating point number
Definition: defines.h:47
double f64
64-bit floating point number
Definition: defines.h:50
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
unsigned char u8
Unsigned 8-bit integer.
Definition: defines.h:19
struct frame_data frame_data
Engine-level current frame-specific data.
struct frame_allocator_int frame_allocator_int
Definition: frame_data.h:7
void(* free)(void *block, u64 size)
Definition: frame_data.h:9
void(* free_all)(void)
Definition: frame_data.h:10
Engine-level current frame-specific data.
Definition: frame_data.h:16
u64 render_target_index
The current render target index for renderers that use multiple render targets at once (i....
Definition: frame_data.h:38
void * application_frame_data
Application level frame specific data. Optional, up to the app to know how to use this if needed.
Definition: frame_data.h:41
u32 drawn_mesh_count
The number of meshes drawn in the last frame.
Definition: frame_data.h:24
f32 delta_time
The time in seconds since the last frame.
Definition: frame_data.h:18
u64 renderer_frame_number
The current renderer frame number, typically used for data synchronization.
Definition: frame_data.h:30
f64 total_time
The total amount of time in seconds the application has been running.
Definition: frame_data.h:21
u8 draw_index
The draw index for this frame. Used to track queue submissions for this frame (renderer_begin()/end()...
Definition: frame_data.h:33
frame_allocator_int allocator
An allocator designed and used for per-frame allocations.
Definition: frame_data.h:27
The data structure for a linear allocator.
Definition: linear_allocator.h:25