Skip to content
modkitv0.2

buffer.h

#include <modkit/buffer.h>16 functions · 2 structs · 2 macros

Vertex and index buffer abstraction.

GPU vertex and index buffer management. For low-level GPU interop, include modkit.h for escape hatch accessors.

Functions

mk_buffer_system_initfunction

void mk_buffer_system_init(void)

Raw transient buffer types and functions.

Available when modkit.h is included. Prefer mk_tvbuf_t / mk_tibuf_t from dynbuffer.h for new code.

mk_buffer_system_shutdownfunction

void mk_buffer_system_shutdown(void)

Perform the buffer system shutdown operation.

mk_ibuf_createfunction

mk_ibuf_t mk_ibuf_create(const uint16_t *data, uint32_t count)

Create index buffer from 16-bit indices.

Data is copied internally.

ParameterTypeDescription
dataconst uint16_t *Pointer to index data (uint16_t array)
countuint32_tNumber of indices

Returns Index buffer handle or MK_IBUF_INVALID on failure

mk_ibuf_create_reffunction

mk_ibuf_t mk_ibuf_create_ref(const uint16_t *data, uint32_t count)

Create index buffer using reference (no copy).

Data must remain valid for lifetime of buffer.

ParameterTypeDescription
dataconst uint16_t *Pointer to index data (uint16_t array, must remain valid)
countuint32_tNumber of indices

Returns Index buffer handle or MK_IBUF_INVALID on failure

mk_ibuf_create_ref32function

mk_ibuf_t mk_ibuf_create_ref32(const uint32_t *data, uint32_t count)

Create 32-bit index buffer using reference (no copy).

ParameterTypeDescription
dataconst uint32_t *Pointer to index data (uint32_t array, must remain valid)
countuint32_tNumber of indices

Returns Index buffer handle or MK_IBUF_INVALID on failure

mk_ibuf_create32function

mk_ibuf_t mk_ibuf_create32(const uint32_t *data, uint32_t count)

Create index buffer from 32-bit indices.

Data is copied internally.

ParameterTypeDescription
dataconst uint32_t *Pointer to index data (uint32_t array)
countuint32_tNumber of indices

Returns Index buffer handle or MK_IBUF_INVALID on failure

mk_ibuf_destroyfunction

void mk_ibuf_destroy(mk_ibuf_t ibuf)

Get underlying GPU handle (escape hatch requires modkit.h).

Destroy index buffer and release resources.

ParameterTypeDescription
ibufmk_ibuf_tValue for ibuf.

mk_ibuf_is_validfunction

bool mk_ibuf_is_valid(mk_ibuf_t ibuf)

Check if index buffer handle is valid.

ParameterTypeDescription
ibufmk_ibuf_tValue for ibuf.

Returns True when the condition holds.

mk_ibuf_pinfunction

bool mk_ibuf_pin(mk_ibuf_t ibuf)

Retain/release an internal reference.

ParameterTypeDescription
ibufmk_ibuf_tValue for ibuf.

Returns True when the operation succeeds.

mk_ibuf_unpinfunction

void mk_ibuf_unpin(mk_ibuf_t ibuf)

Perform the ibuf unpin operation.

ParameterTypeDescription
ibufmk_ibuf_tValue for ibuf.

mk_vbuf_createfunction

mk_vbuf_t mk_vbuf_create(const void *data, uint32_t size, const mk_layout_t *layout)

Create vertex buffer from data.

Data is copied internally.

ParameterTypeDescription
dataconst void *Pointer to vertex data
sizeuint32_tSize of data in bytes
layoutconst mk_layout_t *Vertex layout describing the data

Returns Vertex buffer handle or MK_VBUF_INVALID on failure

mk_vbuf_create_reffunction

mk_vbuf_t mk_vbuf_create_ref(const void *data, uint32_t size, const mk_layout_t *layout)

Create vertex buffer using reference (no copy).

Data must remain valid for lifetime of buffer.

ParameterTypeDescription
dataconst void *Pointer to vertex data (must remain valid)
sizeuint32_tSize of data in bytes
layoutconst mk_layout_t *Vertex layout describing the data

Returns Vertex buffer handle or MK_VBUF_INVALID on failure

mk_vbuf_destroyfunction

void mk_vbuf_destroy(mk_vbuf_t vbuf)

Get underlying GPU handle (escape hatch requires modkit.h).

Destroy vertex buffer and release resources.

ParameterTypeDescription
vbufmk_vbuf_tValue for vbuf.

mk_vbuf_is_validfunction

bool mk_vbuf_is_valid(mk_vbuf_t vbuf)

Check if vertex buffer handle is valid.

ParameterTypeDescription
vbufmk_vbuf_tValue for vbuf.

Returns True when the condition holds.

mk_vbuf_pinfunction

bool mk_vbuf_pin(mk_vbuf_t vbuf)

Retain/release an internal reference.

ParameterTypeDescription
vbufmk_vbuf_tValue for vbuf.

Returns True when the operation succeeds.

mk_vbuf_unpinfunction

void mk_vbuf_unpin(mk_vbuf_t vbuf)

Perform the vbuf unpin operation.

ParameterTypeDescription
vbufmk_vbuf_tValue for vbuf.

Structs

mk_ibuf_tstruct

Data for ibuf.

FieldTypeDescription
iduint32_tThe ID.

mk_vbuf_tstruct

Data for vbuf.

FieldTypeDescription
iduint32_tThe ID.

Macros

MK_IBUF_INVALIDdefine

MK_IBUF_INVALID

Invalid sentinel for ibuf.

MK_VBUF_INVALIDdefine

MK_VBUF_INVALID

Invalid sentinel for vbuf.