Blender  V2.93
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
BlenderSession Class Reference

#include <blender_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 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 write_render_result (BL::RenderLayer &b_rlay, RenderTile &rtile)
 
void write_render_tile (RenderTile &rtile)
 
void read_render_tile (RenderTile &rtile)
 
void update_render_result (BL::RenderLayer &b_rlay, RenderTile &rtile)
 
void update_render_tile (RenderTile &rtile, bool highlight)
 
void synchronize (BL::Depsgraph &b_depsgraph)
 
bool draw (int w, int h)
 
void tag_redraw ()
 
void tag_update ()
 
void get_status (string &status, string &substatus)
 
void get_kernel_status (string &kernel_status)
 
void get_progress (float &progress, double &total_time, double &render_time)
 
void test_cancel ()
 
void update_status_progress ()
 
void update_bake_progress ()
 

Public Attributes

bool background
 
Sessionsession
 
Scenescene
 
BlenderSyncsync
 
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
 
float last_progress
 
double last_status_time
 
int width
 
int height
 
bool preview_osl
 
double start_resize_time
 
void * python_thread_state
 

Static Public Attributes

static DeviceTypeMask device_override = DEVICE_MASK_ALL
 
static bool headless = false
 
static int num_resumable_chunks = 0
 
static int current_resumable_chunk = 0
 
static int start_resumable_chunk = 0
 
static int end_resumable_chunk = 0
 
static bool print_render_stats = false
 

Protected Member Functions

void stamp_view_layer_metadata (Scene *scene, const string &view_layer_name)
 
void do_write_update_render_result (BL::RenderLayer &b_rlay, RenderTile &rtile, bool do_update_only)
 
void do_write_update_render_tile (RenderTile &rtile, bool do_update_only, bool do_read_only, bool highlight)
 
void builtin_images_load ()
 
void update_resumable_tile_manager (int num_samples)
 
void free_blender_memory_if_possible ()
 

Detailed Description

Definition at line 39 of file blender_session.h.

Constructor & Destructor Documentation

◆ BlenderSession() [1/2]

BlenderSession::BlenderSession ( BL::RenderEngine b_engine,
BL::Preferences &  b_userpref,
BL::BlendData &  b_data,
bool  preview_osl 
)

Definition at line 58 of file blender_session.cpp.

References background, last_redraw_time, last_status_time, and start_resize_time.

◆ BlenderSession() [2/2]

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 85 of file blender_session.cpp.

References background, last_redraw_time, last_status_time, and start_resize_time.

◆ ~BlenderSession()

BlenderSession::~BlenderSession ( )

Definition at line 115 of file blender_session.cpp.

References free_session().

Member Function Documentation

◆ bake()

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 
)

◆ builtin_images_load()

void BlenderSession::builtin_images_load ( )
protected

◆ create_session()

void BlenderSession::create_session ( )

◆ do_write_update_render_result()

void BlenderSession::do_write_update_render_result ( BL::RenderLayer b_rlay,
RenderTile rtile,
bool  do_update_only 
)
protected

◆ do_write_update_render_tile()

void BlenderSession::do_write_update_render_tile ( RenderTile rtile,
bool  do_update_only,
bool  do_read_only,
bool  highlight 
)
protected

◆ draw()

bool BlenderSession::draw ( int  w,
int  h 
)

◆ free_blender_memory_if_possible()

void BlenderSession::free_blender_memory_if_possible ( )
protected

Definition at line 1109 of file blender_session.cpp.

References b_engine, and background.

Referenced by render().

◆ free_session()

void BlenderSession::free_session ( )

Definition at line 260 of file blender_session.cpp.

References Session::cancel(), session, and sync.

Referenced by reset_session(), synchronize(), and ~BlenderSession().

◆ get_kernel_status()

void BlenderSession::get_kernel_status ( string &  kernel_status)

Definition at line 935 of file blender_session.cpp.

References Progress::get_kernel_status(), Session::progress, and session.

Referenced by update_status_progress().

◆ get_progress()

void BlenderSession::get_progress ( float progress,
double total_time,
double render_time 
)

◆ get_status()

void BlenderSession::get_status ( string &  status,
string &  substatus 
)

Definition at line 930 of file blender_session.cpp.

References Progress::get_status(), Session::progress, and session.

Referenced by update_status_progress().

◆ read_render_tile()

void BlenderSession::read_render_tile ( RenderTile rtile)

Definition at line 391 of file blender_session.cpp.

References do_write_update_render_tile().

Referenced by bake().

◆ render()

void BlenderSession::render ( BL::Depsgraph b_depsgraph)

◆ reset_session()

void BlenderSession::reset_session ( BL::BlendData &  b_data,
BL::Depsgraph b_depsgraph 
)

◆ stamp_view_layer_metadata()

void BlenderSession::stamp_view_layer_metadata ( Scene scene,
const string &  view_layer_name 
)
protected

◆ synchronize()

void BlenderSession::synchronize ( BL::Depsgraph b_depsgraph)

◆ tag_redraw()

void BlenderSession::tag_redraw ( )

Definition at line 1032 of file blender_session.cpp.

References b_engine, background, last_redraw_time, time_dt(), and update_status_progress().

Referenced by create_session(), and draw().

◆ tag_update()

void BlenderSession::tag_update ( )

Definition at line 1026 of file blender_session.cpp.

References b_engine.

Referenced by draw(), and synchronize().

◆ test_cancel()

void BlenderSession::test_cancel ( )

Definition at line 1051 of file blender_session.cpp.

References b_engine, background, Session::progress, session, and Progress::set_cancel().

Referenced by create_session().

◆ update_bake_progress()

void BlenderSession::update_bake_progress ( )

Definition at line 946 of file blender_session.cpp.

References b_engine, Progress::get_progress(), last_progress, Session::progress, and session.

Referenced by bake().

◆ update_render_result()

void BlenderSession::update_render_result ( BL::RenderLayer b_rlay,
RenderTile rtile 
)

Definition at line 763 of file blender_session.cpp.

References do_write_update_render_result().

Referenced by do_write_update_render_tile().

◆ update_render_tile()

void BlenderSession::update_render_tile ( RenderTile rtile,
bool  highlight 
)

Definition at line 401 of file blender_session.cpp.

References b_engine, and do_write_update_render_tile().

Referenced by render().

◆ update_resumable_tile_manager()

void BlenderSession::update_resumable_tile_manager ( int  num_samples)
protected

◆ update_status_progress()

void BlenderSession::update_status_progress ( )

◆ write_render_result()

void BlenderSession::write_render_result ( BL::RenderLayer b_rlay,
RenderTile rtile 
)

Definition at line 758 of file blender_session.cpp.

References do_write_update_render_result().

Referenced by do_write_update_render_tile().

◆ write_render_tile()

void BlenderSession::write_render_tile ( RenderTile rtile)

Definition at line 396 of file blender_session.cpp.

References do_write_update_render_tile().

Referenced by bake(), and render().

Member Data Documentation

◆ b_data

BL::BlendData BlenderSession::b_data

Definition at line 103 of file blender_session.h.

Referenced by create_session(), and reset_session().

◆ b_depsgraph

BL::Depsgraph BlenderSession::b_depsgraph

Definition at line 105 of file blender_session.h.

Referenced by bake(), render(), reset_session(), and synchronize().

◆ b_engine

BL::RenderEngine BlenderSession::b_engine

◆ b_render

BL::RenderSettings BlenderSession::b_render

Definition at line 104 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().

◆ b_rlay_name

string BlenderSession::b_rlay_name

Definition at line 112 of file blender_session.h.

Referenced by do_write_update_render_tile(), render(), and update_status_progress().

◆ b_rv3d

BL::RegionView3D BlenderSession::b_rv3d

Definition at line 111 of file blender_session.h.

Referenced by create_session(), draw(), render(), and synchronize().

◆ b_rview_name

string BlenderSession::b_rview_name

◆ b_scene

BL::Scene BlenderSession::b_scene

Definition at line 109 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().

◆ b_userpref

BL::Preferences BlenderSession::b_userpref

Definition at line 102 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().

◆ b_v3d

BL::SpaceView3D BlenderSession::b_v3d

Definition at line 110 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().

◆ background

bool BlenderSession::background

◆ current_resumable_chunk

int BlenderSession::current_resumable_chunk = 0
static

◆ device_override

CCL_NAMESPACE_BEGIN DeviceTypeMask BlenderSession::device_override = DEVICE_MASK_ALL
static

Definition at line 129 of file blender_session.h.

Referenced by blender_device_info(), and set_device_override_func().

◆ end_resumable_chunk

int BlenderSession::end_resumable_chunk = 0
static

◆ headless

bool BlenderSession::headless = false
static

◆ height

int BlenderSession::height

Definition at line 120 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().

◆ last_error

string BlenderSession::last_error

Definition at line 116 of file blender_session.h.

Referenced by create_session(), and update_status_progress().

◆ last_progress

float BlenderSession::last_progress

Definition at line 117 of file blender_session.h.

Referenced by create_session(), update_bake_progress(), and update_status_progress().

◆ last_redraw_time

double BlenderSession::last_redraw_time

Definition at line 99 of file blender_session.h.

Referenced by BlenderSession(), and tag_redraw().

◆ last_status

string BlenderSession::last_status

Definition at line 115 of file blender_session.h.

Referenced by create_session(), and update_status_progress().

◆ last_status_time

double BlenderSession::last_status_time

Definition at line 118 of file blender_session.h.

Referenced by BlenderSession(), and update_status_progress().

◆ num_resumable_chunks

int BlenderSession::num_resumable_chunks = 0
static

◆ preview_osl

bool BlenderSession::preview_osl

Definition at line 121 of file blender_session.h.

Referenced by reset_session().

◆ print_render_stats

bool BlenderSession::print_render_stats = false
static

◆ python_thread_state

void* BlenderSession::python_thread_state

Definition at line 124 of file blender_session.h.

Referenced by bake(), bake_func(), render(), render_func(), reset_func(), sync_func(), and synchronize().

◆ scene

Scene* BlenderSession::scene

◆ session

Session* BlenderSession::session

◆ start_resize_time

double BlenderSession::start_resize_time

Definition at line 122 of file blender_session.h.

Referenced by BlenderSession(), create_session(), draw(), reset_session(), and synchronize().

◆ start_resumable_chunk

int BlenderSession::start_resumable_chunk = 0
static

◆ sync

BlenderSync* BlenderSession::sync

◆ width

int BlenderSession::width

Definition at line 120 of file blender_session.h.

Referenced by bake(), create_session(), draw(), render(), reset_session(), and synchronize().


The documentation for this class was generated from the following files: