Blender V5.0
draw_cache_impl_pointcloud.cc File Reference

PointCloud API for render engines. More...

#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_color.hh"
#include "BLI_listbase.h"
#include "BLI_task.hh"
#include "BLI_utildefines.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_userdef_types.h"
#include "BKE_attribute.hh"
#include "BKE_material.hh"
#include "BKE_pointcloud.hh"
#include "GPU_batch.hh"
#include "GPU_material.hh"
#include "DRW_render.hh"
#include "draw_attributes.hh"
#include "draw_cache_impl.hh"
#include "draw_cache_inline.hh"
#include "draw_pointcloud_private.hh"

Go to the source code of this file.

Classes

struct  blender::draw::PointCloudEvalCache
struct  blender::draw::PointCloudBatchCache

Namespaces

namespace  blender
namespace  blender::draw

Functions

gpu::Batch cache management
static PointCloudBatchCacheblender::draw::pointcloud_batch_cache_get (PointCloud &pointcloud)
static bool blender::draw::pointcloud_batch_cache_valid (PointCloud &pointcloud)
static void blender::draw::pointcloud_batch_cache_init (PointCloud &pointcloud)
static void blender::draw::pointcloud_discard_attributes (PointCloudBatchCache &cache)
static void blender::draw::pointcloud_batch_cache_clear (PointCloud &pointcloud)
Expose via BKE callbacks
void blender::draw::DRW_pointcloud_batch_cache_dirty_tag (PointCloud *pointcloud, int mode)
void blender::draw::DRW_pointcloud_batch_cache_validate (PointCloud *pointcloud)
void blender::draw::DRW_pointcloud_batch_cache_free (PointCloud *pointcloud)
Garbage Collection
void blender::draw::DRW_pointcloud_batch_cache_free_old (PointCloud *pointcloud, int ctime)
Private API
gpu::VertBufblender::draw::pointcloud_position_and_radius_get (PointCloud *pointcloud)
gpu::Batch ** blender::draw::pointcloud_surface_shaded_get (PointCloud *pointcloud, GPUMaterial **gpu_materials, int mat_len)
gpu::Batch * blender::draw::pointcloud_surface_get (PointCloud *pointcloud)
PointCloud
blender::gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_dots (Object *ob)
gpu::VertBufblender::draw::DRW_pointcloud_position_and_radius_buffer_get (Object *ob)
gpu::VertBuf ** blender::draw::DRW_pointcloud_evaluated_attribute (PointCloud *pointcloud, StringRef name)
void blender::draw::DRW_pointcloud_batch_cache_create_requested (Object *ob)
blender::gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_edit_dots (PointCloud *pointcloud)
API
static void blender::draw::index_mask_to_ibo (const IndexMask &mask, gpu::IndexBuf &ibo)
static void blender::draw::build_edit_selection_indices (const PointCloud &pointcloud, gpu::IndexBuf &ibo)

PointCloud extraction

static const uint blender::draw::half_octahedron_tris [4][3]
static void blender::draw::pointcloud_extract_indices (const PointCloud &pointcloud, PointCloudBatchCache &cache)
static void blender::draw::pointcloud_extract_position_and_radius (const PointCloud &pointcloud, PointCloudBatchCache &cache)
static void blender::draw::pointcloud_extract_attribute (const PointCloud &pointcloud, PointCloudBatchCache &cache, const StringRef name, int index)

Detailed Description

PointCloud API for render engines.

Definition in file draw_cache_impl_pointcloud.cc.