diff options
Diffstat (limited to 'intern/cycles/blender/blender_session.h')
-rw-r--r-- | intern/cycles/blender/blender_session.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h index b98e3ffed54..d52e0103bbf 100644 --- a/intern/cycles/blender/blender_session.h +++ b/intern/cycles/blender/blender_session.h @@ -29,6 +29,8 @@ CCL_NAMESPACE_BEGIN class Scene; class Session; +class RenderBuffers; +class RenderTile; class BlenderSession { public: @@ -46,7 +48,14 @@ public: /* offline render */ void render(); - void write_render_result(); + + void write_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile); + void write_render_tile(RenderTile& rtile); + + /* update functions are used to update display buffer only after sample was rendered + * only needed for better visual feedback */ + void update_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile); + void update_render_tile(RenderTile& rtile); /* interactive updates */ void synchronize(); @@ -72,13 +81,16 @@ public: BL::Scene b_scene; BL::SpaceView3D b_v3d; BL::RegionView3D b_rv3d; - BL::RenderResult b_rr; - BL::RenderLayer b_rlay; + string b_rlay_name; string last_status; float last_progress; int width, height; + +protected: + void do_write_update_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile, bool do_update_only); + void do_write_update_render_tile(RenderTile& rtile, bool do_update_only); }; CCL_NAMESPACE_END |