Blender
V3.3
|
Extraction of Mesh data into VBO to feed to GPU. More...
#include "MEM_guardedalloc.h"
#include <optional>
#include "atomic_ops.h"
#include "DNA_mesh_types.h"
#include "DNA_scene_types.h"
#include "BLI_array.hh"
#include "BLI_math_bits.h"
#include "BLI_task.h"
#include "BLI_vector.hh"
#include "BKE_editmesh.h"
#include "GPU_capabilities.h"
#include "draw_cache_extract.hh"
#include "draw_cache_inline.h"
#include "draw_subdivision.h"
#include "mesh_extractors/extract_mesh.hh"
Go to the source code of this file.
Classes | |
struct | blender::draw::ExtractorRunData |
class | blender::draw::ExtractorRunDatas |
struct | blender::draw::ExtractTaskData |
struct | blender::draw::ExtractorIterData |
struct | blender::draw::MeshRenderDataUpdateTaskData |
Namespaces | |
blender | |
blender::draw | |
Macros | |
#define | EXTRACT_ADD_REQUESTED(type, name) |
#define | EXTRACT_ADD_REQUESTED(type, name) |
Typedefs | |
Mesh Elements Extract Struct | |
using | blender::draw::TaskId = int |
using | blender::draw::TaskLen = int |
Functions | |
ExtractTaskData | |
static void | blender::draw::extract_task_data_free (void *data) |
Extract Init and Finish | |
BLI_INLINE void | blender::draw::extract_init (const MeshRenderData *mr, MeshBatchCache *cache, ExtractorRunDatas &extractors, MeshBufferList *mbuflist, void *data_stack) |
BLI_INLINE void | blender::draw::extract_finish (const MeshRenderData *mr, MeshBatchCache *cache, const ExtractorRunDatas &extractors, void *data_stack) |
Extract In Parallel Ranges | |
static void | blender::draw::extract_task_reduce (const void *__restrict userdata, void *__restrict chunk_to, void *__restrict chunk_from) |
static void | blender::draw::extract_range_iter_looptri_bm (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_looptri_mesh (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_poly_bm (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_poly_mesh (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_ledge_bm (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_ledge_mesh (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_lvert_bm (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
static void | blender::draw::extract_range_iter_lvert_mesh (void *__restrict userdata, const int iter, const TaskParallelTLS *__restrict tls) |
BLI_INLINE void | blender::draw::extract_task_range_run_iter (const MeshRenderData *mr, ExtractorRunDatas *extractors, const eMRIterType iter_type, bool is_mesh, TaskParallelSettings *settings) |
static void | blender::draw::extract_task_range_run (void *__restrict taskdata) |
static struct TaskNode * | blender::draw::extract_task_node_create (struct TaskGraph *task_graph, const MeshRenderData *mr, MeshBatchCache *cache, ExtractorRunDatas *extractors, MeshBufferList *mbuflist, const bool use_threading) |
Task Node - Update Mesh Render Data | |
static void | blender::draw::mesh_render_data_update_task_data_free (void *data) |
static void | blender::draw::mesh_extract_render_data_node_exec (void *__restrict task_data) |
static struct TaskNode * | blender::draw::mesh_extract_render_data_node_create (struct TaskGraph *task_graph, MeshRenderData *mr, MeshBufferCache *cache, const eMRIterType iter_type, const eMRDataType data_flag) |
Extract Loop | |
void | blender::draw::mesh_buffer_cache_create_requested (TaskGraph *task_graph, MeshBatchCache *cache, MeshBufferCache *mbc, Object *object, Mesh *me, bool is_editmode, bool is_paint_mode, bool is_mode_active, const float obmat[4][4], bool do_final, bool do_uvedit, const Scene *scene, const ToolSettings *ts, bool use_hide) |
Subdivision Extract Loop | |
void | blender::draw::mesh_buffer_cache_create_requested_subdiv (MeshBatchCache *cache, MeshBufferCache *mbc, DRWSubdivCache *subdiv_cache, MeshRenderData *mr) |
Extraction of Mesh data into VBO to feed to GPU.
Definition in file draw_cache_extract_mesh.cc.