|
Blender V4.3
|
#include <cmath>#include <cstddef>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_string_utils.hh"#include "BLI_threads.h"#include "BLI_time.h"#include "BLI_timecode.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_userdef_types.h"#include "DNA_view3d_types.h"#include "BKE_colortools.hh"#include "BKE_context.hh"#include "BKE_global.hh"#include "BKE_image.hh"#include "BKE_image_format.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_main.hh"#include "BKE_node_tree_update.hh"#include "BKE_object.hh"#include "BKE_report.hh"#include "BKE_scene.hh"#include "BKE_screen.hh"#include "NOD_composite.hh"#include "DEG_depsgraph.hh"#include "WM_api.hh"#include "WM_types.hh"#include "ED_render.hh"#include "ED_screen.hh"#include "ED_util.hh"#include "BIF_glutil.hh"#include "RE_engine.h"#include "RE_pipeline.h"#include "IMB_colormanagement.hh"#include "IMB_imbuf_types.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "SEQ_relations.hh"#include "render_intern.hh"Go to the source code of this file.
Classes | |
| struct | RenderJob |
Definition at line 936 of file render_internal.cc.
References b, BKE_main_id_tag_listbase(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), clean_viewport_memory_base(), ID_TAG_DOIT, LISTBASE_FOREACH, Main::objects, SETLOOPER_SET_ONLY, Main::wm, and WM_window_get_active_view_layer().
Referenced by screen_render_invoke().
|
static |
Definition at line 918 of file render_internal.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, BKE_object_free_derived_caches(), Base::flag, Object::id, ID_TAG_DOIT, Base::object, RE_allow_render_generic_object(), and ID::tag.
Referenced by clean_viewport_memory().
|
static |
Definition at line 689 of file render_internal.cc.
References BKE_image_partial_update_mark_full_update(), RenderJob::current_scene, RenderJob::image, RenderJob::iuser, ImageUser::scene, and scene.
Referenced by screen_render_invoke().
Definition at line 1216 of file render_internal.cc.
References CTX_data_scene(), CTX_wm_manager(), RenderJob::current_scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by image_user_refresh_scene().
Definition at line 1203 of file render_internal.cc.
References CTX_data_scene(), CTX_wm_manager(), RenderJob::scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by draw_render_info().
|
static |
Definition at line 104 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 171 of file render_internal.cc.
References BKE_scene_multiview_view_id_get(), BLI_rcti_size_x(), BLI_rcti_size_y(), ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IB_DISPLAY_BUFFER_INVALID, RenderView::ibuf, IMB_partial_display_buffer_update(), ImageUser::pass, RE_PASSNAME_COMBINED, RE_RenderLayerGetPass(), RE_RenderViewGetById(), RenderResult::rectx, RenderResult::renlay, RenderJob::scene, ImBuf::userflags, ImBuf::x, rcti::xmin, and rcti::ymin.
Referenced by image_rect_update().
|
static |
Definition at line 622 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 525 of file render_internal.cc.
References RenderJob::do_update, RenderResult::error, IMA_MAX_RENDER_TEXT_SIZE, 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 407 of file render_internal.cc.
References BLI_assert, BLI_string_join_array(), BLI_string_len_array(), BLI_time_now_seconds(), BLI_timecode_string_from_time_simple(), error(), G, G_DEBUG, IMA_MAX_RENDER_TEXT_SIZE, RenderStats::infostr, RenderStats::lastframetime, RenderStats::localview, MEM_get_memory_in_use, MEM_get_peak_memory, mem_in_use, RenderStats::mem_peak, RenderStats::mem_used, printf, ret, RPT_, SNPRINTF, RenderStats::starttime, and RenderStats::statstr.
Referenced by image_renderinfo_cb().
|
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 871 of file render_internal.cc.
References G.
Referenced by screen_render_exec().
|
static |
Definition at line 854 of file render_internal.cc.
References G, and RenderJob::stop.
Referenced by screen_render_invoke().
|
static |
Definition at line 881 of file render_internal.cc.
References BKE_spacedata_draw_locks(), RenderJob::interface_locked, and lock.
Referenced by screen_render_invoke().
|
static |
Definition at line 772 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().
|
static |
Definition at line 399 of file render_internal.cc.
References BKE_color_managed_view_settings_free(), MEM_freeN(), and RenderJob::view_settings.
Referenced by screen_render_invoke().
|
static |
Definition at line 736 of file render_internal.cc.
References RenderJob::area, SpaceImage::iuser, ImageUser::layer, LISTBASE_FOREACH, RenderJob::main, RenderJob::orig_layer, RenderJob::re, RE_AcquireResultRead(), RE_HasCombinedLayer(), RE_HasSingleLayer(), RE_ReleaseResult(), SPACE_IMAGE, Main::wm, and WM_window_get_active_screen().
Referenced by render_endjob().
|
static |
Definition at line 564 of file render_internal.cc.
References RenderJob::area, BLI_findstringindex(), ListBase::first, RenderJob::image, SpaceImage::image, SpaceImage::iuser, RenderJob::last_layer, ImageUser::layer, RenderResult::layers, LISTBASE_FOREACH, RenderJob::main, RenderLayer::name, wmWindow::next, offsetof, ImageUser::pass, RenderJob::re, RE_AcquireResultRead(), RE_ReleaseResult(), RenderResult::renlay, SPACE_IMAGE, Main::wm, and WM_window_get_active_screen().
Referenced by image_rect_update().
| void RENDER_OT_render | ( | wmOperatorType * | ot | ) |
Contextual render, using current scene, view3d?
Definition at line 1149 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 1245 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, prop_shape_items, render_shutter_curve_preset_exec(), RNA_def_enum(), RNA_def_property_translation_context(), and wmOperatorType::srna.
Referenced by ED_operatortypes_render().
|
static |
Definition at line 547 of file render_internal.cc.
References RenderJob::do_update, and RenderJob::progress.
Referenced by screen_render_invoke().
|
static |
Definition at line 1229 of file render_internal.cc.
References BKE_curvemap_reset(), BKE_curvemapping_changed(), CurveMapping::clipr, CurveMapping::cm, CTX_data_scene(), CURVEMAP_SLOPE_POS_NEG, CurveMapping::flag, OPERATOR_FINISHED, CurveMapping::preset, wmOperator::ptr, and RNA_enum_get().
Referenced by RENDER_OT_shutter_curve_preset().
|
static |
Definition at line 702 of file render_internal.cc.
References RenderJob::anim, RenderJob::camera_override, RenderData::cfra, RenderJob::do_update, wmJobWorkerStatus::do_update, RenderData::efra, RenderData::frame_step, RenderJob::main, RenderJob::progress, wmJobWorkerStatus::progress, Scene::r, RenderJob::re, RE_RenderAnim(), RE_RenderFrame(), RE_SetReports(), RenderJob::reports, RenderJob::scene, RenderData::sfra, RenderJob::single_layer, RenderJob::stop, wmJobWorkerStatus::stop, RenderData::subframe, and RenderJob::write_still.
Referenced by screen_render_invoke().
|
static |
Definition at line 909 of file render_internal.cc.
References CTX_wm_manager(), wmOperator::customdata, WM_JOB_TYPE_RENDER, and WM_jobs_kill_type().
Referenced by RENDER_OT_render().
|
static |
Definition at line 305 of file render_internal.cc.
References BKE_image_backup_render(), BKE_image_ensure_viewer(), BKE_image_signal(), BKE_imtype_is_movie(), BKE_report(), CTX_data_depsgraph_pointer(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), ED_update_for_newframe(), RenderResult::error, G, IMA_SIGNAL_FREE, IMA_TYPE_R_RESULT, NC_SCENE, ND_RENDER_RESULT, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RE_AcquireResultRead(), RE_draw_lock_cb(), RE_engines_find(), RE_NewSceneRender(), RE_ReleaseResult(), RE_RenderAnim(), RE_RenderFrame(), RE_SetReports(), RE_test_break_cb(), RenderEngineType::render, render_break(), wmOperator::reports, RNA_boolean_get(), RPT_ERROR, screen_render_single_layer_set(), SEQ_cache_cleanup(), V3D_CAMERA_LOCAL, and WM_event_add_notifier().
Referenced by RENDER_OT_render().
|
static |
Definition at line 964 of file render_internal.cc.
References RenderJob::anim, 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(), 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, ED_editors_flush_edits_ex(), ED_screen_animation_play(), ED_screen_animation_playing(), G, IMA_SIGNAL_FREE, IMA_TYPE_R_RESULT, RenderJob::image, image_rect_update(), image_renderinfo_cb(), IMB_colormanagement_support_glsl_draw(), RenderJob::interface_locked, RenderJob::iuser, SpaceImage::iuser, RenderJob::last_layer, ImageUser::layer, RenderJob::main, NC_SCENE, ND_RENDER_RESULT, OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, RenderJob::orig_layer, wmOperator::ptr, R_DOSEQ, RenderJob::re, RE_current_scene_update_cb(), RE_display_update_cb(), RE_draw_lock_cb(), RE_engines_find(), RE_is_rendering_allowed(), RE_NewSceneRender(), RE_progress_cb(), RE_seq_render_active(), RE_stats_draw_cb(), RE_system_gpu_context_ensure(), 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, ImageUser::scene, RenderJob::scene, scene, screen_render_single_layer_set(), SEQ_relations_check_scene_recursion(), RenderJob::single_layer, RenderJob::supports_glsl_draw, V3D_CAMERA_LOCAL, RenderJob::v3d_override, RenderJob::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 892 of file render_internal.cc.
References CTX_wm_manager(), wmOperator::customdata, EVT_ESCKEY, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, wmEvent::type, WM_JOB_TYPE_RENDER, and WM_jobs_test().
Referenced by RENDER_OT_render().
|
static |
Definition at line 268 of file render_internal.cc.
References BKE_scene_camera_switch_update(), BLI_findstring(), RenderData::cfra, MAX_ID_NAME, offsetof, wmOperator::ptr, Scene::r, R_SINGLE_LAYER, RE_MAXNAME, RNA_string_get(), RNA_struct_property_is_set(), and Main::scenes.
Referenced by screen_render_exec(), and screen_render_invoke().