Blender
V3.3
|
#include <cmath>
#include <cstddef>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_threads.h"
#include "BLI_timecode.h"
#include "BLI_utildefines.h"
#include "PIL_time.h"
#include "BLT_translation.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "DNA_view3d_types.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_image_format.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_node_tree_update.h"
#include "BKE_object.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "NOD_composite.h"
#include "DEG_depsgraph.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_render.h"
#include "ED_screen.h"
#include "ED_util.h"
#include "BIF_glutil.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "SEQ_relations.h"
#include "render_intern.hh"
Go to the source code of this file.
Classes | |
struct | RenderJob |
Definition at line 875 of file render_internal.cc.
References BKE_main_id_tag_listbase(), clean_viewport_memory_base(), ListBase::first, LIB_TAG_DOIT, LISTBASE_FOREACH, Base::next, ViewLayer::object_bases, Main::objects, scene, SETLOOPER_SET_ONLY, Main::wm, and WM_window_get_active_view_layer().
Referenced by screen_render_invoke().
Definition at line 857 of file render_internal.cc.
References BASE_VISIBLE_DEPSGRAPH, BKE_object_free_derived_caches(), Base::flag, Object::id, LIB_TAG_DOIT, Base::object, RE_allow_render_generic_object(), and ID::tag.
Referenced by clean_viewport_memory().
Definition at line 626 of file render_internal.cc.
References BKE_image_partial_update_mark_full_update(), RenderJob::current_scene, RenderJob::image, RenderJob::iuser, scene, and ImageUser::scene.
Referenced by screen_render_invoke().
Definition at line 1159 of file render_internal.cc.
References C, CTX_data_scene(), CTX_wm_manager(), RenderJob::current_scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Definition at line 1146 of file render_internal.cc.
References C, CTX_data_scene(), CTX_wm_manager(), RenderJob::scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
|
static |
Definition at line 103 of file render_internal.cc.
References RenderResult::rectx, RenderResult::recty, RenderResult::renlay, RenderResult::tilerect, ImBuf::x, rcti::xmax, rcti::xmin, ImBuf::y, rcti::ymax, and rcti::ymin.
Referenced by image_rect_update().
|
static |
Definition at line 170 of file render_internal.cc.
References BKE_scene_multiview_view_id_get(), BLI_rcti_size_x(), BLI_rcti_size_y(), Scene::display_settings, IB_DISPLAY_BUFFER_INVALID, IMB_partial_display_buffer_update(), Object::iuser, ImageUser::pass, Scene::r, RE_PASSNAME_COMBINED, RE_RenderLayerGetPass(), RE_RenderViewGetById(), RenderView::rect32, ImBuf::rect_float, RenderView::rectf, RenderResult::rectx, RenderResult::renlay, scene, RenderJob::scene, ImBuf::userflags, Scene::view_settings, ImBuf::x, rcti::xmin, and rcti::ymin.
Referenced by image_rect_update().
|
static |
Definition at line 560 of file render_internal.cc.
References BKE_image_acquire_ibuf(), BKE_image_free_buffers, BKE_image_get_tile, BKE_image_release_ibuf(), BKE_image_update_gputexture_delayed(), BLI_rcti_size_x(), BLI_rcti_size_y(), ImBuf::channels, RenderJob::do_update, ED_draw_imbuf_method(), RenderJob::image, image_buffer_calc_tile_rect(), image_buffer_rect_update(), IMAGE_DRAW_METHOD_GLSL, RenderJob::image_outdated, RenderJob::iuser, Image::last_render_slot, lock, RenderJob::re, RE_GetActiveRenderView(), render_image_update_pass_and_layer(), Image::render_slot, and RenderJob::supports_glsl_draw.
Referenced by screen_render_invoke().
|
static |
Definition at line 467 of file render_internal.cc.
References RenderJob::do_update, RenderResult::error, IMA_MAX_RENDER_TEXT, make_renderinfo_string(), MEM_callocN, RenderJob::re, RE_AcquireResultRead(), RE_ReleaseResult(), RenderJob::scene, RenderResult::text, and RenderJob::v3d_override.
Referenced by screen_render_invoke().
|
static |
Definition at line 388 of file render_internal.cc.
References BLI_timecode_string_from_time_simple(), RenderData::cfra, error(), G, G_DEBUG, IMA_MAX_RENDER_TEXT, RenderStats::infostr, RenderStats::lastframetime, RenderStats::localview, MEM_get_memory_in_use, MEM_get_peak_memory, mem_in_use, RenderStats::mem_peak, RenderStats::mem_used, PIL_check_seconds_timer(), Scene::r, scene, RenderStats::starttime, RenderStats::statstr, str, and TIP_.
Referenced by image_renderinfo_cb().
|
static |
Referenced by screen_render_exec().
|
static |
For exec() when there is no render job NOTE: this won't check for the escape key being pressed, but doing so isn't thread-safe.
Definition at line 810 of file render_internal.cc.
References G.
|
static |
Definition at line 793 of file render_internal.cc.
References G, and RenderJob::stop.
Referenced by screen_render_invoke().
Definition at line 820 of file render_internal.cc.
References BKE_spacedata_draw_locks(), RenderJob::interface_locked, and lock.
Referenced by screen_render_invoke().
Definition at line 711 of file render_internal.cc.
References RenderJob::anim, RenderJob::area, BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_main_free(), BKE_ntree_update_main(), BKE_ntree_update_tag_id_changed(), DEG_tag_on_visible_update(), RenderJob::depsgraph, ED_update_for_newframe(), ListBase::first, G, G_MAIN, IB_DISPLAY_BUFFER_INVALID, Scene::id, RenderJob::image, RenderJob::image_outdated, RenderJob::interface_locked, RenderJob::iuser, ListBase::last, lock, RenderJob::main, NA_EDITED, NC_NODE, NC_SCENE, ND_RENDER_RESULT, Scene::nodetree, ntreeCompositClearTags(), Scene::r, R_NO_FRAME_UPDATE, RenderJob::re, RE_InitRenderCB(), render_image_restore_layer(), RenderData::scemode, RenderJob::scene, RenderJob::single_layer, ImBuf::userflags, Scene::view_layers, WM_main_add_notifier(), and WM_set_locked_interface().
Referenced by screen_render_invoke().
Definition at line 379 of file render_internal.cc.
References BKE_color_managed_view_settings_free(), MEM_freeN, and RenderJob::view_settings.
Referenced by screen_render_invoke().
Definition at line 673 of file render_internal.cc.
References blender::compositor::area(), RenderJob::area, bScreen::areabase, ListBase::first, wmWindowManager::id, SpaceImage::iuser, ImageUser::layer, LISTBASE_FOREACH, RenderJob::main, ID::next, wmWindow::next, RenderJob::orig_layer, RenderJob::re, RE_AcquireResultRead(), RE_HasCombinedLayer(), RE_HasSingleLayer(), RE_ReleaseResult(), SPACE_IMAGE, wmWindowManager::windows, Main::wm, and WM_window_get_active_screen().
Referenced by render_endjob().
|
static |
Definition at line 506 of file render_internal.cc.
References blender::compositor::area(), RenderJob::area, bScreen::areabase, BLI_findstringindex(), ListBase::first, wmWindowManager::id, RenderJob::image, SpaceImage::image, Object::iuser, SpaceImage::iuser, RenderJob::last_layer, ImageUser::layer, RenderResult::layers, LISTBASE_FOREACH, RenderJob::main, Node::name, RenderLayer::name, ID::next, wmWindow::next, ImageUser::pass, RenderJob::re, RE_AcquireResultRead(), RE_ReleaseResult(), RenderResult::renlay, SPACE_IMAGE, wmWindowManager::windows, Main::wm, and WM_window_get_active_screen().
Referenced by image_rect_update().
void RENDER_OT_render | ( | struct wmOperatorType * | ot | ) |
Contextual render, using current scene, view3d?
Definition at line 1092 of file render_internal.cc.
References wmOperatorType::cancel, wmOperatorType::description, ED_operator_screenactive(), wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::invoke, MAX_ID_NAME, wmOperatorType::modal, wmOperatorType::name, ot, wmOperatorType::poll, PROP_SKIP_SAVE, RE_MAXNAME, RNA_def_boolean(), RNA_def_property_flag(), RNA_def_string(), screen_render_cancel(), screen_render_exec(), screen_render_invoke(), screen_render_modal(), and wmOperatorType::srna.
Referenced by ED_operatortypes_render().
void RENDER_OT_shutter_curve_preset | ( | wmOperatorType * | ot | ) |
Definition at line 1188 of file render_internal.cc.
References BLT_I18NCONTEXT_ID_CURVE_LEGACY, CURVE_PRESET_LINE, CURVE_PRESET_MAX, CURVE_PRESET_ROOT, CURVE_PRESET_ROUND, CURVE_PRESET_SHARP, CURVE_PRESET_SMOOTH, wmOperatorType::description, wmOperatorType::exec, wmOperatorType::idname, wmOperatorType::name, ot, render_shutter_curve_preset_exec(), RNA_def_enum(), RNA_def_property_translation_context(), and wmOperatorType::srna.
Referenced by ED_operatortypes_render().
Definition at line 489 of file render_internal.cc.
References RenderJob::do_update, and RenderJob::progress.
Referenced by screen_render_invoke().
|
static |
Definition at line 1172 of file render_internal.cc.
References BKE_curvemap_reset(), BKE_curvemapping_changed(), C, CurveMapping::clipr, CurveMapping::cm, CTX_data_scene(), CUMA_EXTEND_EXTRAPOLATE, CURVEMAP_SLOPE_POS_NEG, CurveMapping::flag, RenderData::mblur_shutter_curve, OPERATOR_FINISHED, CurveMapping::preset, wmOperator::ptr, Scene::r, RNA_enum_get(), and scene.
Referenced by RENDER_OT_shutter_curve_preset().
|
static |
Definition at line 639 of file render_internal.cc.
References RenderJob::anim, RenderJob::camera_override, RenderData::cfra, RenderJob::do_update, RenderData::efra, RenderData::frame_step, RenderJob::main, RenderJob::progress, Scene::r, RenderJob::re, RE_RenderAnim(), RE_RenderFrame(), RE_SetReports(), RenderJob::reports, RenderJob::scene, RenderData::sfra, RenderJob::single_layer, RenderJob::stop, RenderData::subframe, and RenderJob::write_still.
Referenced by screen_render_invoke().
|
static |
Definition at line 848 of file render_internal.cc.
References C, CTX_wm_manager(), wmOperator::customdata, scene, WM_JOB_TYPE_RENDER, and WM_jobs_kill_type().
Referenced by RENDER_OT_render().
|
static |
Definition at line 301 of file render_internal.cc.
References BKE_image_backup_render(), BKE_image_ensure_viewer(), BKE_image_signal(), BKE_imtype_is_movie(), BKE_report(), C, RenderData::cfra, CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), ED_update_for_newframe(), RenderData::efra, RenderData::engine, RenderData::frame_step, G, RenderData::im_format, IMA_SIGNAL_FREE, IMA_TYPE_R_RESULT, ImageFormatData::imtype, NC_SCENE, ND_RENDER_RESULT, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, Scene::r, RE_draw_lock_cb(), RE_engines_find(), RE_NewSceneRender(), RE_RenderAnim(), RE_RenderFrame(), RE_SetReports(), RE_test_break_cb(), RenderEngineType::render, render_break(), wmOperator::reports, RNA_boolean_get(), RPT_ERROR, scene, screen_render_single_layer_set(), SEQ_cache_cleanup(), RenderData::sfra, RenderData::subframe, V3D_CAMERA_LOCAL, and WM_event_add_notifier().
Referenced by RENDER_OT_render().
|
static |
Definition at line 901 of file render_internal.cc.
References RenderJob::anim, blender::compositor::area(), RenderJob::area, BKE_color_managed_display_settings_copy(), BKE_color_managed_view_settings_copy(), BKE_image_backup_render(), BKE_image_ensure_viewer(), BKE_image_signal(), BKE_imtype_is_movie(), BKE_report(), C, Scene::camera, RenderJob::camera_override, clean_viewport_memory(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_screen(), CTX_wm_view3d(), CTX_wm_window(), RenderJob::current_scene, current_scene_update(), wmOperator::customdata, RenderJob::depsgraph, RenderJob::display_settings, Scene::display_settings, ED_editors_flush_edits_ex(), ED_screen_animation_play(), ED_screen_animation_playing(), RenderData::engine, G, RenderData::im_format, IMA_SIGNAL_FREE, IMA_TYPE_R_RESULT, RenderJob::image, image_rect_update(), image_renderinfo_cb(), IMB_colormanagement_support_glsl_draw(), ImageFormatData::imtype, RenderJob::interface_locked, RenderJob::iuser, SpaceImage::iuser, RenderJob::last_layer, ImageUser::layer, RenderJob::main, Node::name, NC_SCENE, ND_RENDER_RESULT, OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, RenderJob::orig_layer, wmOperator::ptr, Scene::r, R_DOSEQ, RenderJob::re, RE_current_scene_update_cb(), RE_display_update_cb(), RE_draw_lock_cb(), RE_engines_find(), RE_gl_context_create(), RE_is_rendering_allowed(), RE_NewSceneRender(), RE_progress_cb(), RE_seq_render_active(), RE_stats_draw_cb(), RE_test_break_cb(), RenderEngineType::render, render_breakjob(), render_drawlock(), render_endjob(), render_freejob(), render_progress_update(), render_startjob(), render_view_open(), RenderJob::reports, wmOperator::reports, RNA_boolean_get(), RNA_struct_property_is_set(), RPT_ERROR, RenderData::scemode, scene, RenderJob::scene, ImageUser::scene, screen_render_single_layer_set(), SEQ_cache_cleanup(), SEQ_relations_check_scene_recursion(), RenderJob::single_layer, RenderJob::supports_glsl_draw, RenderData::use_lock_interface, V3D_CAMERA_LOCAL, RenderJob::v3d_override, RenderJob::view_settings, Scene::view_settings, WM_cursor_wait(), WM_event_add_modal_handler(), WM_event_add_notifier(), WM_JOB_EXCL_RENDER, WM_JOB_PRIORITY, WM_JOB_PROGRESS, WM_JOB_TYPE_RENDER, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_delay_start(), WM_jobs_get(), WM_jobs_kill_all_except(), WM_jobs_start(), WM_jobs_test(), WM_jobs_timer(), WM_set_locked_interface(), RenderJob::write_still, and wmEvent::xy.
Referenced by RENDER_OT_render().
|
static |
Catch escape key to cancel.
Definition at line 831 of file render_internal.cc.
References C, CTX_wm_manager(), wmOperator::customdata, EVT_ESCKEY, if(), OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, scene, wmEvent::type, WM_JOB_TYPE_RENDER, and WM_jobs_test().
Referenced by RENDER_OT_render().
|
static |
Definition at line 264 of file render_internal.cc.
References BKE_scene_camera_switch_update(), BLI_findstring(), RenderData::cfra, MAX_ID_NAME, Node::name, wmOperator::ptr, Scene::r, R_SINGLE_LAYER, RE_MAXNAME, RNA_string_get(), RNA_struct_property_is_set(), scene, and Main::scenes.
Referenced by screen_render_exec(), and screen_render_invoke().