Blender  V3.3
Classes | Namespaces | Macros | Variables
extract_mesh_vbo_attributes.cc File Reference
#include "MEM_guardedalloc.h"
#include <functional>
#include "BLI_color.hh"
#include "BLI_math_vec_types.hh"
#include "BLI_string.h"
#include "BKE_attribute.h"
#include "draw_attributes.h"
#include "draw_subdivision.h"
#include "extract_mesh.hh"

Go to the source code of this file.

Classes

struct  blender::draw::AttributeTypeConverter< AttributeType, VBOType >
 
struct  blender::draw::gpuMeshCol
 
struct  blender::draw::AttributeTypeConverter< MPropCol, gpuMeshCol >
 
struct  blender::draw::AttributeTypeConverter< ColorGeometry4b, gpuMeshCol >
 

Namespaces

 blender
 
 blender::draw
 

Macros

#define CREATE_EXTRACTOR_ATTR(index)
 

Variables

const MeshExtract extract_attr [GPU_MAX_ATTR]
 

Extract Attributes

#define EXTRACT_INIT_WRAPPER(index)
 
static CustomDatablender::draw::get_custom_data_for_domain (const MeshRenderData *mr, eAttrDomain domain)
 
static uint blender::draw::gpu_component_size_for_attribute_type (eCustomDataType type)
 
static GPUVertFetchMode blender::draw::get_fetch_mode_for_type (eCustomDataType type)
 
static GPUVertCompType blender::draw::get_comp_type_for_type (eCustomDataType type)
 
static void blender::draw::init_vbo_for_attribute (const MeshRenderData &mr, GPUVertBuf *vbo, const DRW_AttributeRequest &request, bool build_on_device, uint32_t len)
 
template<typename AttributeType , typename VBOType >
static void blender::draw::fill_vertbuf_with_attribute (const MeshRenderData *mr, VBOType *vbo_data, const DRW_AttributeRequest &request)
 
template<typename AttributeType , typename VBOType >
static void blender::draw::fill_vertbuf_with_attribute_bm (const MeshRenderData *mr, VBOType *&vbo_data, const DRW_AttributeRequest &request)
 
template<typename AttributeType , typename VBOType = AttributeType>
static void blender::draw::extract_attr_generic (const MeshRenderData *mr, GPUVertBuf *vbo, const DRW_AttributeRequest &request)
 
static void blender::draw::extract_attr_init (const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *UNUSED(tls_data), int index)
 
static void blender::draw::extract_attr_init_subdiv (const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *UNUSED(tls_data), int index)
 
template<int Index>
constexpr MeshExtract blender::draw::create_extractor_attr (ExtractInitFn fn, ExtractInitSubdivFn subdiv_fn)
 

Macro Definition Documentation

◆ CREATE_EXTRACTOR_ATTR

#define CREATE_EXTRACTOR_ATTR (   index)
Value:
blender::draw::create_extractor_attr<index>(blender::draw::extract_attr_init##index, \
static void extract_attr_init_subdiv(const DRWSubdivCache *subdiv_cache, const MeshRenderData *mr, MeshBatchCache *cache, void *buffer, void *UNUSED(tls_data), int index)
static void extract_attr_init(const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *UNUSED(tls_data), int index)

Definition at line 440 of file extract_mesh_vbo_attributes.cc.

◆ EXTRACT_INIT_WRAPPER

#define EXTRACT_INIT_WRAPPER (   index)
Value:
static void extract_attr_init##index( \
const MeshRenderData *mr, MeshBatchCache *cache, void *buf, void *tls_data) \
{ \
extract_attr_init(mr, cache, buf, tls_data, index); \
} \
static void extract_attr_init_subdiv##index(const DRWSubdivCache *subdiv_cache, \
const MeshRenderData *mr, \
MeshBatchCache *cache, \
void *buf, \
void *tls_data) \
{ \
extract_attr_init_subdiv(subdiv_cache, mr, cache, buf, tls_data, index); \
}

Definition at line 392 of file extract_mesh_vbo_attributes.cc.

Variable Documentation

◆ extract_attr

const MeshExtract extract_attr[GPU_MAX_ATTR]