Blender
V3.3
|
#include <session.h>
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 |
thread_mutex | mutex |
int | last_pass_index = -1 |
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 27 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 44 of file blender/session.cpp.
References background, 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 72 of file blender/session.cpp.
References background, last_redraw_time, last_status_time, and start_resize_time.
BlenderSession::~BlenderSession | ( | ) |
Definition at line 104 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 646 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_scene, b_userpref, b_v3d, background, Scene::background, bake_id, Scene::bake_manager, bake_setup_pass(), builtin_images_load(), Session::cancel(), full_buffer_written(), Session::full_buffer_written_cb, function_bind, Progress::get_cancel(), BlenderSync::get_session_params(), height, BufferParams::height, BufferParams::layer, Node::name, Scene::name, Scene::objects, Session::progress, python_thread_state, Session::reset(), scene, session, BakeManager::set(), 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 278 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 980 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 109 of file blender/session.cpp.
References b_data, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, Scene::camera, 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(), scene, 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 796 of file blender/session.cpp.
References b_engine, b_rlay_name, display_driver_, Session::draw(), draw_state_, Scene::film, Pass::find(), lock, Scene::mutex, Scene::passes, scene, Session::scene, session, and BlenderDisplayDriver::set_zoom().
Referenced by draw_func().
|
protected |
Definition at line 1045 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 |
Definition at line 1033 of file blender/session.cpp.
References b_engine, and background.
Referenced by render().
void BlenderSession::free_session | ( | ) |
Definition at line 249 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 264 of file blender/session.cpp.
References full_buffer_files_.
Definition at line 909 of file blender/session.cpp.
References Progress::get_progress(), Progress::get_time(), Session::progress, and session.
Referenced by update_status_progress().
void BlenderSession::get_status | ( | string & | status, |
string & | substatus | ||
) |
Definition at line 904 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 328 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, background, builtin_images_load(), Scene::camera, Session::collect_statistics(), draw_state_, Scene::enable_update_stats(), ensure_display_driver_if_needed(), free_blender_memory_if_possible(), 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, Scene::integrator, BufferParams::layer, lock, Scene::MOTION_NONE, Scene::need_motion(), NULL, print_render_stats, Session::progress, python_thread_state, Session::reset(), SessionParams::samples, scene, 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(), update_status_progress(), BufferParams::view, VLOG_INFO, Session::wait(), and width.
Referenced by render_func().
void BlenderSession::render_frame_finish | ( | ) |
Definition at line 465 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 158 of file blender/session.cpp.
References b_data, b_depsgraph, b_engine, b_render, b_scene, b_userpref, b_v3d, background, Scene::camera, 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, SceneParams::modified(), SessionParams::modified(), NULL, Scene::params, Session::params, PointerRNA_NULL, preview_osl, Session::progress, render_resolution_x(), render_resolution_y(), Progress::reset(), BlenderSync::reset(), Session::reset(), RNA_boolean_set(), RNA_pointer_get(), scene, 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 280 of file blender/session.cpp.
References add_cryptomatte_layer(), b_engine, CRYPT_ASSET, CRYPT_MATERIAL, CRYPT_OBJECT, Scene::film, ObjectManager::get_cryptomatte_assets(), ShaderManager::get_cryptomatte_materials(), ObjectManager::get_cryptomatte_objects(), Progress::get_time(), Scene::object_manager, Session::params, Session::progress, SessionParams::samples, scene, session, Scene::shader_manager, time_human_readable_from_seconds(), and to_string().
Referenced by render().
void BlenderSession::synchronize | ( | BL::Depsgraph & | b_depsgraph | ) |
Definition at line 721 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, builtin_images_load(), Scene::camera, create_session(), ensure_display_driver_if_needed(), free_session(), BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, SceneParams::modified(), SessionParams::modified(), Scene::mutex, Scene::need_reset(), Scene::params, Session::params, python_thread_state, Session::ready_to_reset(), Session::reset(), SessionParams::samples, scene, 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, and width.
Referenced by sync_func().
void BlenderSession::tag_redraw | ( | ) |
Definition at line 1006 of file blender/session.cpp.
References b_engine, background, last_redraw_time, time_dt(), and update_status_progress().
Referenced by create_session(), and view_draw().
void BlenderSession::tag_update | ( | ) |
Definition at line 1000 of file blender/session.cpp.
References b_engine.
Referenced by synchronize(), and view_draw().
void BlenderSession::test_cancel | ( | ) |
Definition at line 1025 of file blender/session.cpp.
References b_engine, background, Session::progress, session, and Progress::set_cancel().
Referenced by create_session().
void BlenderSession::update_bake_progress | ( | ) |
Definition at line 915 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 925 of file blender/session.cpp.
References b_engine, b_rlay_name, b_rview_name, background, 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, Scene::name, scene, session, Session::stats, string_printf(), time_dt(), and time_human_readable_from_seconds().
Referenced by render(), tag_redraw(), and view_draw().
void BlenderSession::view_draw | ( | int | w, |
int | h | ||
) |
Definition at line 835 of file blender/session.cpp.
References b_engine, b_rv3d, b_scene, b_userpref, b_v3d, background, Scene::camera, Session::draw(), BlenderSync::get_buffer_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, Node::is_modified(), Scene::mutex, Session::ready_to_reset(), reset, Session::reset(), scene, 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 85 of file blender/session.h.
Referenced by create_session(), and reset_session().
BL::Depsgraph BlenderSession::b_depsgraph |
Definition at line 87 of file blender/session.h.
Referenced by bake(), render(), reset_session(), and synchronize().
BL::RenderEngine BlenderSession::b_engine |
Definition at line 83 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 86 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 93 of file blender/session.h.
Referenced by draw(), render(), render_frame_finish(), and update_status_progress().
BL::RegionView3D BlenderSession::b_rv3d |
Definition at line 92 of file blender/session.h.
Referenced by create_session(), render(), synchronize(), and view_draw().
string BlenderSession::b_rview_name |
Definition at line 94 of file blender/session.h.
Referenced by render(), render_frame_finish(), and update_status_progress().
BL::Scene BlenderSession::b_scene |
Definition at line 90 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 84 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 91 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().
bool BlenderSession::background |
Definition at line 77 of file blender/session.h.
Referenced by bake(), BlenderSession(), create_session(), free_blender_memory_if_possible(), render(), reset_session(), synchronize(), tag_redraw(), test_cancel(), update_status_progress(), and view_draw().
|
protected |
Definition at line 150 of file blender/session.h.
Referenced by bake().
|
static |
Definition at line 112 of file blender/session.h.
Referenced by blender_device_info(), and set_device_override_func().
|
protected |
Definition at line 146 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 148 of file blender/session.h.
Referenced by full_buffer_written(), and render_frame_finish().
|
static |
Definition at line 118 of file blender/session.h.
Referenced by ensure_display_driver_if_needed(), BlenderSync::get_session_params(), init_func(), and update_status_progress().
int BlenderSession::height |
Definition at line 101 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().
string BlenderSession::last_error |
Definition at line 97 of file blender/session.h.
Referenced by check_and_report_session_error(), and create_session().
int BlenderSession::last_pass_index = -1 |
Definition at line 142 of file blender/session.h.
double BlenderSession::last_progress |
Definition at line 98 of file blender/session.h.
Referenced by create_session(), update_bake_progress(), and update_status_progress().
double BlenderSession::last_redraw_time |
Definition at line 81 of file blender/session.h.
Referenced by BlenderSession(), and tag_redraw().
string BlenderSession::last_status |
Definition at line 96 of file blender/session.h.
Referenced by create_session(), and update_status_progress().
double BlenderSession::last_status_time |
Definition at line 99 of file blender/session.h.
Referenced by BlenderSession(), and update_status_progress().
thread_mutex BlenderSession::mutex |
Definition at line 141 of file blender/session.h.
bool BlenderSession::preview_osl |
Definition at line 102 of file blender/session.h.
Referenced by reset_session().
|
static |
Definition at line 120 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 105 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 79 of file blender/session.h.
Referenced by bake(), create_session(), draw(), render(), reset_session(), stamp_view_layer_metadata(), synchronize(), update_status_progress(), and view_draw().
Session* BlenderSession::session |
Definition at line 78 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 103 of file blender/session.h.
Referenced by BlenderSession(), create_session(), reset_session(), synchronize(), and view_draw().
BlenderSync* BlenderSession::sync |
Definition at line 80 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 107 of file blender/session.h.
Referenced by create_session(), and reset_session().
int BlenderSession::width |
Definition at line 101 of file blender/session.h.
Referenced by bake(), create_session(), render(), reset_session(), synchronize(), and view_draw().