|
Blender
V2.93
|
#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 359 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 351 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().
|
static |
Definition at line 345 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 333 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 325 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().
|
static |
Definition at line 319 of file eevee_data.c.
References EEVEE_LightProbeEngineData::need_update.
Referenced by EEVEE_lightprobe_data_ensure().
| void EEVEE_motion_blur_data_free | ( | EEVEE_MotionBlurData * | mb | ) |
Definition at line 112 of file eevee_data.c.
References BLI_ghash_free(), eevee_motion_blur_mesh_data_free(), EEVEE_MotionBlurData::geom, MEM_freeN, NULL, and EEVEE_MotionBlurData::object.
Referenced by eevee_render_to_image().
| void EEVEE_motion_blur_data_init | ( | EEVEE_MotionBlurData * | mb | ) |
Definition at line 102 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::geom, NULL, and EEVEE_MotionBlurData::object.
Referenced by EEVEE_motion_blur_cache_init().
| EEVEE_GeometryMotionData* EEVEE_motion_blur_geometry_data_get | ( | EEVEE_MotionBlurData * | mb, |
| Object * | ob | ||
| ) |
Definition at line 196 of file eevee_data.c.
References motion_blur_deform_data_get().
Referenced by EEVEE_motion_blur_cache_populate().
| EEVEE_HairMotionData* EEVEE_motion_blur_hair_data_get | ( | EEVEE_MotionBlurData * | mb, |
| Object * | ob | ||
| ) |
Definition at line 201 of file eevee_data.c.
References motion_blur_deform_data_get().
Referenced by EEVEE_motion_blur_hair_cache_populate().
|
static |
Definition at line 43 of file eevee_data.c.
References ARRAY_SIZE, DRW_TEXTURE_FREE_SAFE, EEVEE_MOTION_DATA_HAIR, EEVEE_MOTION_DATA_MESH, GPU_VERTBUF_DISCARD_SAFE, EEVEE_HairMotionData::hair_pos, EEVEE_HairMotionData::hair_pos_tx, MEM_freeN, EEVEE_HairMotionData::psys, EEVEE_HairMotionData::psys_len, EEVEE_GeometryMotionData::type, and EEVEE_GeometryMotionData::vbo.
Referenced by EEVEE_motion_blur_data_free().
| EEVEE_ObjectMotionData* EEVEE_motion_blur_object_data_get | ( | EEVEE_MotionBlurData * | mb, |
| Object * | ob, | ||
| bool | hair | ||
| ) |
Definition at line 124 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(), and EEVEE_motion_blur_hair_cache_populate().
| EEVEE_ObjectEngineData* EEVEE_object_data_ensure | ( | Object * | ob | ) |
Definition at line 307 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 299 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().
|
static |
Definition at line 291 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().
|
static |
Definition at line 85 of file eevee_data.c.
References Freestyle::a, EEVEE_ObjectKey::id, EEVEE_ObjectKey::ob, and EEVEE_ObjectKey::parent.
Referenced by EEVEE_motion_blur_data_init().
|
static |
Definition at line 68 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 276 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 263 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.
| void EEVEE_view_layer_data_free | ( | void * | storage | ) |
Definition at line 208 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, GPU_FRAMEBUFFER_FREE_SAFE, 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 253 of file eevee_data.c.
References draw_engine_eevee_type, and DRW_view_layer_engine_data_get().
|
static |
Definition at line 258 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 382 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 377 of file eevee_data.c.
References draw_engine_eevee_type, DRW_drawdata_get(), and World::id.
|
static |
Definition at line 371 of file eevee_data.c.
References EEVEE_WorldEngineData::dd, and DrawData::recalc.
Referenced by EEVEE_world_data_ensure().
|
static |
Definition at line 157 of file eevee_data.c.
References BKE_object_is_modified(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_listbase_count(), Object::data, DRW_context_state_get(), DRW_object_get_dupli(), EEVEE_MOTION_DATA_HAIR, EEVEE_MOTION_DATA_MESH, EEVEE_MotionBlurData::geom, hair_step(), MEM_callocN, Object::modifiers, NULL, DupliObject::ob, OB_HAIR, scene, EEVEE_GeometryMotionData::type, and Object::type.
Referenced by EEVEE_motion_blur_geometry_data_get(), and EEVEE_motion_blur_hair_data_get().