Blender  V3.3
Classes | Typedefs | Functions
draw_cache_impl_volume.c File Reference

Volume API for render engines. More...

#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_object_types.h"
#include "DNA_volume_types.h"
#include "BKE_global.h"
#include "BKE_volume.h"
#include "BKE_volume_render.h"
#include "GPU_batch.h"
#include "GPU_capabilities.h"
#include "GPU_texture.h"
#include "DEG_depsgraph_query.h"
#include "DRW_render.h"
#include "draw_cache.h"
#include "draw_cache_impl.h"

Go to the source code of this file.

Classes

struct  VolumeBatchCache
 
struct  VolumeWireframeUserData
 

Typedefs

typedef struct VolumeBatchCache VolumeBatchCache
 
typedef struct VolumeWireframeUserData VolumeWireframeUserData
 

Functions

static void volume_batch_cache_clear (Volume *volume)
 
static bool volume_batch_cache_valid (Volume *volume)
 
static void volume_batch_cache_init (Volume *volume)
 
void DRW_volume_batch_cache_validate (Volume *volume)
 
static VolumeBatchCachevolume_batch_cache_get (Volume *volume)
 
void DRW_volume_batch_cache_dirty_tag (Volume *volume, int mode)
 
void DRW_volume_batch_cache_free (Volume *volume)
 
static void drw_volume_wireframe_cb (void *userdata, const float(*verts)[3], const int(*edges)[2], int totvert, int totedge)
 
GPUBatchDRW_volume_batch_cache_get_wireframes_face (Volume *volume)
 
static void drw_volume_selection_surface_cb (void *userdata, float(*verts)[3], int(*tris)[3], int totvert, int tottris)
 
GPUBatchDRW_volume_batch_cache_get_selection_surface (Volume *volume)
 
static DRWVolumeGridvolume_grid_cache_get (const Volume *volume, const VolumeGrid *grid, VolumeBatchCache *cache)
 
DRWVolumeGridDRW_volume_batch_cache_get_grid (Volume *volume, const VolumeGrid *volume_grid)
 
int DRW_volume_material_count_get (Volume *volume)
 

Detailed Description

Volume API for render engines.

Definition in file draw_cache_impl_volume.c.

Typedef Documentation

◆ VolumeBatchCache

◆ VolumeWireframeUserData

Function Documentation

◆ DRW_volume_batch_cache_dirty_tag()

void DRW_volume_batch_cache_dirty_tag ( Volume volume,
int  mode 
)

◆ DRW_volume_batch_cache_free()

void DRW_volume_batch_cache_free ( Volume volume)

◆ DRW_volume_batch_cache_get_grid()

DRWVolumeGrid* DRW_volume_batch_cache_get_grid ( Volume volume,
const VolumeGrid volume_grid 
)

◆ DRW_volume_batch_cache_get_selection_surface()

GPUBatch* DRW_volume_batch_cache_get_selection_surface ( Volume volume)

◆ DRW_volume_batch_cache_get_wireframes_face()

GPUBatch* DRW_volume_batch_cache_get_wireframes_face ( Volume volume)

◆ DRW_volume_batch_cache_validate()

void DRW_volume_batch_cache_validate ( Volume volume)

◆ DRW_volume_material_count_get()

int DRW_volume_material_count_get ( Volume volume)

Definition at line 345 of file draw_cache_impl_volume.c.

References max_ii(), and Volume::totcol.

Referenced by DRW_cache_object_material_count_get().

◆ drw_volume_selection_surface_cb()

static void drw_volume_selection_surface_cb ( void userdata,
float(*)  verts[3],
int(*)  tris[3],
int  totvert,
int  tottris 
)
static

◆ drw_volume_wireframe_cb()

static void drw_volume_wireframe_cb ( void userdata,
const float(*)  verts[3],
const int(*)  edges[2],
int  totvert,
int  totedge 
)
static

◆ volume_batch_cache_clear()

static void volume_batch_cache_clear ( Volume volume)
static

◆ volume_batch_cache_get()

static VolumeBatchCache* volume_batch_cache_get ( Volume volume)
static

◆ volume_batch_cache_init()

static void volume_batch_cache_init ( Volume volume)
static

◆ volume_batch_cache_valid()

static bool volume_batch_cache_valid ( Volume volume)
static

◆ volume_grid_cache_get()

static DRWVolumeGrid* volume_grid_cache_get ( const Volume volume,
const VolumeGrid grid,
VolumeBatchCache cache 
)
static