Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-20 16:25:37 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-20 16:25:37 +0400
commit72d2d05770a721986986c137a5cbc36cb796062f (patch)
treec713c496567433e0b7362c2569f113ed5cb042a7 /intern/cycles/blender/blender_camera.cpp
parent81c635a3bb194931384d9533e02bff7fc09307b0 (diff)
Cycles: border rendering support, includes some refactoring in how pixels are
accessed on devices.
Diffstat (limited to 'intern/cycles/blender/blender_camera.cpp')
-rw-r--r--intern/cycles/blender/blender_camera.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 442a8f62bfd..9777de14b1e 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -287,5 +287,29 @@ void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int
blender_camera_sync(scene->camera, &bcam, width, height);
}
+BufferParams BlenderSync::get_buffer_params(BL::Scene b_scene, BL::RegionView3D b_rv3d, int width, int height)
+{
+ BufferParams params;
+
+ params.full_width = width;
+ params.full_height = height;
+
+ /* border render */
+ BL::RenderSettings r = b_scene.render();
+
+ if(!b_rv3d && r.use_border()) {
+ params.full_x = r.border_min_x()*width;
+ params.full_y = r.border_min_y()*height;
+ params.width = (int)(r.border_max_x()*width) - params.full_x;
+ params.height = (int)(r.border_max_y()*height) - params.full_y;
+ }
+ else {
+ params.width = width;
+ params.height = height;
+ }
+
+ return params;
+}
+
CCL_NAMESPACE_END