Blender
V3.3
|
#include "DRW_render.h"
#include "BKE_camera.h"
#include "BKE_studiolight.h"
#include "BLI_rand.h"
#include "BLI_rect.h"
#include "DNA_screen_types.h"
#include "DNA_world_types.h"
#include "DEG_depsgraph_query.h"
#include "ED_screen.h"
#include "GPU_material.h"
#include "UI_resources.h"
#include "eevee_lightcache.h"
#include "eevee_private.h"
#include "draw_common.h"
Go to the source code of this file.
Functions | |
static void | eevee_lookdev_lightcache_delete (EEVEE_Data *vedata) |
static void | eevee_lookdev_hdri_preview_init (EEVEE_Data *vedata, EEVEE_ViewLayerData *sldata) |
void | EEVEE_lookdev_init (EEVEE_Data *vedata) |
void | EEVEE_lookdev_cache_init (EEVEE_Data *vedata, EEVEE_ViewLayerData *sldata, DRWPass *pass, EEVEE_LightProbesInfo *pinfo, DRWShadingGroup **r_shgrp) |
static void | eevee_lookdev_apply_taa (const EEVEE_EffectsInfo *effects, int sphere_size, float winmat[4][4]) |
void | EEVEE_lookdev_draw (EEVEE_Data *vedata) |
|
static |
Definition at line 271 of file eevee_lookdev.c.
References BLI_halton_2d(), DRW_state_is_image_render(), EEVEE_temporal_sampling_offset_calc(), EFFECT_TAA, EEVEE_EffectsInfo::enabled_effects, and EEVEE_EffectsInfo::taa_current_sample.
Referenced by EEVEE_lookdev_draw().
void EEVEE_lookdev_cache_init | ( | EEVEE_Data * | vedata, |
EEVEE_ViewLayerData * | sldata, | ||
DRWPass * | pass, | ||
EEVEE_LightProbesInfo * | pinfo, | ||
DRWShadingGroup ** | r_shgrp | ||
) |
Definition at line 139 of file eevee_lookdev.c.
References axis_angle_to_mat3_single(), BKE_studiolight_ensure_flag(), BKE_studiolight_find(), copy_m3_m3(), copy_m3_m4(), LightCache::cube_data, LightCache::cube_mips, LightCache::cube_tx, DEG_get_evaluated_scene(), DRWContextState::depsgraph, DRW_context_state_get(), DRW_shgroup_create(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_mat3(), DRW_shgroup_uniform_texture(), DRW_shgroup_uniform_texture_ex(), DRW_view_viewmat_get(), Scene::eevee, eevee_hdri_preview_overlay_enabled(), EEVEE_lightcache_create(), eevee_lookdev_hdri_preview_init(), eevee_lookdev_lightcache_delete(), EEVEE_shaders_studiolight_background_sh_get(), EEVEE_shaders_studiolight_probe_sh_get(), EEVEE_StorageList::effects, equals_m3m3(), StudioLight::equirect_radiance_gputexture, StudioLight::flag, LightCache::flag, View3DShading::flag, EEVEE_StorageList::g_data, g_data, SceneEEVEE::gi_cubemap_resolution, SceneEEVEE::gi_filter_quality, SceneEEVEE::gi_glossy_clamp, GPU_SAMPLER_FILTER, GPU_SAMPLER_REPEAT_S, LightCache::grid_data, LightCache::grid_tx, StudioLight::index, LIGHTCACHE_UPDATE_WORLD, LOOK_DEV_STUDIO_LIGHT_ENABLED, EEVEE_StorageList::lookdev_cube_data, EEVEE_StorageList::lookdev_cube_mips, EEVEE_TextureList::lookdev_cube_tx, EEVEE_StorageList::lookdev_grid_data, EEVEE_TextureList::lookdev_grid_tx, View3DShading::lookdev_light, EEVEE_StorageList::lookdev_lightcache, EEVEE_EffectsInfo::lookdev_view, M_PI_2, MEM_SAFE_FREE, mul_m3_m3m3(), NULL, powf, scene, DRWContextState::scene, View3D::shading, state, EEVEE_Data::stl, View3DShading::studiolight_background, View3DShading::studiolight_blur, STUDIOLIGHT_EQUIRECT_RADIANCE_GPUTEXTURE, View3DShading::studiolight_intensity, STUDIOLIGHT_ORIENTATIONS_MATERIAL_MODE, View3DShading::studiolight_rot_z, STUDIOLIGHT_TYPE_WORLD, LightCacheTexture::tex, EEVEE_Data::txl, DRWContextState::v3d, and V3D_SHADING_STUDIOLIGHT_VIEW_ROTATION.
Referenced by EEVEE_lightprobes_cache_init(), and EEVEE_materials_cache_init().
void EEVEE_lookdev_draw | ( | EEVEE_Data * | vedata | ) |
Definition at line 288 of file eevee_lookdev.c.
References EEVEE_EffectsInfo::anchor, EEVEE_CommonUniformBuffer::ao_dist, EEVEE_CommonUniformBuffer::ao_factor, EEVEE_CommonUniformBuffer::ao_settings, EEVEE_ViewLayerData::common_data, EEVEE_ViewLayerData::common_ubo, DRW_context_state_get(), DRW_draw_pass(), DRW_stats_group_end(), DRW_stats_group_start(), DRW_view_create_sub(), DRW_view_default_get(), DRW_view_set_active(), DRW_view_update_sub(), DRW_view_viewmat_get(), eevee_hdri_preview_overlay_enabled(), eevee_lookdev_apply_taa(), EEVEE_view_layer_data_ensure(), EEVEE_FramebufferList::effect_color_fb, EEVEE_FramebufferList::effect_fb, EEVEE_StorageList::effects, fb(), EEVEE_Data::fbl, GPU_framebuffer_bind(), GPU_framebuffer_viewport_reset(), GPU_framebuffer_viewport_set(), GPU_uniformbuf_update(), EEVEE_CommonUniformBuffer::la_num_light, EEVEE_PassList::lookdev_diffuse_pass, EEVEE_PassList::lookdev_glossy_pass, EEVEE_EffectsInfo::lookdev_view, EEVEE_FramebufferList::main_fb, negate_v3(), NULL, offset, EEVEE_CommonUniformBuffer::prb_num_planar, EEVEE_CommonUniformBuffer::prb_num_render_cube, EEVEE_CommonUniformBuffer::prb_num_render_grid, EEVEE_Data::psl, EEVEE_EffectsInfo::sphere_size, EEVEE_EffectsInfo::target_buffer, unit_m4(), DRWContextState::v3d, and zero_v3().
Referenced by EEVEE_draw_effects().
|
static |
Definition at line 46 of file eevee_lookdev.c.
References DRW_cache_sphere_get(), DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_add_material_resources(), DRW_shgroup_call, DRW_shgroup_create(), DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_ALWAYS, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, EEVEE_material_bind_resources(), EEVEE_material_default_diffuse_get(), EEVEE_material_default_glossy_get(), EEVEE_material_get(), EEVEE_StorageList::effects, GPU_material_get_shader(), GPUBatch, EEVEE_PassList::lookdev_diffuse_pass, EEVEE_PassList::lookdev_glossy_pass, NULL, EEVEE_Data::psl, scene, DRWContextState::scene, sh, EEVEE_EffectsInfo::sphere_lod, state, EEVEE_Data::stl, VAR_MAT_LOOKDEV, and VAR_MAT_MESH.
Referenced by EEVEE_lookdev_cache_init().
void EEVEE_lookdev_init | ( | EEVEE_Data * | vedata | ) |
Definition at line 84 of file eevee_lookdev.c.
References EEVEE_EffectsInfo::anchor, BLI_rcti_size_x(), clamp_f(), DRW_context_state_get(), DRW_LOD_HIGH, DRW_LOD_LOW, DRW_LOD_MEDIUM, DRW_state_is_opengl_render(), DRW_viewport_size_get(), ED_region_visible_rect(), eevee_hdri_preview_overlay_enabled(), EEVEE_temporal_sampling_reset(), EEVEE_StorageList::effects, EEVEE_StorageList::g_data, DRWContextState::region, EEVEE_EffectsInfo::sphere_lod, EEVEE_EffectsInfo::sphere_size, EEVEE_Data::stl, DRWContextState::v3d, EEVEE_PrivateData::valid_double_buffer, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by EEVEE_effects_init().
|
static |
Definition at line 31 of file eevee_lookdev.c.
References DRW_TEXTURE_FREE_SAFE, EEVEE_StorageList::g_data, g_data, EEVEE_StorageList::lookdev_cube_data, EEVEE_TextureList::lookdev_cube_tx, EEVEE_StorageList::lookdev_grid_data, EEVEE_TextureList::lookdev_grid_tx, EEVEE_StorageList::lookdev_lightcache, MEM_SAFE_FREE, EEVEE_Data::stl, and EEVEE_Data::txl.
Referenced by EEVEE_lookdev_cache_init().