|
Blender V4.3
|
#include <session.h>
Public Member Functions | |
| BlenderSession (BL::RenderEngine &b_engine, BL::Preferences &b_userpref, BL::BlendData &b_data, bool preview_osl) | |
| BlenderSession (BL::RenderEngine &b_engine, BL::Preferences &b_userpref, BL::BlendData &b_data, BL::SpaceView3D &b_v3d, BL::RegionView3D &b_rv3d, int width, int height) | |
| ~BlenderSession () | |
| void | create_session () |
| void | free_session () |
| void | reset_session (BL::BlendData &b_data, BL::Depsgraph &b_depsgraph) |
| void | render (BL::Depsgraph &b_depsgraph) |
| void | render_frame_finish () |
| void | bake (BL::Depsgraph &b_depsgrah, BL::Object &b_object, const string &pass_type, const int custom_flag, const int bake_width, const int bake_height) |
| void | full_buffer_written (string_view filename) |
| void | synchronize (BL::Depsgraph &b_depsgraph) |
| void | draw (BL::SpaceImageEditor &space_image) |
| void | view_draw (int w, int h) |
| void | tag_redraw () |
| void | tag_update () |
| void | get_status (string &status, string &substatus) |
| void | get_progress (double &progress, double &total_time, double &render_time) |
| void | test_cancel () |
| void | update_status_progress () |
| void | update_bake_progress () |
Public Attributes | |
| bool | background |
| Session * | session |
| Scene * | scene |
| BlenderSync * | sync |
| double | last_redraw_time |
| BL::RenderEngine | b_engine |
| BL::Preferences | b_userpref |
| BL::BlendData | b_data |
| BL::RenderSettings | b_render |
| BL::Depsgraph | b_depsgraph |
| BL::Scene | b_scene |
| BL::SpaceView3D | b_v3d |
| BL::RegionView3D | b_rv3d |
| string | b_rlay_name |
| string | b_rview_name |
| string | last_status |
| string | last_error |
| double | last_progress |
| double | last_status_time |
| int | width |
| int | height |
| bool | preview_osl |
| double | start_resize_time |
| void * | python_thread_state |
| bool | use_developer_ui |
Static Public Attributes | |
| static DeviceTypeMask | device_override = DEVICE_MASK_ALL |
| static bool | headless = false |
| static bool | print_render_stats = false |
Protected Member Functions | |
| void | stamp_view_layer_metadata (Scene *scene, const string &view_layer_name) |
| bool | check_and_report_session_error () |
| void | builtin_images_load () |
| void | free_blender_memory_if_possible () |
| void | ensure_display_driver_if_needed () |
Protected Attributes | ||
| struct { | ||
| thread_mutex mutex | ||
| int last_pass_index = -1 | ||
| } | draw_state_ | |
| BlenderDisplayDriver * | display_driver_ = nullptr | |
| vector< string > | full_buffer_files_ | |
| int | bake_id = 0 | |
Definition at line 28 of file blender/session.h.
| BlenderSession::BlenderSession | ( | BL::RenderEngine & | b_engine, |
| BL::Preferences & | b_userpref, | ||
| BL::BlendData & | b_data, | ||
| bool | preview_osl ) |
Definition at line 45 of file blender/session.cpp.
References last_redraw_time, last_status_time, and start_resize_time.
| BlenderSession::BlenderSession | ( | BL::RenderEngine & | b_engine, |
| BL::Preferences & | b_userpref, | ||
| BL::BlendData & | b_data, | ||
| BL::SpaceView3D & | b_v3d, | ||
| BL::RegionView3D & | b_rv3d, | ||
| int | width, | ||
| int | height ) |
Definition at line 74 of file blender/session.cpp.
References last_redraw_time, last_status_time, and start_resize_time.
| BlenderSession::~BlenderSession | ( | ) |
Definition at line 106 of file blender/session.cpp.
References free_session().
| void BlenderSession::bake | ( | BL::Depsgraph & | b_depsgrah, |
| BL::Object & | b_object, | ||
| const string & | pass_type, | ||
| const int | custom_flag, | ||
| const int | bake_width, | ||
| const int | bake_height ) |
Definition at line 675 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_scene, b_userpref, b_v3d, bake_id, bake_setup_pass(), builtin_images_load(), Session::cancel(), SessionParams::denoise_device, full_buffer_written(), Session::full_buffer_written_cb, function_bind, Progress::get_cancel(), BlenderSync::get_session_params(), height, BufferParams::height, BufferParams::layer, Node::name, Session::progress, python_thread_state, Session::reset(), session, Session::set_display_driver(), Session::set_output_driver(), Progress::set_update_callback(), Session::start(), string_printf(), sync, BlenderSync::sync_camera(), BlenderSync::sync_data(), update_bake_progress(), Session::wait(), width, BufferParams::width, BufferParams::window_height, and BufferParams::window_width.
Referenced by bake_func().
|
protected |
Definition at line 279 of file blender/image.cpp.
References Session::device, ImageManager::device_load_builtin(), Scene::image_manager, Session::progress, Session::scene, and session.
Referenced by bake(), render(), and synchronize().
|
protected |
Definition at line 1052 of file blender/session.cpp.
References b_engine, error(), Progress::get_error(), Progress::get_error_message(), last_error, Session::progress, and session.
Referenced by render_frame_finish(), and update_status_progress().
| void BlenderSession::create_session | ( | ) |
Definition at line 111 of file blender/session.cpp.
References b_data, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, function_bind, BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, last_error, last_progress, last_status, Scene::name, Session::progress, Session::reset(), Session::scene, session, Progress::set_cancel_callback(), Session::set_pause(), Progress::set_update_callback(), start_resize_time, sync, BlenderSync::sync_camera(), BlenderSync::sync_view(), tag_redraw(), test_cancel(), use_developer_ui, and width.
Referenced by reset_session(), and synchronize().
| void BlenderSession::draw | ( | BL::SpaceImageEditor & | space_image | ) |
Definition at line 862 of file blender/session.cpp.
References b_engine, b_rlay_name, display_driver_, Session::draw(), draw_state_, Pass::find(), lock, Session::scene, session, and BlenderDisplayDriver::set_zoom().
Referenced by draw_func().
|
protected |
Definition at line 1119 of file blender/session.cpp.
References b_engine, b_scene, display_driver_, headless, session, and Session::set_display_driver().
Referenced by render(), and synchronize().
|
protected |
| void BlenderSession::free_session | ( | ) |
Definition at line 254 of file blender/session.cpp.
References Session::cancel(), display_driver_, session, and sync.
Referenced by reset_session(), synchronize(), and ~BlenderSession().
| void BlenderSession::full_buffer_written | ( | string_view | filename | ) |
Definition at line 269 of file blender/session.cpp.
References full_buffer_files_.
Definition at line 976 of file blender/session.cpp.
References Progress::get_progress(), Progress::get_time(), Session::progress, session, and total_time.
Referenced by update_status_progress().
| void BlenderSession::get_status | ( | string & | status, |
| string & | substatus ) |
Definition at line 971 of file blender/session.cpp.
References Progress::get_status(), Session::progress, and session.
Referenced by update_status_progress().
| void BlenderSession::render | ( | BL::Depsgraph & | b_depsgraph | ) |
Definition at line 333 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_rlay_name, b_rv3d, b_rview_name, b_scene, b_userpref, b_v3d, builtin_images_load(), Session::collect_statistics(), SessionParams::denoise_device, draw_state_, ensure_display_driver_if_needed(), free_blender_memory_if_possible(), BlenderSync::free_data_after_sync(), full_buffer_written(), Session::full_buffer_written_cb, RenderStats::full_report(), BlenderSync::get_buffer_params(), Progress::get_cancel(), BlenderSync::get_layer_bound_samples(), BlenderSync::get_layer_samples(), BlenderSync::get_session_params(), Progress::get_time(), hash_uint2(), height, BufferParams::layer, lock, Scene::MOTION_NONE, NULL, print_render_stats, printf, Session::progress, python_thread_state, Session::reset(), SessionParams::samples, seed, session, Session::set_output_driver(), stamp_view_layer_metadata(), Session::start(), sync, BlenderSync::sync_camera(), BlenderSync::sync_data(), BlenderSync::sync_render_passes(), BlenderSync::tag_update(), total_time, update_status_progress(), BufferParams::view, VLOG_INFO, Session::wait(), and width.
Referenced by render_func().
| void BlenderSession::render_frame_finish | ( | ) |
Definition at line 483 of file blender/session.cpp.
References b_render, b_rlay_name, b_rview_name, check_and_report_session_error(), Session::device_free(), display_driver_, full_buffer_files_, Session::full_buffer_written_cb, function_null, path_remove(), Session::process_full_buffer_from_disk(), session, Session::set_display_driver(), Session::set_output_driver(), and sync.
Referenced by render_frame_finish_func().
| void BlenderSession::reset_session | ( | BL::BlendData & | b_data, |
| BL::Depsgraph & | b_depsgraph ) |
Definition at line 161 of file blender/session.cpp.
References b_data, b_depsgraph, b_engine, b_render, b_scene, b_userpref, b_v3d, create_session(), draw_state_, free_session(), BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), height, lock, Stats::mem_peak, Stats::mem_used, SessionParams::modified(), NULL, Session::params, PointerRNA_NULL, preview_osl, Session::progress, render_resolution_x(), render_resolution_y(), BlenderSync::reset(), Progress::reset(), Session::reset(), RNA_boolean_set(), RNA_pointer_get(), session, start_resize_time, Session::stats, sync, BlenderSync::sync_camera(), BlenderSync::sync_recalc(), use_developer_ui, and width.
Referenced by reset_func().
|
protected |
Definition at line 285 of file blender/session.cpp.
References add_cryptomatte_layer(), b_engine, CRYPT_ASSET, CRYPT_MATERIAL, CRYPT_OBJECT, Progress::get_time(), Session::params, Session::progress, SessionParams::samples, session, time_human_readable_from_seconds(), to_string(), and total_time.
Referenced by render().
| void BlenderSession::synchronize | ( | BL::Depsgraph & | b_depsgraph | ) |
Definition at line 777 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, builtin_images_load(), create_session(), SessionParams::denoise_device, ensure_display_driver_if_needed(), free_session(), BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, SessionParams::modified(), Scene::mutex, Session::params, python_thread_state, Session::ready_to_reset(), Session::reset(), SessionParams::samples, Session::scene, session, Session::set_pause(), Session::set_samples(), Session::set_time_limit(), Session::start(), start_resize_time, sync, BlenderSync::sync_camera(), BlenderSync::sync_data(), BlenderSync::sync_recalc(), BlenderSync::sync_view(), tag_update(), SessionParams::time_limit, use_developer_ui, and width.
Referenced by sync_func().
| void BlenderSession::tag_redraw | ( | ) |
Definition at line 1078 of file blender/session.cpp.
References b_engine, last_redraw_time, time_dt(), and update_status_progress().
Referenced by create_session(), and view_draw().
| void BlenderSession::tag_update | ( | ) |
Definition at line 1072 of file blender/session.cpp.
References b_engine.
Referenced by synchronize(), and view_draw().
| void BlenderSession::test_cancel | ( | ) |
Definition at line 1097 of file blender/session.cpp.
References b_engine, Session::progress, session, and Progress::set_cancel().
Referenced by create_session().
| void BlenderSession::update_bake_progress | ( | ) |
Definition at line 982 of file blender/session.cpp.
References b_engine, Progress::get_progress(), last_progress, Session::progress, and session.
Referenced by bake().
| void BlenderSession::update_status_progress | ( | ) |
Definition at line 992 of file blender/session.cpp.
References b_engine, b_rlay_name, b_rview_name, check_and_report_session_error(), float, Session::get_estimated_remaining_time(), get_progress(), get_status(), headless, last_progress, last_status, last_status_time, Stats::mem_peak, Stats::mem_used, session, Session::stats, string_printf(), time_dt(), time_human_readable_from_seconds(), and total_time.
Referenced by render(), tag_redraw(), and view_draw().
Definition at line 901 of file blender/session.cpp.
References b_engine, b_rv3d, b_scene, b_userpref, b_v3d, Session::draw(), BlenderSync::get_buffer_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, Scene::mutex, Session::ready_to_reset(), reset(), Session::reset(), Session::scene, session, Session::set_pause(), start_resize_time, sync, BlenderSync::sync_view(), tag_redraw(), tag_update(), time_dt(), update_status_progress(), w(), and width.
Referenced by view_draw_func().
| BL::BlendData BlenderSession::b_data |
Definition at line 86 of file blender/session.h.
Referenced by create_session(), and reset_session().
| BL::Depsgraph BlenderSession::b_depsgraph |
Definition at line 88 of file blender/session.h.
Referenced by bake(), render(), reset_session(), and synchronize().
| BL::RenderEngine BlenderSession::b_engine |
Definition at line 84 of file blender/session.h.
Referenced by bake(), check_and_report_session_error(), create_session(), draw(), ensure_display_driver_if_needed(), free_blender_memory_if_possible(), render(), reset_session(), stamp_view_layer_metadata(), synchronize(), tag_redraw(), tag_update(), test_cancel(), update_bake_progress(), update_status_progress(), and view_draw().
| BL::RenderSettings BlenderSession::b_render |
Definition at line 87 of file blender/session.h.
Referenced by bake(), create_session(), render(), render_frame_finish(), reset_session(), and synchronize().
| string BlenderSession::b_rlay_name |
Definition at line 94 of file blender/session.h.
Referenced by draw(), render(), render_frame_finish(), and update_status_progress().
| BL::RegionView3D BlenderSession::b_rv3d |
Definition at line 93 of file blender/session.h.
Referenced by create_session(), render(), synchronize(), and view_draw().
| string BlenderSession::b_rview_name |
Definition at line 95 of file blender/session.h.
Referenced by render(), render_frame_finish(), and update_status_progress().
| BL::Scene BlenderSession::b_scene |
Definition at line 91 of file blender/session.h.
Referenced by bake(), create_session(), ensure_display_driver_if_needed(), render(), reset_session(), synchronize(), and view_draw().
| BL::Preferences BlenderSession::b_userpref |
Definition at line 85 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| BL::SpaceView3D BlenderSession::b_v3d |
Definition at line 92 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| bool BlenderSession::background |
Definition at line 78 of file blender/session.h.
|
protected |
Definition at line 151 of file blender/session.h.
Referenced by bake().
|
static |
Definition at line 113 of file blender/session.h.
Referenced by blender_device_info(), and set_device_override_func().
|
protected |
Definition at line 147 of file blender/session.h.
Referenced by draw(), ensure_display_driver_if_needed(), free_session(), and render_frame_finish().
| struct { ... } BlenderSession::draw_state_ |
Referenced by draw(), render(), and reset_session().
|
protected |
Definition at line 149 of file blender/session.h.
Referenced by full_buffer_written(), and render_frame_finish().
|
static |
Definition at line 119 of file blender/session.h.
Referenced by ensure_display_driver_if_needed(), BlenderSync::free_data_after_sync(), BlenderSync::get_session_params(), init_func(), and update_status_progress().
| int BlenderSession::height |
Definition at line 102 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| string BlenderSession::last_error |
Definition at line 98 of file blender/session.h.
Referenced by check_and_report_session_error(), and create_session().
| int BlenderSession::last_pass_index = -1 |
Definition at line 143 of file blender/session.h.
| double BlenderSession::last_progress |
Definition at line 99 of file blender/session.h.
Referenced by create_session(), update_bake_progress(), and update_status_progress().
| double BlenderSession::last_redraw_time |
Definition at line 82 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), and tag_redraw().
| string BlenderSession::last_status |
Definition at line 97 of file blender/session.h.
Referenced by create_session(), and update_status_progress().
| double BlenderSession::last_status_time |
Definition at line 100 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), and update_status_progress().
| thread_mutex BlenderSession::mutex |
Definition at line 142 of file blender/session.h.
| bool BlenderSession::preview_osl |
Definition at line 103 of file blender/session.h.
Referenced by reset_session().
|
static |
Definition at line 121 of file blender/session.h.
Referenced by enable_print_stats_func(), BlenderSync::get_session_params(), and render().
| void* BlenderSession::python_thread_state |
Definition at line 106 of file blender/session.h.
Referenced by bake(), bake_func(), render(), render_frame_finish_func(), render_func(), reset_func(), sync_func(), and synchronize().
| Scene* BlenderSession::scene |
Definition at line 80 of file blender/session.h.
| Session* BlenderSession::session |
Definition at line 79 of file blender/session.h.
Referenced by bake(), builtin_images_load(), check_and_report_session_error(), create_session(), draw(), ensure_display_driver_if_needed(), free_session(), get_progress(), get_status(), render(), render_frame_finish(), reset_session(), stamp_view_layer_metadata(), synchronize(), test_cancel(), update_bake_progress(), update_status_progress(), and view_draw().
| double BlenderSession::start_resize_time |
Definition at line 104 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), create_session(), reset_session(), synchronize(), and view_draw().
| BlenderSync* BlenderSession::sync |
Definition at line 81 of file blender/session.h.
Referenced by bake(), create_session(), free_session(), render(), render_frame_finish(), reset_session(), synchronize(), and view_draw().
| bool BlenderSession::use_developer_ui |
Definition at line 108 of file blender/session.h.
Referenced by create_session(), reset_session(), and synchronize().
| int BlenderSession::width |
Definition at line 102 of file blender/session.h.
Referenced by bake(), create_func(), create_session(), render(), reset_session(), synchronize(), and view_draw().