Blender  V3.3
Classes | Typedefs | Functions | Variables
draw_volume.cc File Reference

Contains Volume object GPU attributes configuration. More...

#include "DRW_gpu_wrapper.hh"
#include "DRW_render.h"
#include "DNA_fluid_types.h"
#include "DNA_volume_types.h"
#include "BKE_fluid.h"
#include "BKE_global.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_volume.h"
#include "BKE_volume_render.h"
#include "GPU_material.h"
#include "draw_common.h"
#include "draw_manager.h"

Go to the source code of this file.

Classes

struct  VolumeUniformBufPool
 

Typedefs

using VolumeInfosBuf = blender::draw::UniformBuffer< VolumeInfos >
 

Functions

void DRW_volume_ubos_pool_free (void *pool)
 
static void drw_volume_globals_init ()
 
void DRW_volume_free (void)
 
static GPUTexturegrid_default_texture (eGPUDefaultValue default_value)
 
void DRW_volume_init (DRWData *drw_data)
 
static DRWShadingGroupdrw_volume_object_grids_init (Object *ob, ListBase *attrs, DRWShadingGroup *grp)
 
static DRWShadingGroupdrw_volume_object_mesh_init (Scene *scene, Object *ob, ListBase *attrs, DRWShadingGroup *grp)
 
static DRWShadingGroupdrw_volume_world_grids_init (ListBase *attrs, DRWShadingGroup *grp)
 
DRWShadingGroupDRW_shgroup_volume_create_sub (Scene *scene, Object *ob, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
 

Variables

struct {
   GPUTexture *   dummy_zero
 
   GPUTexture *   dummy_one
 
   float   dummy_grid_mat [4][4]
 
g_data = {}
 

Detailed Description

Contains Volume object GPU attributes configuration.

Definition in file draw_volume.cc.

Typedef Documentation

◆ VolumeInfosBuf

Definition at line 30 of file draw_volume.cc.

Function Documentation

◆ DRW_shgroup_volume_create_sub()

DRWShadingGroup* DRW_shgroup_volume_create_sub ( struct Scene scene,
struct Object ob,
struct DRWShadingGroup shgrp,
struct GPUMaterial gpu_material 
)

Add attributes bindings of volume grids to an existing shading group. No draw call is added so the caller can decide how to use the data.

Returns
nullptr if there is nothing to draw.

Definition at line 260 of file draw_volume.cc.

References drw_volume_object_grids_init(), drw_volume_object_mesh_init(), drw_volume_world_grids_init(), GPU_material_attributes(), OB_VOLUME, scene, and Object::type.

Referenced by EEVEE_volumes_cache_init(), and EEVEE_volumes_cache_object_add().

◆ DRW_volume_free()

void DRW_volume_free ( void  )

Definition at line 83 of file draw_volume.cc.

References g_data, and GPU_TEXTURE_FREE_SAFE.

Referenced by DRW_engines_free().

◆ drw_volume_globals_init()

static void drw_volume_globals_init ( )
static

◆ DRW_volume_init()

void DRW_volume_init ( DRWData drw_data)

◆ drw_volume_object_grids_init()

static DRWShadingGroup* drw_volume_object_grids_init ( Object ob,
ListBase attrs,
DRWShadingGroup grp 
)
static

◆ drw_volume_object_mesh_init()

static DRWShadingGroup* drw_volume_object_mesh_init ( Scene scene,
Object ob,
ListBase attrs,
DRWShadingGroup grp 
)
static

◆ DRW_volume_ubos_pool_free()

void DRW_volume_ubos_pool_free ( void pool)

Definition at line 64 of file draw_volume.cc.

References blender::compositor::pool.

Referenced by DRW_viewport_data_free().

◆ drw_volume_world_grids_init()

static DRWShadingGroup* drw_volume_world_grids_init ( ListBase attrs,
DRWShadingGroup grp 
)
static

◆ grid_default_texture()

static GPUTexture* grid_default_texture ( eGPUDefaultValue  default_value)
static

Variable Documentation

◆ dummy_grid_mat

float dummy_grid_mat[4][4]

Definition at line 35 of file draw_volume.cc.

◆ dummy_one

GPUTexture* dummy_one

Definition at line 34 of file draw_volume.cc.

◆ dummy_zero

GPUTexture* dummy_zero

Definition at line 33 of file draw_volume.cc.

◆ 

struct { ... } g_data