Blender  V3.3
Classes | Typedefs | Functions | Variables
draw_cache_impl_pointcloud.c File Reference

PointCloud API for render engines. More...

#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_math_base.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "BKE_customdata.h"
#include "BKE_pointcloud.h"
#include "GPU_batch.h"
#include "draw_cache_impl.h"

Go to the source code of this file.

Classes

struct  PointCloudBatchCache
 

Typedefs

typedef struct PointCloudBatchCache PointCloudBatchCache
 

Functions

static void pointcloud_batch_cache_clear (PointCloud *pointcloud)
 
static bool pointcloud_batch_cache_valid (PointCloud *pointcloud)
 
static void pointcloud_batch_cache_init (PointCloud *pointcloud)
 
void DRW_pointcloud_batch_cache_validate (PointCloud *pointcloud)
 
static PointCloudBatchCachepointcloud_batch_cache_get (PointCloud *pointcloud)
 
void DRW_pointcloud_batch_cache_dirty_tag (PointCloud *pointcloud, int mode)
 
void DRW_pointcloud_batch_cache_free (PointCloud *pointcloud)
 
static void pointcloud_batch_cache_ensure_pos (Object *ob, PointCloudBatchCache *cache)
 
static void pointcloud_batch_cache_ensure_geom (Object *UNUSED(ob), PointCloudBatchCache *cache)
 
GPUBatchDRW_pointcloud_batch_cache_get_dots (Object *ob)
 
GPUBatchDRW_pointcloud_batch_cache_get_surface (Object *ob)
 
GPUBatch ** DRW_cache_pointcloud_surface_shaded_get (Object *ob, struct GPUMaterial **UNUSED(gpumat_array), uint gpumat_array_len)
 
int DRW_pointcloud_material_count_get (PointCloud *pointcloud)
 

Variables

static const float half_octahedron_normals [5][3]
 
static const uint half_octahedron_tris [4][3]
 

Detailed Description

PointCloud API for render engines.

Definition in file draw_cache_impl_pointcloud.c.

Typedef Documentation

◆ PointCloudBatchCache

Function Documentation

◆ DRW_cache_pointcloud_surface_shaded_get()

GPUBatch** DRW_cache_pointcloud_surface_shaded_get ( Object ob,
struct GPUMaterial **  UNUSEDgpumat_array,
uint  gpumat_array_len 
)

◆ DRW_pointcloud_batch_cache_dirty_tag()

void DRW_pointcloud_batch_cache_dirty_tag ( PointCloud pointcloud,
int  mode 
)

◆ DRW_pointcloud_batch_cache_free()

void DRW_pointcloud_batch_cache_free ( PointCloud pointcloud)

◆ DRW_pointcloud_batch_cache_get_dots()

GPUBatch* DRW_pointcloud_batch_cache_get_dots ( Object ob)

◆ DRW_pointcloud_batch_cache_get_surface()

GPUBatch* DRW_pointcloud_batch_cache_get_surface ( Object ob)

◆ DRW_pointcloud_batch_cache_validate()

void DRW_pointcloud_batch_cache_validate ( PointCloud pointcloud)

◆ DRW_pointcloud_material_count_get()

int DRW_pointcloud_material_count_get ( PointCloud pointcloud)

◆ pointcloud_batch_cache_clear()

static void pointcloud_batch_cache_clear ( PointCloud pointcloud)
static

◆ pointcloud_batch_cache_ensure_geom()

static void pointcloud_batch_cache_ensure_geom ( Object UNUSEDob,
PointCloudBatchCache cache 
)
static

◆ pointcloud_batch_cache_ensure_pos()

static void pointcloud_batch_cache_ensure_pos ( Object ob,
PointCloudBatchCache cache 
)
static

◆ pointcloud_batch_cache_get()

static PointCloudBatchCache* pointcloud_batch_cache_get ( PointCloud pointcloud)
static

◆ pointcloud_batch_cache_init()

static void pointcloud_batch_cache_init ( PointCloud pointcloud)
static

◆ pointcloud_batch_cache_valid()

static bool pointcloud_batch_cache_valid ( PointCloud pointcloud)
static

Variable Documentation

◆ half_octahedron_normals

const float half_octahedron_normals[5][3]
static
Initial value:
= {
{0.0f, 0.0f, 1.0f},
{1.0f, 0.0f, 0.0f},
{0.0f, 1.0f, 0.0f},
{-1.0f, 0.0f, 0.0f},
{0.0f, -1.0f, 0.0f},
}

Definition at line 181 of file draw_cache_impl_pointcloud.c.

Referenced by pointcloud_batch_cache_ensure_geom().

◆ half_octahedron_tris

const uint half_octahedron_tris[4][3]
static
Initial value:
= {
{0, 1, 2},
{0, 2, 3},
{0, 3, 4},
{0, 4, 1},
}

Definition at line 189 of file draw_cache_impl_pointcloud.c.

Referenced by pointcloud_batch_cache_ensure_geom().