Blender  V3.3
Macros | Typedefs | Functions
draw_cache_impl_displist.c File Reference

DispList API for render engines. More...

#include "BLI_edgehash.h"
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_curve_types.h"
#include "DNA_scene_types.h"
#include "BKE_displist.h"
#include "GPU_batch.h"
#include "GPU_capabilities.h"
#include "draw_cache_inline.h"
#include "draw_cache_impl.h"

Go to the source code of this file.

Macros

#define NO_EDGE   INT_MAX
 

Typedefs

typedef void() SetTriIndicesFn(void *thunk, uint v1, uint v2, uint v3)
 

Functions

static int dl_vert_len (const DispList *dl)
 
static int dl_tri_len (const DispList *dl)
 
static int curve_render_surface_vert_len_get (const ListBase *lb)
 
static int curve_render_surface_tri_len_get (const ListBase *lb)
 
static void displist_indexbufbuilder_set (SetTriIndicesFn *set_tri_indices, SetTriIndicesFn *set_quad_tri_indices, void *thunk, const DispList *dl, const int ofs)
 
void DRW_displist_vertbuf_create_pos_and_nor (ListBase *lb, GPUVertBuf *vbo, const Scene *scene)
 
void DRW_vertbuf_create_wiredata (GPUVertBuf *vbo, const int vert_len)
 
void DRW_displist_vertbuf_create_wiredata (ListBase *lb, GPUVertBuf *vbo)
 
void DRW_displist_indexbuf_create_triangles_in_order (ListBase *lb, GPUIndexBuf *ibo)
 
static void set_overlay_wires_tri_indices (void *thunk, uint v1, uint v2, uint v3)
 
static void set_overlay_wires_quad_tri_indices (void *thunk, uint v1, uint v2, uint v3)
 
void DRW_displist_indexbuf_create_lines_in_order (ListBase *lb, GPUIndexBuf *ibo)
 
static void set_edge_adjacency_lines_indices (EdgeHash *eh, GPUIndexBufBuilder *elb, bool *r_is_manifold, uint v1, uint v2, uint v3)
 
static void set_edges_adjacency_lines_indices (void *thunk, uint v1, uint v2, uint v3)
 
void DRW_displist_indexbuf_create_edges_adjacency_lines (struct ListBase *lb, struct GPUIndexBuf *ibo, bool *r_is_manifold)
 

Detailed Description

DispList API for render engines.

Note
DispList may be removed soon! This is a utility for object types that use render.

Definition in file draw_cache_impl_displist.c.

Macro Definition Documentation

◆ NO_EDGE

#define NO_EDGE   INT_MAX

Definition at line 261 of file draw_cache_impl_displist.c.

Typedef Documentation

◆ SetTriIndicesFn

typedef void() SetTriIndicesFn(void *thunk, uint v1, uint v2, uint v3)

Definition at line 73 of file draw_cache_impl_displist.c.

Function Documentation

◆ curve_render_surface_tri_len_get()

static int curve_render_surface_tri_len_get ( const ListBase lb)
static

◆ curve_render_surface_vert_len_get()

static int curve_render_surface_vert_len_get ( const ListBase lb)
static

◆ displist_indexbufbuilder_set()

static void displist_indexbufbuilder_set ( SetTriIndicesFn set_tri_indices,
SetTriIndicesFn set_quad_tri_indices,
void thunk,
const DispList dl,
const int  ofs 
)
static

◆ dl_tri_len()

static int dl_tri_len ( const DispList dl)
static

◆ dl_vert_len()

static int dl_vert_len ( const DispList dl)
static

◆ DRW_displist_indexbuf_create_edges_adjacency_lines()

void DRW_displist_indexbuf_create_edges_adjacency_lines ( struct ListBase lb,
struct GPUIndexBuf ibo,
bool r_is_manifold 
)

◆ DRW_displist_indexbuf_create_lines_in_order()

void DRW_displist_indexbuf_create_lines_in_order ( ListBase lb,
GPUIndexBuf ibo 
)

◆ DRW_displist_indexbuf_create_triangles_in_order()

void DRW_displist_indexbuf_create_triangles_in_order ( ListBase lb,
GPUIndexBuf ibo 
)

◆ DRW_displist_vertbuf_create_pos_and_nor()

void DRW_displist_vertbuf_create_pos_and_nor ( ListBase lb,
GPUVertBuf vbo,
const Scene scene 
)

◆ DRW_displist_vertbuf_create_wiredata()

void DRW_displist_vertbuf_create_wiredata ( ListBase lb,
GPUVertBuf vbo 
)

◆ DRW_vertbuf_create_wiredata()

void DRW_vertbuf_create_wiredata ( GPUVertBuf vbo,
const int  vert_len 
)

◆ set_edge_adjacency_lines_indices()

static void set_edge_adjacency_lines_indices ( EdgeHash eh,
GPUIndexBufBuilder elb,
bool r_is_manifold,
uint  v1,
uint  v2,
uint  v3 
)
static

◆ set_edges_adjacency_lines_indices()

static void set_edges_adjacency_lines_indices ( void thunk,
uint  v1,
uint  v2,
uint  v3 
)
static

◆ set_overlay_wires_quad_tri_indices()

static void set_overlay_wires_quad_tri_indices ( void thunk,
uint  v1,
uint  v2,
uint  v3 
)
static

◆ set_overlay_wires_tri_indices()

static void set_overlay_wires_tri_indices ( void thunk,
uint  v1,
uint  v2,
uint  v3 
)
static