Blender  V2.93
Namespaces | Macros
gpu_index_buffer.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "gpu_backend.hh"
#include "gpu_index_buffer_private.hh"

Go to the source code of this file.

Namespaces

 blender
 
 blender::gpu
 

Macros

#define KEEP_SINGLE_COPY   1
 
#define RESTART_INDEX   0xFFFFFFFF
 

Functions

IndexBufBuilder
void GPU_indexbuf_init_ex (GPUIndexBufBuilder *builder, GPUPrimType prim_type, uint index_len, uint vertex_len)
 
void GPU_indexbuf_init (GPUIndexBufBuilder *builder, GPUPrimType prim_type, uint prim_len, uint vertex_len)
 
void GPU_indexbuf_add_generic_vert (GPUIndexBufBuilder *builder, uint v)
 
void GPU_indexbuf_add_primitive_restart (GPUIndexBufBuilder *builder)
 
void GPU_indexbuf_add_point_vert (GPUIndexBufBuilder *builder, uint v)
 
void GPU_indexbuf_add_line_verts (GPUIndexBufBuilder *builder, uint v1, uint v2)
 
void GPU_indexbuf_add_tri_verts (GPUIndexBufBuilder *builder, uint v1, uint v2, uint v3)
 
void GPU_indexbuf_add_line_adj_verts (GPUIndexBufBuilder *builder, 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)
 
C-API
GPUIndexBufGPU_indexbuf_calloc (void)
 
GPUIndexBufGPU_indexbuf_build (GPUIndexBufBuilder *builder)
 
GPUIndexBufGPU_indexbuf_create_subrange (GPUIndexBuf *elem_src, uint start, uint length)
 
void GPU_indexbuf_build_in_place (GPUIndexBufBuilder *builder, GPUIndexBuf *elem)
 
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 element list (AKA index buffer)

Definition in file gpu_index_buffer.cc.

Macro Definition Documentation

◆ KEEP_SINGLE_COPY

#define KEEP_SINGLE_COPY   1

Definition at line 34 of file gpu_index_buffer.cc.

◆ RESTART_INDEX

#define RESTART_INDEX   0xFFFFFFFF

Definition at line 36 of file gpu_index_buffer.cc.

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 
)