Blender V4.3
draw_cache_impl_pointcloud.cc File Reference

PointCloud API for render engines. More...

#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_math_color.hh"
#include "BLI_math_vector.h"
#include "BLI_task.hh"
#include "BLI_utildefines.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "BKE_attribute.hh"
#include "BKE_pointcloud.hh"
#include "GPU_batch.hh"
#include "GPU_material.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, const char *name)
 
int blender::draw::DRW_pointcloud_material_count_get (const PointCloud *pointcloud)
 
void blender::draw::DRW_pointcloud_batch_cache_create_requested (Object *ob)
 

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 DRW_AttributeRequest &request, int index)
 

Detailed Description

PointCloud API for render engines.

Definition in file draw_cache_impl_pointcloud.cc.