Blender
V3.3
|
#include "DRW_render.h"
#include "draw_color_management.h"
#include "BLI_rand.h"
#include "BKE_object.h"
#include "DEG_depsgraph_query.h"
#include "DNA_world_types.h"
#include "IMB_imbuf.h"
#include "eevee_private.h"
#include "eevee_engine.h"
Go to the source code of this file.
Macros | |
#define | EEVEE_ENGINE "BLENDER_EEVEE" |
Functions | |
static void | eevee_engine_init (void *ved) |
static void | eevee_cache_init (void *vedata) |
void | EEVEE_cache_populate (void *vedata, Object *ob) |
static void | eevee_cache_finish (void *vedata) |
static void | eevee_draw_scene (void *vedata) |
static void | eevee_view_update (void *vedata) |
static void | eevee_id_object_update (void *UNUSED(vedata), Object *object) |
static void | eevee_id_world_update (void *vedata, World *wo) |
void | eevee_id_update (void *vedata, ID *id) |
static void | eevee_render_reset_passes (EEVEE_Data *vedata) |
static void | eevee_render_to_image (void *vedata, RenderEngine *engine, struct RenderLayer *render_layer, const rcti *rect) |
static void | eevee_store_metadata (void *vedata, struct RenderResult *render_result) |
static void | eevee_engine_free (void) |
Variables | |
static const DrawEngineDataSize | eevee_data_size = DRW_VIEWPORT_DATA_SIZE(EEVEE_Data) |
DrawEngineType | draw_engine_eevee_type |
RenderEngineType | DRW_engine_viewport_eevee_type |
#define EEVEE_ENGINE "BLENDER_EEVEE" |
Definition at line 26 of file eevee_engine.c.
Definition at line 142 of file eevee_engine.c.
References DEG_get_evaluated_scene(), DRWContextState::depsgraph, DRW_context_state_get(), Scene::eevee, EEVEE_effects_draw_init(), EEVEE_lightprobes_cache_finish(), EEVEE_lights_cache_finish(), EEVEE_materials_cache_finish(), EEVEE_renderpasses_cache_finish(), EEVEE_renderpasses_output_init(), EEVEE_subsurface_draw_init(), EEVEE_temporal_sampling_reset(), EEVEE_view_layer_data_ensure(), EEVEE_volumes_cache_finish(), EEVEE_volumes_draw_init(), EEVEE_StorageList::g_data, g_data, EEVEE_Data::info, SNPRINTF, EEVEE_Data::stl, and SceneEEVEE::taa_render_samples.
Definition at line 81 of file eevee_engine.c.
References EEVEE_bloom_cache_init(), EEVEE_depth_of_field_cache_init(), EEVEE_effects_cache_init(), EEVEE_lightprobes_cache_init(), EEVEE_lights_cache_init(), EEVEE_materials_cache_init(), EEVEE_motion_blur_cache_init(), EEVEE_occlusion_cache_init(), EEVEE_screen_raytrace_cache_init(), EEVEE_subsurface_cache_init(), EEVEE_temporal_sampling_cache_init(), EEVEE_view_layer_data_ensure(), and EEVEE_volumes_cache_init().
Definition at line 99 of file eevee_engine.c.
References Object::base_flag, BASE_FROM_DUPLI, DRW_context_state_get(), DRW_object_is_renderable(), DRW_object_visibility_in_active_context(), EEVEE_lightprobes_cache_add(), EEVEE_lights_cache_add(), EEVEE_materials_cache_populate(), EEVEE_object_curves_cache_populate(), EEVEE_particle_hair_cache_populate(), EEVEE_shadows_caster_register(), EEVEE_view_layer_data_ensure(), EEVEE_volumes_cache_object_add(), ELEM, OB_CURVES, OB_LAMP, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_SURF, OB_VISIBLE_PARTICLES, OB_VISIBLE_SELF, OB_VOLUME, DRWContextState::scene, Object::type, USE_SCENE_LIGHT, and DRWContextState::v3d.
Definition at line 186 of file eevee_engine.c.
References EEVEE_PassList::background_ps, BLI_halton_3d(), EEVEE_EffectsInfo::bypass_drawing, EEVEE_ViewLayerData::common_data, EEVEE_ViewLayerData::common_ubo, copy_m4_m4(), DefaultFramebufferList::default_fb, DefaultTextureList::depth, EEVEE_PassList::depth_ps, EEVEE_PassList::depth_refract_ps, EEVEE_PrivateData::disable_ligthprobes, EEVEE_FramebufferList::double_buffer_depth_fb, DRW_context_state_get(), DRW_draw_pass(), DRW_pass_sort_shgroup_z(), DRW_state_draw_background(), DRW_state_is_image_render(), DRW_stats_group_end(), DRW_stats_group_start(), DRW_transform_none(), DRW_view_set_active(), DRW_viewport_framebuffer_list_get(), DRW_viewport_texture_list_get(), Scene::eevee, EEVEE_create_minmax_buffer(), EEVEE_draw_effects(), EEVEE_lightprobes_refresh(), EEVEE_lightprobes_refresh_planar(), EEVEE_materials_init(), EEVEE_occlusion_compute(), EEVEE_occlusion_draw_debug(), EEVEE_RAY_CAMERA, EEVEE_reflection_compute(), EEVEE_refraction_compute(), EEVEE_RENDER_PASS_COMBINED, EEVEE_renderpasses_draw(), EEVEE_renderpasses_draw_debug(), EEVEE_renderpasses_output_accumulate(), EEVEE_shadows_draw(), EEVEE_shadows_update(), EEVEE_subsurface_compute(), EEVEE_subsurface_data_render(), EEVEE_temporal_sampling_reset(), EEVEE_temporal_sampling_update_matrices(), EEVEE_update_noise(), EEVEE_view_layer_data_ensure(), EEVEE_volumes_compute(), EEVEE_volumes_resolve(), EEVEE_volumes_set_jitter(), EFFECT_SSR, EFFECT_SSS, EFFECT_TAA, EFFECT_TAA_REPROJECT, EEVEE_StorageList::effects, EEVEE_EffectsInfo::enabled_effects, EEVEE_EffectsInfo::final_tx, EEVEE_StorageList::g_data, GPU_COLOR_BIT, GPU_DEPTH_BIT, GPU_framebuffer_bind(), GPU_framebuffer_blit(), GPU_framebuffer_clear(), GPU_framebuffer_texture_attach(), GPU_framebuffer_texture_detach(), GPU_STENCIL_BIT, GPU_uniformbuf_update(), EEVEE_FramebufferList::main_color_fb, EEVEE_FramebufferList::main_fb, EEVEE_PassList::material_ps, EEVEE_PassList::material_refract_ps, MAX2, NULL, offset, EEVEE_CommonUniformBuffer::prb_num_render_cube, EEVEE_CommonUniformBuffer::prb_num_render_grid, EEVEE_EffectsInfo::prev_persmat, EEVEE_CommonUniformBuffer::prev_persmat, EEVEE_PassList::probe_display, r, EEVEE_CommonUniformBuffer::ray_depth, EEVEE_CommonUniformBuffer::ray_type, EEVEE_PrivateData::render_passes, scene, DRWContextState::scene, SET_FLAG_FROM_TEST, EEVEE_EffectsInfo::ssr_was_valid_double_buffer, EEVEE_EffectsInfo::taa_current_sample, EEVEE_EffectsInfo::taa_reproject_sample, SceneEEVEE::taa_samples, EEVEE_EffectsInfo::taa_view, EEVEE_PassList::transparent_pass, EEVEE_PrivateData::valid_double_buffer, and EEVEE_PrivateData::view_updated.
Definition at line 607 of file eevee_engine.c.
References EEVEE_lightprobes_free(), EEVEE_materials_free(), EEVEE_occlusion_free(), EEVEE_shaders_free(), and EEVEE_volumes_free().
Definition at line 30 of file eevee_engine.c.
References EEVEE_PrivateData::background_alpha, View3D::camera, camera, EEVEE_TextureList::color, EEVEE_TextureList::color_double_buffer, EEVEE_PrivateData::disable_ligthprobes, DRW_context_state_get(), DRW_state_draw_background(), DRW_TEX_FILTER, DRW_texture_ensure_fullscreen_2d(), DRW_viewport_texture_list_get(), EEVEE_effects_init(), EEVEE_lightprobes_init(), EEVEE_materials_init(), EEVEE_renderpasses_init(), EEVEE_shadows_init(), EEVEE_view_layer_data_ensure(), EEVEE_Data::fbl, EEVEE_StorageList::g_data, GPU_RGBA16F, if(), LOOK_DEV_STUDIO_LIGHT_ENABLED, EEVEE_FramebufferList::main_color_fb, EEVEE_FramebufferList::main_fb, MEM_callocN, NULL, OB_LIGHTPROBE, View3D::object_type_exclude_viewport, RegionView3D::persp, EEVEE_PrivateData::queued_shaders_count, EEVEE_PrivateData::render_timesteps, DRWContextState::rv3d, RV3D_CAMOB, EEVEE_TextureList::taa_history, EEVEE_Data::txl, EEVEE_PrivateData::use_color_render_settings, USE_SCENE_LIGHT, DRWContextState::v3d, EEVEE_PrivateData::valid_double_buffer, and EEVEE_PrivateData::valid_taa_history.
Definition at line 374 of file eevee_engine.c.
References EEVEE_LightEngineData::dd, EEVEE_LightProbeEngineData::dd, EEVEE_ObjectEngineData::dd, EEVEE_light_data_get(), EEVEE_lightprobe_data_get(), EEVEE_object_data_get(), EEVEE_ObjectEngineData::geom_update, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, EEVEE_LightEngineData::need_update, EEVEE_LightProbeEngineData::need_update, EEVEE_ObjectEngineData::need_update, NULL, and DrawData::recalc.
Referenced by eevee_id_update().
Definition at line 414 of file eevee_engine.c.
References eevee_id_object_update(), eevee_id_world_update(), GS, id, ID_OB, ID_WO, and ID::name.
Referenced by EEVEE_render_cache().
Definition at line 394 of file eevee_engine.c.
References EEVEE_WorldEngineData::dd, EEVEE_world_data_ensure(), ELEM, LightCache::flag, EEVEE_StorageList::g_data, EEVEE_PrivateData::light_cache, LIGHTCACHE_BAKING, LIGHTCACHE_UPDATE_WORLD, EEVEE_StorageList::lookdev_lightcache, NULL, and DrawData::recalc.
Referenced by eevee_id_update(), and eevee_render_to_image().
|
static |
Definition at line 430 of file eevee_engine.c.
References EEVEE_Data::psl.
Referenced by eevee_render_to_image().
|
static |
Definition at line 436 of file eevee_engine.c.
References BLI_assert_msg, RenderData::cfra, DEG_get_evaluated_scene(), depsgraph, DRWContextState::depsgraph, DRW_cache_restart(), DRW_context_state_get(), DRW_render_object_iter(), DRW_render_set_time(), DRW_render_viewport_size_set(), Scene::eevee, EEVEE_effects_draw_init(), eevee_id_world_update(), EEVEE_lightprobes_cache_finish(), EEVEE_lights_cache_finish(), EEVEE_materials_cache_finish(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_data_free(), EEVEE_motion_blur_step_set(), EEVEE_motion_blur_swap_data(), EEVEE_render_cache(), EEVEE_render_cache_init(), EEVEE_render_draw(), EEVEE_render_init(), EEVEE_render_modules_init(), EEVEE_render_read_result(), eevee_render_reset_passes(), EEVEE_renderpasses_cache_finish(), EEVEE_renderpasses_output_init(), EEVEE_subsurface_draw_init(), EEVEE_temporal_sampling_create_view(), EEVEE_temporal_sampling_reset(), EEVEE_temporal_sampling_sample_count_get(), EEVEE_view_layer_data_ensure(), EEVEE_volumes_cache_finish(), EEVEE_volumes_draw_init(), EEVEE_StorageList::effects, SceneEEVEE::flag, floorf, fractf(), EEVEE_StorageList::g_data, g_data, max_ii(), MB_CURR, MB_NEXT, MB_PREV, EEVEE_EffectsInfo::motion_blur, SceneEEVEE::motion_blur_max, SceneEEVEE::motion_blur_position, SceneEEVEE::motion_blur_shutter, SceneEEVEE::motion_blur_steps, Scene::r, RE_engine_frame_set(), RE_engine_test_break(), SCE_EEVEE_MB_CENTER, SCE_EEVEE_MB_END, SCE_EEVEE_MB_START, SCE_EEVEE_MOTION_BLUR_ENABLED, scene, EEVEE_Data::stl, RenderData::subframe, time, and Scene::world.
|
static |
Definition at line 597 of file eevee_engine.c.
References EEVEE_cryptomatte_free(), EEVEE_cryptomatte_store_metadata(), EEVEE_RENDER_PASS_CRYPTOMATTE, EEVEE_StorageList::g_data, g_data, and EEVEE_Data::stl.
Definition at line 366 of file eevee_engine.c.
References EEVEE_StorageList::g_data, and EEVEE_PrivateData::view_updated.
DrawEngineType draw_engine_eevee_type |
Definition at line 618 of file eevee_engine.c.
Referenced by EEVEE_bloom_init(), EEVEE_effects_init(), EEVEE_light_data_ensure(), EEVEE_light_data_get(), EEVEE_lightprobe_data_ensure(), EEVEE_lightprobe_data_get(), EEVEE_motion_blur_init(), EEVEE_object_data_ensure(), EEVEE_object_data_get(), EEVEE_occlusion_init(), EEVEE_subsurface_draw_init(), EEVEE_view_layer_data_ensure(), EEVEE_view_layer_data_ensure_ex(), EEVEE_view_layer_data_get(), EEVEE_world_data_ensure(), EEVEE_world_data_get(), and lightbake_do_sample().
RenderEngineType DRW_engine_viewport_eevee_type |
Definition at line 636 of file eevee_engine.c.
Referenced by DRW_engines_register().
|
static |
Definition at line 616 of file eevee_engine.c.