Blender
V3.3
|
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <list>
#include <unistd.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "PIL_time.h"
#include "BLO_readfile.h"
#include "DNA_brush_types.h"
#include "DNA_camera_types.h"
#include "DNA_collection_types.h"
#include "DNA_light_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_world_types.h"
#include "BKE_animsys.h"
#include "BKE_appdir.h"
#include "BKE_armature.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_icons.h"
#include "BKE_idprop.h"
#include "BKE_image.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_light.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_texture.h"
#include "BKE_world.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_thumbs.h"
#include "BIF_glutil.h"
#include "GPU_shader.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "RE_texture.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_armature.h"
#include "ED_datafiles.h"
#include "ED_render.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "ED_view3d_offscreen.h"
#include "UI_interface_icons.h"
#include "BLI_threads.h"
Go to the source code of this file.
Classes | |
struct | ShaderPreview |
struct | IconPreviewSize |
struct | IconPreview |
struct | ObjectPreviewData |
class | PreviewLoadJob |
struct | PreviewRestartQueueEntry |
Functions | |
Object Preview | |
static bool | object_preview_is_type_supported (const Object *ob) |
static Object * | object_preview_camera_create (Main *preview_main, ViewLayer *view_layer, Object *preview_object) |
static Scene * | object_preview_scene_create (const struct ObjectPreviewData *preview_data, Depsgraph **r_depsgraph) |
static void | object_preview_render (IconPreview *preview, IconPreviewSize *preview_sized) |
Collection Preview | |
For the most part this reuses the object preview code by creating an instance collection empty object and rendering that. | |
static bool | collection_preview_contains_geometry_recursive (const Collection *collection) |
Action Preview | |
static struct PoseBackup * | action_preview_render_prepare (IconPreview *preview) |
static void | action_preview_render_cleanup (IconPreview *preview, struct PoseBackup *pose_backup) |
static void | action_preview_render (IconPreview *preview, IconPreviewSize *preview_sized) |
New Shader Preview System | |
static void | shader_preview_update (void *spv, RenderResult *UNUSED(rr), struct rcti *UNUSED(rect)) |
static int | shader_preview_break (void *spv) |
static void | shader_preview_updatejob (void *UNUSED(spv)) |
static void | shader_preview_texture (ShaderPreview *sp, Tex *tex, Scene *sce, Render *re) |
static void | shader_preview_render (ShaderPreview *sp, ID *id, int split, int first) |
static void | shader_preview_startjob (void *customdata, short *stop, short *do_update) |
static void | preview_id_copy_free (ID *id) |
static void | shader_preview_free (void *customdata) |
|
static |
Definition at line 982 of file render_preview.cc.
References action_preview_render_cleanup(), action_preview_render_prepare(), BLI_assert, Scene::camera, DEG_get_evaluated_scene(), DEG_get_input_scene(), depsgraph, ED_view3d_draw_offscreen_imbuf_simple(), IB_rect, icon_copy_rect(), IMB_freeImBuf(), OB_SOLID, usdtokens::preview(), R_ADDSKY, IconPreviewSize::rect, IconPreviewSize::sizex, IconPreviewSize::sizey, and V3D_OFSDRAW_NONE.
Referenced by icon_preview_startjob_all_sizes().
|
static |
Definition at line 968 of file render_preview.cc.
References DEG_id_tag_update(), ED_pose_backup_free(), ED_pose_backup_restore(), ID_RECALC_GEOMETRY, and usdtokens::preview().
Referenced by action_preview_render().
|
static |
Definition at line 938 of file render_preview.cc.
References BKE_pose_apply_action_all_bones(), DEG_evaluate_on_refresh(), DEG_id_tag_update(), ED_pose_backup_create_all_bones(), Object::id, ID_RECALC_GEOMETRY, ID::name, Object::pose, usdtokens::preview(), RPT_WARNING, WM_report(), and WM_reportf().
Referenced by action_preview_render().
Definition at line 195 of file render_preview.cc.
References RenderData::engine, Scene::r, RE_engines_find(), RE_USE_PREVIEW, scene, and type.
Referenced by ED_preview_shader_job(), and icon_preview_startjob_all_sizes().
|
static |
Check if the collection contains any geometry that can be rendered. Otherwise there's nothing to display in the preview, so don't generate one. Objects and sub-collections hidden in the render will be skipped.
Definition at line 909 of file render_preview.cc.
References Collection::children, COLLECTION_HIDE_RENDER, Collection::gobject, LISTBASE_FOREACH, OB_HIDE_RENDER, and OB_TYPE_IS_GEOMETRY.
Referenced by ED_preview_id_is_supported(), and icon_preview_startjob_all_sizes().
|
static |
Definition at line 1494 of file render_preview.cc.
References ELEM, icon_preview_startjob(), PR_ICON_DEFERRED, PR_ICON_RENDER, ShaderPreview::pr_method, and shader_preview_startjob().
Referenced by ED_preview_kill_jobs(), ED_preview_shader_job(), and other_id_types_preview_render().
Definition at line 356 of file render_preview.cc.
References BKE_id_copy_ex(), BKE_object_add_only_object(), BKE_previewimg_id_supports_jobs(), BLI_assert, BLI_assert_msg, GS, id, Object::id, ID_BR, ID_GR, ID_IM, ID_LA, ID_MA, ID_OB, ID_TE, ID_WO, Object::instance_collection, LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, LIB_ID_CREATE_LOCAL, ID::name, OB_DUPLICOLLECTION, OB_EMPTY, and Object::transflag.
Referenced by ED_preview_icon_job(), ED_preview_icon_render(), and ED_preview_shader_job().
Definition at line 707 of file render_preview.cc.
References blender::math::abs(), blender::compositor::area(), BLI_rcti_size_x(), BLI_rcti_size_y(), C, CTX_wm_area(), CTX_wm_manager(), CTX_wm_space_properties(), ed_preview_draw_rect(), ED_preview_shader_job(), Object::parent, PR_BUTS_RENDER, SpaceProperties::preview, ShaderPreview::sizex, ShaderPreview::sizey, WM_JOB_TYPE_LOAD_PREVIEW, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_customdata_from_type(), WM_jobs_test(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
|
static |
Definition at line 619 of file render_preview.cc.
References blender::math::abs(), blender::compositor::area(), BLI_listbase_is_empty(), BLI_rcti_size_x(), BLI_rcti_size_y(), GPU_RGBA8, GPU_SHADER_2D_IMAGE_COLOR, immDrawPixelsTexSetup(), immDrawPixelsTexTiled(), max_ii(), MEM_freeN, MEM_mallocN, Node::name, RE_AcquiredResultGet32(), RE_AcquireResultImageViews(), RE_GetRender(), RE_ReleaseResultImageViews(), RE_RenderViewGetById(), RenderView::rectf, RenderResult::rectx, RenderResult::recty, blender::io::alembic::split(), state, RenderResult::views, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by ED_preview_draw().
Definition at line 181 of file render_preview.cc.
References BLI_assert, BLI_thread_is_main(), datatoc_preview_blend, datatoc_preview_blend_size, datatoc_preview_grease_pencil_blend, datatoc_preview_grease_pencil_blend_size, G_pr_main, G_pr_main_grease_pencil, and load_main_from_memory().
Referenced by ED_preview_icon_job(), ED_preview_icon_render(), and ED_preview_shader_job().
Definition at line 206 of file render_preview.cc.
References BKE_main_free(), G_pr_main, and G_pr_main_grease_pencil.
Referenced by WM_exit_ex().
void ED_preview_icon_job | ( | const bContext * | C, |
PreviewImage * | prv_img, | ||
ID * | id, | ||
eIconSizes | icon_size, | ||
const bool | delay | ||
) |
Definition at line 1976 of file render_preview.cc.
References IconPreview::active_object, BLI_movelisttolist(), IconPreview::bmain, C, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_wm_manager(), CTX_wm_window(), DEG_get_input_scene(), IconPreview::depsgraph, duplicate_ids(), ED_preview_ensure_dbase(), PreviewLoadJob::ensure_job(), PreviewImage::flag, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_free(), icon_preview_startjob_all_sizes(), id, IconPreview::id, IconPreview::id_copy, NC_WINDOW, IconPreview::owner, PRV_RENDERING, PRV_TAG_DEFFERED, PreviewLoadJob::push_load_request(), PreviewImage::rect, IconPreview::scene, IconPreview::sizes, PreviewImage::tag, PreviewImage::w, WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_callbacks(), WM_jobs_customdata_get(), WM_jobs_customdata_set(), WM_jobs_delay_start(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
void ED_preview_icon_render | ( | const bContext * | C, |
Scene * | scene, | ||
PreviewImage * | prv_img, | ||
ID * | id, | ||
eIconSizes | icon_size | ||
) |
Definition at line 1931 of file render_preview.cc.
References IconPreview::active_object, BKE_previewimg_id_ensure(), BLI_freelistN(), IconPreview::bmain, C, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), IconPreview::depsgraph, duplicate_ids(), ED_preview_ensure_dbase(), PreviewImage::flag, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_startjob_all_sizes(), id, IconPreview::id, IconPreview::id_copy, PreviewLoadJob::load_jobless(), IconPreview::owner, preview_id_copy_free(), PRV_RENDERING, PRV_TAG_DEFFERED, PreviewImage::rect, scene, IconPreview::scene, IconPreview::sizes, PreviewImage::tag, update(), and PreviewImage::w.
Definition at line 1913 of file render_preview.cc.
References BKE_previewimg_id_get_p(), collection_preview_contains_geometry_recursive(), GS, id, ID_GR, ID_NT, ID_OB, ID::name, and object_preview_is_type_supported().
void ED_preview_kill_jobs | ( | wmWindowManager * | wm, |
Main * | UNUSEDbmain | ||
) |
Definition at line 2116 of file render_preview.cc.
References common_preview_startjob(), icon_preview_startjob_all_sizes(), and WM_jobs_kill().
void ED_preview_restart_queue_add | ( | ID * | id, |
enum eIconSizes | size | ||
) |
Definition at line 2140 of file render_preview.cc.
References BLI_addtail(), G_restart_previews_queue, id, PreviewRestartQueueEntry::id, size(), and PreviewRestartQueueEntry::size.
Referenced by memfile_undosys_unfinished_id_previews_restart().
Definition at line 2135 of file render_preview.cc.
References BLI_freelistN(), and G_restart_previews_queue.
Referenced by WM_exit_ex(), and wm_file_read_pre().
Definition at line 2148 of file render_preview.cc.
References BKE_previewimg_clear_single(), BKE_previewimg_id_get(), BLI_freelinkN(), C, G_restart_previews_queue, LISTBASE_FOREACH_MUTABLE, usdtokens::preview(), PRV_USER_EDITED, and UI_icon_render_id().
void ED_preview_shader_job | ( | const bContext * | C, |
void * | owner, | ||
ID * | id, | ||
ID * | parent, | ||
MTex * | slot, | ||
int | sizex, | ||
int | sizey, | ||
ePreviewRenderMethod | method | ||
) |
Definition at line 2038 of file render_preview.cc.
References ARRAY_SET_ITEMS, BKE_previewimg_id_supports_jobs(), BLI_assert, ShaderPreview::bmain, C, check_engine_supports_preview(), ShaderPreview::color, Object::color, common_preview_startjob(), copy_v4_v4(), CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_window(), duplicate_ids(), ED_preview_ensure_dbase(), G_pr_main, G_pr_main_grease_pencil, Material::gp_style, GS, id, ShaderPreview::id, ShaderPreview::id_copy, ID_MA, ID::name, NC_MATERIAL, ShaderPreview::own_id_copy, ShaderPreview::owner, ShaderPreview::parent, ShaderPreview::pr_main, ShaderPreview::pr_method, preview_method_is_render(), scene, ShaderPreview::scene, shader_preview_free(), shader_preview_updatejob(), ShaderPreview::sizex, ShaderPreview::sizey, ShaderPreview::slot, Object::totcol, WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by ED_preview_draw().
Definition at line 1351 of file render_preview.cc.
References float(), IMB_dupImBuf(), IMB_freeImBuf(), IMB_rect_from_float(), IMB_scalefastImBuf(), MAX2, ImBuf::rect, ImBuf::rect_float, w(), ImBuf::x, and ImBuf::y.
Referenced by action_preview_render(), icon_preview_startjob(), and object_preview_render().
|
static |
Definition at line 1646 of file render_preview.cc.
References BLI_addtail(), ListBase::first, IconPreviewSize::next, IconPreviewSize::rect, ImBuf::rect, IconPreview::sizes, IconPreviewSize::sizex, and IconPreviewSize::sizey.
Referenced by ED_preview_icon_job(), and ED_preview_icon_render().
Definition at line 1667 of file render_preview.cc.
References BKE_previewimg_deferred_release(), BKE_previewimg_finish(), BLI_assert, GPU_texture_free(), GS, icon_previewimg_size_index_get(), IconPreview::id, ID_BR, ID_MA, LISTBASE_FOREACH, NA_EDITED, ID::name, NC_BRUSH, NC_MATERIAL, ND_SHADING_DRAW, NUM_ICON_SIZES, IconPreview::owner, Material::preview, PRV_TAG_DEFFERED, PRV_TAG_DEFFERED_DELETE, PRV_TAG_DEFFERED_RENDERING, IconPreview::sizes, PreviewImage::tag, and WM_main_add_notifier().
Referenced by ED_preview_icon_job(), and ED_preview_icon_render().
Definition at line 1901 of file render_preview.cc.
References BLI_freelistN(), IconPreview::id_copy, MEM_freeN, preview_id_copy_free(), and IconPreview::sizes.
Referenced by ED_preview_icon_job().
Definition at line 1305 of file render_preview.cc.
References BKE_appdir_folder_id(), BKE_icon_changed(), BKE_icon_id_ensure(), BKE_main_blendfile_path_from_global(), BLENDER_DATAFILES, BLI_make_file_string(), BLI_path_abs(), BLI_strncpy(), BRUSH_CUSTOM_ICON, FILE_MAX, Brush::flag, IB_metadata, IB_multilayer, IB_rect, Brush::icon_filepath, ID::icon_id, Brush::icon_imbuf, Brush::id, ID_BLEND_PATH_FROM_GLOBAL, and IMB_loadiffname().
Referenced by icon_preview_startjob().
Definition at line 1415 of file render_preview.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_imageuser_default(), BLI_assert, BLI_assert_unreachable, ED_screen_preview_render(), ImageUser::framenr, GS, icon_copy_rect(), Brush::icon_imbuf, icon_preview_imbuf_from_brush(), id, ShaderPreview::id, ID_BR, ID_IM, ID_SCR, ID_WO, ID::name, PR_ICON_DEFERRED, ShaderPreview::pr_method, ShaderPreview::pr_rect, ImBuf::rect, ImBuf::rect_float, ShaderPreview::scene, ImageUser::scene, set_alpha(), shader_preview_startjob(), ShaderPreview::sizex, and ShaderPreview::sizey.
Referenced by common_preview_startjob().
|
static |
Definition at line 1576 of file render_preview.cc.
References action_preview_render(), BKE_previewimg_is_finished(), BLI_assert, check_engine_supports_preview(), collection_preview_contains_geometry_recursive(), ELEM, ListBase::first, GS, icon_previewimg_size_index_get(), IconPreview::id, ID_AC, ID_GR, ID_OB, ID::name, IconPreviewSize::next, object_preview_is_type_supported(), object_preview_render(), other_id_types_preview_render(), IconPreview::owner, PR_ICON_DEFERRED, PR_ICON_RENDER, preview_method_is_render(), PRV_TAG_DEFFERED, PRV_TAG_DEFFERED_DELETE, IconPreview::scene, IconPreview::sizes, and PreviewImage::tag.
Referenced by ED_preview_icon_job(), ED_preview_icon_render(), and ED_preview_kill_jobs().
|
static |
Find the index to map icon_size to data in preview_image.
Definition at line 1563 of file render_preview.cc.
References BLI_assert_msg, PreviewImage::h, NUM_ICON_SIZES, IconPreviewSize::sizex, IconPreviewSize::sizey, and PreviewImage::w.
Referenced by icon_preview_endjob(), and icon_preview_startjob_all_sizes().
Definition at line 162 of file render_preview.cc.
References blend(), BLO_read_from_memory(), BLO_READ_SKIP_NONE, G, G_FILE_NO_UI, BlendFileData::main, and MEM_freeN.
Referenced by ED_preview_ensure_dbase().
|
static |
Definition at line 777 of file render_preview.cc.
References BKE_object_add(), camera, eul_to_mat3(), M_PI, mat3_to_quat(), mat4_to_loc_rot_size(), mul_m3_m3_post(), OB_CAMERA, Object::obmat, and ROT_MODE_QUAT.
Referenced by object_preview_scene_create().
Definition at line 772 of file render_preview.cc.
References OB_TYPE_IS_GEOMETRY, and Object::type.
Referenced by ED_preview_id_is_supported(), and icon_preview_startjob_all_sizes().
|
static |
Definition at line 843 of file render_preview.cc.
References BKE_main_free(), BKE_main_new(), BKE_screen_view3d_shading_init(), BLI_assert, Scene::camera, ObjectPreviewData::cfra, DEG_get_evaluated_object(), DEG_get_evaluated_scene(), DEG_graph_free(), depsgraph, ED_view3d_draw_offscreen_imbuf_simple(), View3DShading::flag, IB_rect, icon_copy_rect(), IMB_freeImBuf(), OB_TEXTURE, ObjectPreviewData::object, object_preview_scene_create(), ObjectPreviewData::pr_main, usdtokens::preview(), R_ALPHAPREMUL, IconPreviewSize::rect, scene, IconPreviewSize::sizex, ObjectPreviewData::sizex, IconPreviewSize::sizey, ObjectPreviewData::sizey, V3D_OFSDRAW_OVERRIDE_SCENE_SETTINGS, and V3D_SHADING_SHADOW.
Referenced by icon_preview_startjob_all_sizes().
|
static |
Definition at line 802 of file render_preview.cc.
References BASE_SELECTED, BKE_collection_object_add(), BKE_scene_add(), BKE_scene_graph_update_tagged(), BKE_view_layer_base_find(), BLI_addtail(), BLI_assert, Scene::camera, ObjectPreviewData::cfra, RenderData::cfra, DAG_EVAL_VIEWPORT, DEG_evaluate_on_refresh(), DEG_graph_build_from_view_layer(), DEG_graph_new(), depsgraph, ED_view3d_camera_to_view_selected_with_set_clipping(), ListBase::first, Base::flag, Scene::master_collection, ObjectPreviewData::object, object_preview_camera_create(), Main::objects, ObjectPreviewData::pr_main, Scene::r, scene, RenderData::size, ObjectPreviewData::sizex, ObjectPreviewData::sizey, Scene::view_layers, RenderData::xsch, and RenderData::ysch.
Referenced by object_preview_render().
|
static |
Some ID types already have their own, more focused rendering (only objects right now). This is for the other ones, which all share ShaderPreview and some functions.
Definition at line 1513 of file render_preview.cc.
References BLI_assert, ShaderPreview::bmain, IconPreview::bmain, common_preview_startjob(), ELEM, G_pr_main, G_pr_main_grease_pencil, Material::gp_style, GS, ShaderPreview::id, IconPreview::id, ShaderPreview::id_copy, IconPreview::id_copy, ID_MA, ID_OB, ID::name, ShaderPreview::own_id_copy, ShaderPreview::owner, IconPreview::owner, PR_ICON_RENDER, ShaderPreview::pr_main, ShaderPreview::pr_method, ShaderPreview::pr_rect, IconPreviewSize::rect, ShaderPreview::scene, IconPreview::scene, shader_preview_free(), ShaderPreview::sizex, IconPreviewSize::sizex, ShaderPreview::sizey, and IconPreviewSize::sizey.
Referenced by icon_preview_startjob_all_sizes().
|
static |
Definition at line 226 of file render_preview.cc.
References BLI_assert_msg, MA_ATMOS, MA_CLOTH, MA_CUBE, MA_FLAT, MA_FLUID, MA_HAIR, MA_LAMP, MA_SHADERBALL, MA_SKY, MA_SPHERE, and MA_SPHERE_A.
Referenced by switch_preview_collection_visibility().
|
static |
Definition at line 278 of file render_preview.cc.
References PR_ICON_RENDER, render_engine_supports_ray_visibility(), and scene.
Referenced by switch_preview_floor_material().
|
static |
Definition at line 337 of file render_preview.cc.
References BKE_id_copy_ex(), BLI_addtail(), World::id, LIB_ID_COPY_LOCALIZE, LIB_ID_COPY_NO_ANIMDATA, LIB_ID_CREATE_LOCAL, ShaderPreview::pr_main, world, ShaderPreview::worldcopy, and Main::worlds.
Referenced by preview_prepare_scene().
Definition at line 217 of file render_preview.cc.
References ListBase::first, and Main::scenes.
Referenced by preview_prepare_scene(), and shader_preview_render().
|
static |
Definition at line 416 of file render_preview.cc.
References BLI_assert_msg, BLI_findstring(), ListBase::first, Node::name, preview_world_name(), result, and Main::worlds.
Referenced by preview_prepare_world().
Definition at line 1240 of file render_preview.cc.
References BKE_libblock_free_datablock(), IDP_FreePropertyContent_ex(), IDP_GetProperties(), and MEM_freeN.
Referenced by ED_preview_icon_render(), icon_preview_free(), and shader_preview_free().
|
static |
Definition at line 201 of file render_preview.cc.
References ELEM, PR_BUTS_RENDER, and PR_ICON_RENDER.
Referenced by ED_preview_shader_job(), and icon_preview_startjob_all_sizes().
|
static |
Definition at line 458 of file render_preview.cc.
References Object::actcol, RenderData::alphamode, BASE_VISIBLE_DEPSGRAPH, BKE_color_managed_display_settings_copy(), BKE_color_managed_view_settings_copy(), BKE_color_managed_view_settings_free(), BKE_main_blendfile_path(), BKE_object_material_array_p(), BLI_addtail(), BLI_assert, BLI_strncpy(), RenderData::cfra, ShaderPreview::color, RenderData::color_mgt_flag, copy_v4_v4(), Scene::display, Scene::display_settings, ViewLayer::eevee, RenderData::engine, Main::filepath, ListBase::first, Material::flag, G_pr_main_grease_pencil, World::horb, World::horg, World::horr, ShaderPreview::id_copy, ID_LA, ID_MA, ID_TE, ID_WO, ShaderPreview::lampcopy, Main::lights, LISTBASE_FOREACH, MA_LAMP, MA_PREVIEW_WORLD, MA_SKY, MA_SPHERE_A, Object::mat, ShaderPreview::matcopy, Main::materials, max_ii(), OB_LAMP, OB_TYPE_SUPPORT_MATERIAL, ViewLayer::object_bases, ViewLayer::passflag, PR_BUTS_RENDER, Material::pr_flag, PR_ICON_RENDER, ShaderPreview::pr_main, ShaderPreview::pr_method, Material::pr_type, preview_get_localized_world(), preview_get_scene(), preview_prepare_world(), Scene::r, R_ADDSKY, R_ALPHAPREMUL, R_BUTS_PREVIEW, RE_engine_id_BLENDER_EEVEE, SceneDisplay::render_aa, ViewLayerEEVEE::render_passes, SCE_DISPLAY_AA_OFF, SCE_PASS_COMBINED, RenderData::scemode, scene, set_preview_visibility(), tex, ShaderPreview::texcopy, Main::textures, World::use_nodes, Scene::view_layers, Scene::view_settings, Scene::world, ShaderPreview::worldcopy, and Main::worlds.
Referenced by shader_preview_render().
|
static |
Definition at line 443 of file render_preview.cc.
References preview_get_world(), preview_sync_exposure(), result, and world.
Referenced by preview_prepare_scene().
Definition at line 435 of file render_preview.cc.
References BLI_assert, World::exp, World::range, and src.
Referenced by preview_prepare_world().
|
static |
Definition at line 398 of file render_preview.cc.
References ID_MA, PR_ICON_RENDER, and render_engine_supports_ray_visibility().
Referenced by preview_get_world().
Definition at line 257 of file render_preview.cc.
References RenderData::engine, Scene::r, RE_engine_id_BLENDER_EEVEE, and STREQ.
Referenced by preview_floor_material_name(), preview_world_name(), and switch_preview_floor_visibility().
|
static |
Definition at line 1406 of file render_preview.cc.
References Freestyle::a, and size().
Referenced by icon_preview_startjob().
|
static |
Definition at line 326 of file render_preview.cc.
References BKE_layer_collection_sync(), scene, switch_preview_collection_visibility(), and switch_preview_floor_visibility().
Referenced by preview_prepare_scene().
|
static |
Definition at line 1046 of file render_preview.cc.
References ShaderPreview::stop.
Referenced by shader_preview_render(), and shader_preview_texture().
Definition at line 1253 of file render_preview.cc.
References BLI_assert, BLI_remlink(), ShaderPreview::id_copy, ShaderPreview::lampcopy, Main::lights, ShaderPreview::matcopy, Main::materials, MEM_freeN, ShaderPreview::own_id_copy, ShaderPreview::pr_main, preview_id_copy_free(), ShaderPreview::texcopy, Main::textures, ShaderPreview::worldcopy, and Main::worlds.
Referenced by ED_preview_shader_job(), and other_id_types_preview_render().
|
static |
Definition at line 1113 of file render_preview.cc.
References ShaderPreview::bmain, Scene::camera, Object::data, Scene::display, float(), GS, id, ID_TE, ID::name, Tex::nodetree, ShaderPreview::owner, PR_BUTS_RENDER, PR_ICON_RENDER, ShaderPreview::pr_main, ShaderPreview::pr_method, ShaderPreview::pr_rect, preview_get_scene(), preview_prepare_scene(), Scene::r, R_MATNODE_PREVIEW, R_NO_IMAGE_LOAD, R_TEXNODE_PREVIEW, RE_display_update_cb(), RE_GetRender(), RE_NewRender(), RE_PreviewRender(), RE_ResultGet32(), RE_test_break_cb(), SceneDisplay::render_aa, SCE_DISPLAY_AA_SAMPLES_8, RenderData::scemode, ShaderPreview::scene, shader_preview_break(), shader_preview_texture(), shader_preview_update(), RenderData::size, ShaderPreview::sizex, ShaderPreview::sizey, blender::io::alembic::split(), tex, Tex::use_nodes, RenderData::xsch, and RenderData::ysch.
Referenced by shader_preview_startjob().
Definition at line 1222 of file render_preview.cc.
References ShaderPreview::do_update, ShaderPreview::id, ShaderPreview::parent, shader_preview_render(), and ShaderPreview::stop.
Referenced by common_preview_startjob(), and icon_preview_startjob().
|
static |
Definition at line 1058 of file render_preview.cc.
References BKE_image_pool_free(), BKE_image_pool_new(), BKE_texture_fetch_images_for_pool(), BKE_texture_get_value_ex(), copy_v4_fl4(), ListBase::first, float(), height, MEM_callocN, Scene::r, R_BUTS_PREVIEW, RE_AcquireResultWrite(), RE_InitState(), RE_ReleaseResult(), RE_SetScene(), RenderView::rectf, RenderData::scemode, shader_preview_break(), ShaderPreview::sizex, ShaderPreview::sizey, TexResult::talpha, tex, tex_coord, TexResult::trgba, Scene::view_layers, RenderResult::views, width, x, and y.
Referenced by shader_preview_render().
|
static |
Definition at line 1038 of file render_preview.cc.
References ShaderPreview::do_update.
Referenced by shader_preview_render().
Definition at line 1053 of file render_preview.cc.
Referenced by ED_preview_shader_job().
|
static |
Definition at line 262 of file render_preview.cc.
References LayerCollection::collection, COLLECTION_HIDE_RENDER, ListBase::first, Collection::flag, Collection::id, LayerCollection::layer_collections, ViewLayer::layer_collections, ID::name, LayerCollection::next, preview_collection_name(), and STREQ.
Referenced by set_preview_visibility().
|
static |
Definition at line 287 of file render_preview.cc.
References BLI_findstring(), Mesh::mat, Object::mat, Main::materials, Node::name, preview_floor_material_name(), scene, and Mesh::totcol.
Referenced by switch_preview_floor_visibility().
|
static |
Definition at line 304 of file render_preview.cc.
References LISTBASE_FOREACH, OB_HIDE_RENDER, OB_MESH, ViewLayer::object_bases, PR_ICON_RENDER, render_engine_supports_ray_visibility(), scene, STREQ, and switch_preview_floor_material().
Referenced by set_preview_visibility().
|
static |
Definition at line 158 of file render_preview.cc.
Referenced by ED_preview_ensure_dbase(), ED_preview_free_dbase(), ED_preview_shader_job(), and other_id_types_preview_render().
|
static |
Definition at line 159 of file render_preview.cc.
Referenced by ED_preview_ensure_dbase(), ED_preview_free_dbase(), ED_preview_shader_job(), other_id_types_preview_render(), and preview_prepare_scene().
|
static |
Definition at line 2133 of file render_preview.cc.
Referenced by ED_preview_restart_queue_add(), ED_preview_restart_queue_free(), and ED_preview_restart_queue_work().