Blender
V3.3
|
#include "DRW_render.h"
#include "BLI_ghash.h"
#include "BLI_memblock.h"
#include "BKE_duplilist.h"
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "DEG_depsgraph_query.h"
#include "GPU_vertex_buffer.h"
#include "eevee_lightcache.h"
#include "eevee_private.h"
Go to the source code of this file.
All specific data handler for Objects, Lights, ViewLayers, ...
Definition in file eevee_data.c.
EEVEE_LightEngineData* EEVEE_light_data_ensure | ( | Object * | ob | ) |
Definition at line 342 of file eevee_data.c.
References BLI_assert, draw_engine_eevee_type, DRW_drawdata_ensure(), eevee_light_data_init(), Object::id, NULL, OB_LAMP, and Object::type.
Referenced by EEVEE_shadows_cube_add().
EEVEE_LightEngineData* EEVEE_light_data_get | ( | Object * | ob | ) |
Definition at line 334 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_get(), Object::id, NULL, OB_LAMP, and Object::type.
Referenced by eevee_id_object_update().
Definition at line 328 of file eevee_data.c.
References EEVEE_LightEngineData::need_update.
Referenced by EEVEE_light_data_ensure().
EEVEE_LightProbeEngineData* EEVEE_lightprobe_data_ensure | ( | Object * | ob | ) |
Definition at line 316 of file eevee_data.c.
References BLI_assert, draw_engine_eevee_type, DRW_drawdata_ensure(), eevee_lightprobe_data_init(), Object::id, NULL, OB_LIGHTPROBE, and Object::type.
Referenced by EEVEE_lightprobes_cache_add().
EEVEE_LightProbeEngineData* EEVEE_lightprobe_data_get | ( | Object * | ob | ) |
Definition at line 308 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_get(), Object::id, NULL, OB_LIGHTPROBE, and Object::type.
Referenced by eevee_id_object_update().
Definition at line 302 of file eevee_data.c.
References EEVEE_LightProbeEngineData::need_update.
Referenced by EEVEE_lightprobe_data_ensure().
EEVEE_HairMotionData* EEVEE_motion_blur_curves_data_get | ( | EEVEE_ObjectMotionData * | mb_data | ) |
Definition at line 177 of file eevee_data.c.
References EEVEE_MOTION_DATA_HAIR, EEVEE_ObjectMotionData::hair_data, hair_step(), MEM_callocN, and NULL.
Referenced by EEVEE_motion_blur_curves_cache_populate().
void EEVEE_motion_blur_data_free | ( | EEVEE_MotionBlurData * | mb | ) |
Definition at line 98 of file eevee_data.c.
References BLI_ghash_free(), eevee_motion_blur_mesh_data_free(), EEVEE_motion_hair_step_free(), GPU_vertbuf_discard(), EEVEE_MotionBlurData::hair_motion_step_cache, MEM_freeN, NULL, EEVEE_MotionBlurData::object, and EEVEE_MotionBlurData::position_vbo_cache.
Referenced by eevee_render_to_image().
void EEVEE_motion_blur_data_init | ( | EEVEE_MotionBlurData * | mb | ) |
Definition at line 81 of file eevee_data.c.
References BLI_ghash_new(), BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), eevee_object_key_cmp(), eevee_object_key_hash(), EEVEE_MotionBlurData::hair_motion_step_cache, NULL, EEVEE_MotionBlurData::object, and EEVEE_MotionBlurData::position_vbo_cache.
Referenced by EEVEE_motion_blur_cache_init().
EEVEE_GeometryMotionData* EEVEE_motion_blur_geometry_data_get | ( | EEVEE_ObjectMotionData * | mb_data | ) |
Definition at line 153 of file eevee_data.c.
References EEVEE_MOTION_DATA_MESH, EEVEE_ObjectMotionData::geometry_data, MEM_callocN, NULL, and EEVEE_GeometryMotionData::type.
Referenced by EEVEE_motion_blur_cache_populate().
EEVEE_HairMotionData* EEVEE_motion_blur_hair_data_get | ( | EEVEE_ObjectMotionData * | mb_data, |
Object * | ob | ||
) |
Definition at line 163 of file eevee_data.c.
References BLI_listbase_count(), EEVEE_MOTION_DATA_HAIR, EEVEE_ObjectMotionData::hair_data, hair_step(), MEM_callocN, Object::modifiers, and NULL.
Referenced by EEVEE_motion_blur_hair_cache_populate().
Definition at line 28 of file eevee_data.c.
References EEVEE_ObjectMotionData::geometry_data, EEVEE_ObjectMotionData::hair_data, MEM_freeN, and NULL.
Referenced by EEVEE_motion_blur_data_free().
EEVEE_ObjectMotionData* EEVEE_motion_blur_object_data_get | ( | EEVEE_MotionBlurData * | mb, |
Object * | ob, | ||
bool | is_psys | ||
) |
Definition at line 117 of file eevee_data.c.
References BLI_ghash_insert(), BLI_ghash_lookup(), DRW_object_get_dupli(), DRW_object_get_dupli_parent(), EEVEE_ObjectKey::id, MEM_callocN, MEM_mallocN, NULL, EEVEE_ObjectKey::ob, EEVEE_MotionBlurData::object, EEVEE_ObjectKey::parent, and DupliObject::persistent_id.
Referenced by EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_curves_cache_populate(), and EEVEE_motion_blur_hair_cache_populate().
void EEVEE_motion_hair_step_free | ( | EEVEE_HairMotionStepData * | step_data | ) |
Definition at line 74 of file eevee_data.c.
References DRW_texture_free(), GPU_vertbuf_discard(), EEVEE_HairMotionStepData::hair_pos, EEVEE_HairMotionStepData::hair_pos_tx, and MEM_freeN.
Referenced by EEVEE_motion_blur_data_free(), and EEVEE_motion_blur_swap_data().
EEVEE_ObjectEngineData* EEVEE_object_data_ensure | ( | Object * | ob | ) |
Definition at line 290 of file eevee_data.c.
References BLI_assert, draw_engine_eevee_type, DRW_drawdata_ensure(), eevee_object_data_init(), ELEM, Object::id, NULL, OB_LAMP, OB_LIGHTPROBE, and Object::type.
Referenced by EEVEE_materials_cache_populate(), and EEVEE_shadows_caster_register().
EEVEE_ObjectEngineData* EEVEE_object_data_get | ( | Object * | ob | ) |
Definition at line 282 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_get(), ELEM, Object::id, NULL, OB_LAMP, OB_LIGHTPROBE, and Object::type.
Referenced by eevee_id_object_update().
Definition at line 274 of file eevee_data.c.
References EEVEE_ObjectEngineData::geom_update, EEVEE_ObjectEngineData::need_update, and EEVEE_ObjectEngineData::shadow_caster_id.
Referenced by EEVEE_object_data_ensure().
Definition at line 57 of file eevee_data.c.
References Freestyle::a, usdtokens::b(), EEVEE_ObjectKey::id, EEVEE_ObjectKey::ob, and EEVEE_ObjectKey::parent.
Referenced by EEVEE_motion_blur_data_init().
Definition at line 40 of file eevee_data.c.
References BLI_ghashutil_combine_hash(), BLI_ghashutil_inthash, BLI_ghashutil_ptrhash(), hash, EEVEE_ObjectKey::id, MAX_DUPLI_RECUR, EEVEE_ObjectKey::ob, and EEVEE_ObjectKey::parent.
Referenced by EEVEE_motion_blur_data_init().
EEVEE_ViewLayerData* EEVEE_view_layer_data_ensure | ( | void | ) |
Definition at line 259 of file eevee_data.c.
References draw_engine_eevee_type, DRW_view_layer_engine_data_ensure(), EEVEE_view_layer_data_free(), eevee_view_layer_init(), MEM_callocN, and NULL.
Referenced by eevee_cache_finish(), eevee_cache_init(), EEVEE_cache_populate(), eevee_draw_scene(), eevee_engine_init(), eevee_lightbake_cache_create(), eevee_lightbake_render_grid_sample(), eevee_lightbake_render_probe_sample(), eevee_lightbake_render_world_sample(), EEVEE_lookdev_draw(), EEVEE_render_cache(), EEVEE_render_cache_init(), EEVEE_render_draw(), EEVEE_render_modules_init(), EEVEE_render_read_result(), and eevee_render_to_image().
EEVEE_ViewLayerData* EEVEE_view_layer_data_ensure_ex | ( | struct ViewLayer * | view_layer | ) |
Definition at line 246 of file eevee_data.c.
References draw_engine_eevee_type, DRW_view_layer_engine_data_ensure_ex(), EEVEE_view_layer_data_free(), eevee_view_layer_init(), MEM_callocN, and NULL.
Definition at line 191 of file eevee_data.c.
References EEVEE_ViewLayerData::aovs, BLI_memblock_destroy(), EEVEE_ViewLayerData::combined, EEVEE_ViewLayerData::common_ubo, EEVEE_ViewLayerData::diff_color, EEVEE_ViewLayerData::diff_light, DRW_TEXTURE_FREE_SAFE, DRW_UBO_FREE_SAFE, EEVEE_lightcache_free(), EEVEE_ViewLayerData::emit, EEVEE_ViewLayerData::environment, EEVEE_ViewLayerData::fallback_lightcache, EEVEE_ViewLayerData::grid_ubo, EEVEE_ViewLayerData::light_ubo, EEVEE_ViewLayerData::lights, EEVEE_ViewLayerData::material_cache, MAX_AOVS, MEM_SAFE_FREE, NULL, EEVEE_ViewLayerData::planar_ubo, EEVEE_ViewLayerData::probe_ubo, EEVEE_ViewLayerData::probes, EEVEE_ViewLayerData::renderpass_ubo, EEVEE_ViewLayerData::shadow_cascade_pool, EEVEE_ViewLayerData::shadow_cube_pool, EEVEE_ViewLayerData::shadow_fb, EEVEE_ViewLayerData::shadow_ubo, EEVEE_ViewLayerData::shcasters_buffers, EEVEE_ViewLayerData::spec_color, and EEVEE_ViewLayerData::spec_light.
Referenced by eevee_lightbake_delete_resources(), EEVEE_view_layer_data_ensure(), and EEVEE_view_layer_data_ensure_ex().
EEVEE_ViewLayerData* EEVEE_view_layer_data_get | ( | void | ) |
Definition at line 236 of file eevee_data.c.
References draw_engine_eevee_type, and DRW_view_layer_engine_data_get().
|
static |
Definition at line 241 of file eevee_data.c.
References EEVEE_ViewLayerData::common_data, EEVEE_ViewLayerData::common_ubo, and GPU_uniformbuf_create.
Referenced by EEVEE_view_layer_data_ensure(), and EEVEE_view_layer_data_ensure_ex().
EEVEE_WorldEngineData* EEVEE_world_data_ensure | ( | World * | wo | ) |
Definition at line 365 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_ensure(), eevee_world_data_init(), World::id, and NULL.
Referenced by eevee_id_world_update().
EEVEE_WorldEngineData* EEVEE_world_data_get | ( | World * | wo | ) |
Definition at line 360 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_get(), and World::id.
Definition at line 354 of file eevee_data.c.
References EEVEE_WorldEngineData::dd, and DrawData::recalc.
Referenced by EEVEE_world_data_ensure().