Blender
V3.3
|
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 GPUTexture * | grid_default_texture (eGPUDefaultValue default_value) |
void | DRW_volume_init (DRWData *drw_data) |
static DRWShadingGroup * | drw_volume_object_grids_init (Object *ob, ListBase *attrs, DRWShadingGroup *grp) |
static DRWShadingGroup * | drw_volume_object_mesh_init (Scene *scene, Object *ob, ListBase *attrs, DRWShadingGroup *grp) |
static DRWShadingGroup * | drw_volume_world_grids_init (ListBase *attrs, DRWShadingGroup *grp) |
DRWShadingGroup * | DRW_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 = {} |
Contains Volume object GPU attributes configuration.
Definition in file draw_volume.cc.
Definition at line 30 of file draw_volume.cc.
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.
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().
Definition at line 83 of file draw_volume.cc.
References g_data, and GPU_TEXTURE_FREE_SAFE.
Referenced by DRW_engines_free().
|
static |
Definition at line 69 of file draw_volume.cc.
References g_data, GPU_DATA_FLOAT, GPU_RGBA8, GPU_texture_create_3d(), and GPU_texture_wrap_mode().
Referenced by DRW_volume_init(), and grid_default_texture().
Definition at line 104 of file draw_volume.cc.
References drw_volume_globals_init(), g_data, blender::compositor::pool, and DRWData::volume_grids_ubos.
Referenced by DRW_cache_restart(), DRW_custom_pipeline(), DRW_draw_depth_loop(), DRW_draw_render_loop_ex(), DRW_draw_select_loop(), and DRW_render_object_iter().
|
static |
Definition at line 117 of file draw_volume.cc.
References BKE_volume_density_scale(), BKE_volume_grid_find_for_read(), BKE_volume_load(), copy_m4_m4(), Object::data, DRW_shgroup_create_sub(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_texture(), DRW_volume_batch_cache_get_grid(), DST, G, g_data, grid_default_texture(), LISTBASE_FOREACH, Node::name, DRWVolumeGrid::object_to_texture, Object::obmat, blender::compositor::pool, DRWVolumeGrid::texture, DRWManager::vmempool, and DRWData::volume_grids_ubos.
Referenced by DRW_shgroup_volume_create_sub().
|
static |
Definition at line 169 of file draw_volume.cc.
References FluidDomainSettings::active_color, FluidDomainSettings::active_fields, BKE_modifier_is_enabled(), BKE_modifiers_findby_type(), copy_m4_m4(), FluidModifierData::domain, DRW_shgroup_create_sub(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_texture(), DRW_shgroup_uniform_texture_ref(), DRW_smoke_ensure(), DST, eModifierMode_Realtime, eModifierType_Fluid, FluidDomainSettings::flags, FluidDomainSettings::flame_ignition, FluidDomainSettings::flame_max_temp, FluidDomainSettings::fluid, FLUID_DOMAIN_ACTIVE_COLOR_SET, FLUID_DOMAIN_ACTIVE_COLORS, FLUID_DOMAIN_TYPE_GAS, FLUID_DOMAIN_USE_NOISE, g_data, grid_default_texture(), LISTBASE_FOREACH, blender::compositor::pool, scene, STR_ELEM, STREQ, FluidDomainSettings::tex_color, FluidDomainSettings::tex_density, FluidDomainSettings::tex_flame, FluidDomainSettings::type, UNPACK3, DRWManager::vmempool, and DRWData::volume_grids_ubos.
Referenced by DRW_shgroup_volume_create_sub().
Definition at line 64 of file draw_volume.cc.
References blender::compositor::pool.
Referenced by DRW_viewport_data_free().
|
static |
Definition at line 251 of file draw_volume.cc.
References DRW_shgroup_uniform_texture(), grid_default_texture(), and LISTBASE_FOREACH.
Referenced by DRW_shgroup_volume_create_sub().
|
static |
Definition at line 89 of file draw_volume.cc.
References drw_volume_globals_init(), g_data, GPU_DEFAULT_0, and GPU_DEFAULT_1.
Referenced by drw_volume_object_grids_init(), drw_volume_object_mesh_init(), and drw_volume_world_grids_init().
float dummy_grid_mat[4][4] |
Definition at line 35 of file draw_volume.cc.
GPUTexture* dummy_one |
Definition at line 34 of file draw_volume.cc.
GPUTexture* dummy_zero |
Definition at line 33 of file draw_volume.cc.
struct { ... } g_data |
Referenced by DRW_volume_free(), drw_volume_globals_init(), DRW_volume_init(), drw_volume_object_grids_init(), drw_volume_object_mesh_init(), eevee_cache_finish(), eevee_cryptomatte_download_buffer(), EEVEE_cryptomatte_free(), EEVEE_cryptomatte_output_accumulate(), EEVEE_cryptomatte_output_init(), eevee_cryptomatte_postprocess_weights(), EEVEE_cryptomatte_render_result(), EEVEE_cryptomatte_renderpasses_init(), eevee_cryptomatte_shading_group_create(), EEVEE_cryptomatte_store_metadata(), EEVEE_lookdev_cache_init(), eevee_lookdev_lightcache_delete(), EEVEE_materials_init(), EEVEE_mist_output_init(), EEVEE_render_cache(), EEVEE_render_init(), EEVEE_render_modules_init(), eevee_render_to_image(), EEVEE_render_view_sync(), EEVEE_renderpasses_cache_finish(), EEVEE_renderpasses_init(), EEVEE_renderpasses_only_first_sample_pass_active(), EEVEE_renderpasses_output_accumulate(), EEVEE_renderpasses_output_init(), EEVEE_renderpasses_postprocess(), eevee_renderpasses_volumetric_active(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), eevee_store_metadata(), grid_default_texture(), and lightbake_render_scene_face().