|
Blender V5.0
|
#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, const 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_depsgraph_, BL::Object &b_object, const string &bake_type, const int bake_filter, 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 (const int w, const 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 |
| unique_ptr< Session > | session |
| Scene * | scene |
| unique_ptr< 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 25 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 43 of file blender/session.cpp.
References b_data, b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, height, last_redraw_time, last_status_time, nullptr, PointerRNA_NULL, preview_osl, python_thread_state, render(), scene, session, start_resize_time, sync, use_developer_ui, view, and width.
| BlenderSession::BlenderSession | ( | BL::RenderEngine & | b_engine, |
| BL::Preferences & | b_userpref, | ||
| BL::BlendData & | b_data, | ||
| BL::SpaceView3D & | b_v3d, | ||
| BL::RegionView3D & | b_rv3d, | ||
| const int | width, | ||
| int | height ) |
Definition at line 72 of file blender/session.cpp.
References b_data, b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, false, height, last_redraw_time, last_status_time, nullptr, PointerRNA_NULL, preview_osl, python_thread_state, render(), scene, session, start_resize_time, sync, use_developer_ui, view, and width.
| BlenderSession::~BlenderSession | ( | ) |
Definition at line 104 of file blender/session.cpp.
References free_session().
| void BlenderSession::bake | ( | BL::Depsgraph & | b_depsgraph_, |
| BL::Object & | b_object, | ||
| const string & | bake_type, | ||
| const int | bake_filter, | ||
| const int | bake_width, | ||
| const int | bake_height ) |
Definition at line 668 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, bake_id, bake_setup_pass(), builtin_images_load(), SessionParams::denoise_device, full_buffer_written(), BlenderSync::get_session_params(), height, BufferParams::height, BufferParams::layer, python_thread_state, scene, session, string_printf(), sync, update_bake_progress(), width, BufferParams::width, BufferParams::window_height, and BufferParams::window_width.
Referenced by bake_func().
|
protected |
Definition at line 262 of file blender/image.cpp.
References ImageManager::device_load_builtin(), and session.
Referenced by bake(), render(), and synchronize().
|
protected |
Definition at line 1030 of file blender/session.cpp.
References b_engine, error(), last_error, 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, BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, last_error, last_progress, last_status, scene, session, start_resize_time, sync, 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 853 of file blender/session.cpp.
References b_engine, b_rlay_name, display_driver_, draw_state_, Pass::find(), lock, scene, and session.
Referenced by draw_func().
|
protected |
Definition at line 1097 of file blender/session.cpp.
References b_engine, b_scene, background, display_driver_, headless, and session.
Referenced by render(), and synchronize().
|
protected |
Definition at line 1085 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 display_driver_, session, and sync.
Referenced by reset_session(), synchronize(), and ~BlenderSession().
| void BlenderSession::full_buffer_written | ( | string_view | filename | ) |
Definition at line 261 of file blender/session.cpp.
References full_buffer_files_.
| void BlenderSession::get_progress | ( | double & | progress, |
| double & | total_time, | ||
| double & | render_time ) |
Definition at line 967 of file blender/session.cpp.
References session, and total_time.
Referenced by update_status_progress().
| void BlenderSession::get_status | ( | string & | status, |
| string & | substatus ) |
Definition at line 962 of file blender/session.cpp.
References session, and status.
Referenced by update_status_progress().
| void BlenderSession::render | ( | BL::Depsgraph & | b_depsgraph | ) |
Definition at line 327 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(), SessionParams::denoise_device, draw_state_, ensure_display_driver_if_needed(), free_blender_memory_if_possible(), full_buffer_written(), RenderStats::full_report(), BlenderSync::get_buffer_params(), BlenderSync::get_session_params(), hash_uint2(), height, BufferParams::layer, lock, LOG_INFO, Scene::MOTION_NONE, print_render_stats, printf, python_thread_state, SessionParams::samples, scene, seed, session, stamp_view_layer_metadata(), sync, total_time, update_status_progress(), BufferParams::view, and width.
Referenced by BlenderSession(), BlenderSession(), and render_func().
| void BlenderSession::render_frame_finish | ( | ) |
Definition at line 477 of file blender/session.cpp.
References b_render, b_rlay_name, b_rview_name, check_and_report_session_error(), display_driver_, full_buffer_files_, path_remove(), session, 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_rv3d, b_scene, b_userpref, b_v3d, background, create_session(), draw_state_, free_session(), BlenderSync::get_buffer_params(), BlenderSync::get_scene_params(), BlenderSync::get_session_params(), height, lock, PointerRNA_NULL, preview_osl, render_resolution_x(), render_resolution_y(), RNA_boolean_set(), RNA_pointer_get(), scene, session, start_resize_time, sync, use_developer_ui, and width.
Referenced by reset_func().
|
protected |
Definition at line 278 of file blender/session.cpp.
References add_cryptomatte_layer(), b_engine, CRYPT_ASSET, CRYPT_MATERIAL, CRYPT_OBJECT, scene, session, time_human_readable_from_seconds(), to_string(), and total_time.
Referenced by render().
| void BlenderSession::synchronize | ( | BL::Depsgraph & | b_depsgraph | ) |
Definition at line 769 of file blender/session.cpp.
References b_depsgraph, b_engine, b_render, b_rv3d, b_scene, b_userpref, b_v3d, background, 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, python_thread_state, SessionParams::samples, scene, session, start_resize_time, sync, tag_update(), SessionParams::time_limit, use_developer_ui, and width.
Referenced by sync_func().
| void BlenderSession::tag_redraw | ( | ) |
Definition at line 1056 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 1050 of file blender/session.cpp.
References b_engine.
Referenced by synchronize(), and view_draw().
| void BlenderSession::test_cancel | ( | ) |
Definition at line 1075 of file blender/session.cpp.
References b_engine, background, and session.
Referenced by create_session().
| void BlenderSession::update_bake_progress | ( | ) |
Definition at line 973 of file blender/session.cpp.
References b_engine, last_progress, and session.
Referenced by bake().
| void BlenderSession::update_status_progress | ( | ) |
Definition at line 983 of file blender/session.cpp.
References b_engine, background, ceilf, check_and_report_session_error(), float, get_progress(), get_status(), headless, last_progress, last_status, last_status_time, session, status, string_printf(), time_dt(), time_human_readable_from_seconds(), and total_time.
Referenced by render(), tag_redraw(), and view_draw().
| void BlenderSession::view_draw | ( | const int | w, |
| const int | h ) |
Definition at line 892 of file blender/session.cpp.
References b_engine, b_rv3d, b_scene, b_userpref, b_v3d, background, BlenderSync::get_buffer_params(), BlenderSync::get_session_params(), BlenderSync::get_session_pause(), height, reset(), scene, session, start_resize_time, sync, 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 83 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), create_session(), and reset_session().
| BL::Depsgraph BlenderSession::b_depsgraph |
Definition at line 85 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), render(), reset_session(), and synchronize().
| BL::RenderEngine BlenderSession::b_engine |
Definition at line 81 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), 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 84 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), render_frame_finish(), reset_session(), and synchronize().
| string BlenderSession::b_rlay_name |
Definition at line 91 of file blender/session.h.
Referenced by draw(), render(), and render_frame_finish().
| BL::RegionView3D BlenderSession::b_rv3d |
Definition at line 90 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| string BlenderSession::b_rview_name |
Definition at line 92 of file blender/session.h.
Referenced by render(), and render_frame_finish().
| BL::Scene BlenderSession::b_scene |
Definition at line 88 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), ensure_display_driver_if_needed(), render(), reset_session(), synchronize(), and view_draw().
| BL::Preferences BlenderSession::b_userpref |
Definition at line 82 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| BL::SpaceView3D BlenderSession::b_v3d |
Definition at line 89 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| bool BlenderSession::background |
Definition at line 75 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), ensure_display_driver_if_needed(), free_blender_memory_if_possible(), render(), reset_session(), synchronize(), tag_redraw(), test_cancel(), update_status_progress(), and view_draw().
|
protected |
Definition at line 148 of file blender/session.h.
Referenced by bake().
|
static |
Definition at line 110 of file blender/session.h.
Referenced by blender_device_info(), and set_device_override_func().
|
protected |
Definition at line 144 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 146 of file blender/session.h.
Referenced by full_buffer_written(), and render_frame_finish().
|
static |
Definition at line 116 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 99 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), reset_session(), synchronize(), and view_draw().
| string BlenderSession::last_error |
Definition at line 95 of file blender/session.h.
Referenced by check_and_report_session_error(), and create_session().
| int BlenderSession::last_pass_index = -1 |
Definition at line 140 of file blender/session.h.
| double BlenderSession::last_progress |
Definition at line 96 of file blender/session.h.
Referenced by create_session(), update_bake_progress(), and update_status_progress().
| double BlenderSession::last_redraw_time |
Definition at line 79 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), and tag_redraw().
| string BlenderSession::last_status |
Definition at line 94 of file blender/session.h.
Referenced by create_session(), and update_status_progress().
| double BlenderSession::last_status_time |
Definition at line 97 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), and update_status_progress().
| thread_mutex BlenderSession::mutex |
Definition at line 139 of file blender/session.h.
| bool BlenderSession::preview_osl |
Definition at line 100 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), and reset_session().
|
static |
Definition at line 118 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 103 of file blender/session.h.
Referenced by bake(), bake_func(), BlenderSession(), BlenderSession(), render(), render_frame_finish_func(), render_func(), reset_func(), sync_func(), and synchronize().
| Scene* BlenderSession::scene |
Definition at line 77 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), draw(), render(), reset_session(), stamp_view_layer_metadata(), synchronize(), and view_draw().
| unique_ptr<Session> BlenderSession::session |
Definition at line 76 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), 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 101 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), create_session(), reset_session(), synchronize(), and view_draw().
| unique_ptr<BlenderSync> BlenderSession::sync |
Definition at line 78 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), free_session(), render(), render_frame_finish(), reset_session(), synchronize(), and view_draw().
| bool BlenderSession::use_developer_ui |
Definition at line 105 of file blender/session.h.
Referenced by BlenderSession(), BlenderSession(), create_session(), reset_session(), and synchronize().
| int BlenderSession::width |
Definition at line 99 of file blender/session.h.
Referenced by bake(), BlenderSession(), BlenderSession(), create_session(), render(), reset_session(), synchronize(), and view_draw().