Blender  V2.93
Classes | Macros | Typedefs | Functions
GPU_index_buffer.h File Reference
#include "GPU_primitive.h"

Go to the source code of this file.

Classes

struct  GPUIndexBufBuilder
 

Macros

#define GPU_INDEXBUF_DISCARD_SAFE(elem)
 

Typedefs

typedef struct GPUIndexBuf GPUIndexBuf
 
typedef struct GPUIndexBufBuilder GPUIndexBufBuilder
 

Functions

GPUIndexBufGPU_indexbuf_calloc (void)
 
void GPU_indexbuf_init_ex (GPUIndexBufBuilder *, GPUPrimType, uint index_len, uint vertex_len)
 
void GPU_indexbuf_init (GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len)
 
void GPU_indexbuf_add_generic_vert (GPUIndexBufBuilder *, uint v)
 
void GPU_indexbuf_add_primitive_restart (GPUIndexBufBuilder *)
 
void GPU_indexbuf_add_point_vert (GPUIndexBufBuilder *, uint v)
 
void GPU_indexbuf_add_line_verts (GPUIndexBufBuilder *, uint v1, uint v2)
 
void GPU_indexbuf_add_tri_verts (GPUIndexBufBuilder *, uint v1, uint v2, uint v3)
 
void GPU_indexbuf_add_line_adj_verts (GPUIndexBufBuilder *, uint v1, uint v2, uint v3, uint v4)
 
void GPU_indexbuf_set_point_vert (GPUIndexBufBuilder *builder, uint elem, uint v1)
 
void GPU_indexbuf_set_line_verts (GPUIndexBufBuilder *builder, uint elem, uint v1, uint v2)
 
void GPU_indexbuf_set_tri_verts (GPUIndexBufBuilder *builder, uint elem, uint v1, uint v2, uint v3)
 
void GPU_indexbuf_set_point_restart (GPUIndexBufBuilder *builder, uint elem)
 
void GPU_indexbuf_set_line_restart (GPUIndexBufBuilder *builder, uint elem)
 
void GPU_indexbuf_set_tri_restart (GPUIndexBufBuilder *builder, uint elem)
 
GPUIndexBufGPU_indexbuf_build (GPUIndexBufBuilder *)
 
void GPU_indexbuf_build_in_place (GPUIndexBufBuilder *, GPUIndexBuf *)
 
GPUIndexBufGPU_indexbuf_create_subrange (GPUIndexBuf *elem_src, uint start, uint length)
 
void GPU_indexbuf_create_subrange_in_place (GPUIndexBuf *elem, GPUIndexBuf *elem_src, uint start, uint length)
 
void GPU_indexbuf_discard (GPUIndexBuf *elem)
 
bool GPU_indexbuf_is_init (GPUIndexBuf *elem)
 
int GPU_indexbuf_primitive_len (GPUPrimType prim_type)
 

Detailed Description

GPU index buffer

Definition in file GPU_index_buffer.h.

Macro Definition Documentation

◆ GPU_INDEXBUF_DISCARD_SAFE

#define GPU_INDEXBUF_DISCARD_SAFE (   elem)
Value:
do { \
if (elem != NULL) { \
GPU_indexbuf_discard(elem); \
elem = NULL; \
} \
} while (0)

Definition at line 88 of file GPU_index_buffer.h.

Typedef Documentation

◆ GPUIndexBuf

typedef struct GPUIndexBuf GPUIndexBuf

Opaque type hiding blender::gpu::IndexBuf.

Definition at line 1 of file GPU_index_buffer.h.

◆ GPUIndexBufBuilder

Function Documentation

◆ GPU_indexbuf_add_generic_vert()

void GPU_indexbuf_add_generic_vert ( GPUIndexBufBuilder builder,
uint  v 
)

◆ GPU_indexbuf_add_line_adj_verts()

void GPU_indexbuf_add_line_adj_verts ( GPUIndexBufBuilder builder,
uint  v1,
uint  v2,
uint  v3,
uint  v4 
)

◆ GPU_indexbuf_add_line_verts()

void GPU_indexbuf_add_line_verts ( GPUIndexBufBuilder builder,
uint  v1,
uint  v2 
)

◆ GPU_indexbuf_add_point_vert()

void GPU_indexbuf_add_point_vert ( GPUIndexBufBuilder builder,
uint  v 
)

◆ GPU_indexbuf_add_primitive_restart()

void GPU_indexbuf_add_primitive_restart ( GPUIndexBufBuilder builder)

◆ GPU_indexbuf_add_tri_verts()

void GPU_indexbuf_add_tri_verts ( GPUIndexBufBuilder builder,
uint  v1,
uint  v2,
uint  v3 
)

◆ GPU_indexbuf_build()

GPUIndexBuf* GPU_indexbuf_build ( GPUIndexBufBuilder builder)

◆ GPU_indexbuf_build_in_place()

void GPU_indexbuf_build_in_place ( GPUIndexBufBuilder builder,
GPUIndexBuf elem 
)

◆ GPU_indexbuf_calloc()

GPUIndexBuf* GPU_indexbuf_calloc ( void  )

◆ GPU_indexbuf_create_subrange()

GPUIndexBuf* GPU_indexbuf_create_subrange ( GPUIndexBuf elem_src,
uint  start,
uint  length 
)

◆ GPU_indexbuf_create_subrange_in_place()

void GPU_indexbuf_create_subrange_in_place ( GPUIndexBuf elem,
GPUIndexBuf elem_src,
uint  start,
uint  length 
)

◆ GPU_indexbuf_discard()

void GPU_indexbuf_discard ( GPUIndexBuf elem)

◆ GPU_indexbuf_init()

void GPU_indexbuf_init ( GPUIndexBufBuilder builder,
GPUPrimType  prim_type,
uint  prim_len,
uint  vertex_len 
)

◆ GPU_indexbuf_init_ex()

void GPU_indexbuf_init_ex ( GPUIndexBufBuilder builder,
GPUPrimType  prim_type,
uint  index_len,
uint  vertex_len 
)

◆ GPU_indexbuf_is_init()

bool GPU_indexbuf_is_init ( GPUIndexBuf elem)

Definition at line 359 of file gpu_index_buffer.cc.

References blender::gpu::unwrap().

Referenced by DRW_ibo_requested().

◆ GPU_indexbuf_primitive_len()

int GPU_indexbuf_primitive_len ( GPUPrimType  prim_type)

◆ GPU_indexbuf_set_line_restart()

void GPU_indexbuf_set_line_restart ( GPUIndexBufBuilder builder,
uint  elem 
)

◆ GPU_indexbuf_set_line_verts()

void GPU_indexbuf_set_line_verts ( GPUIndexBufBuilder builder,
uint  elem,
uint  v1,
uint  v2 
)

◆ GPU_indexbuf_set_point_restart()

void GPU_indexbuf_set_point_restart ( GPUIndexBufBuilder builder,
uint  elem 
)

◆ GPU_indexbuf_set_point_vert()

void GPU_indexbuf_set_point_vert ( GPUIndexBufBuilder builder,
uint  elem,
uint  v1 
)

◆ GPU_indexbuf_set_tri_restart()

void GPU_indexbuf_set_tri_restart ( GPUIndexBufBuilder builder,
uint  elem 
)

◆ GPU_indexbuf_set_tri_verts()

void GPU_indexbuf_set_tri_verts ( GPUIndexBufBuilder builder,
uint  elem,
uint  v1,
uint  v2,
uint  v3 
)