[Bf-blender-cvs] [da01766] master: Fix T43672: Cycles preview stalls when out of view
Campbell Barton
noreply at git.blender.org
Thu Mar 5 05:50:54 CET 2015
Commit: da0176614b37315df7aaf6243c80d5c66a7ca4dc
Author: Campbell Barton
Date: Thu Mar 5 15:07:21 2015 +1100
Branches: master
https://developer.blender.org/rBda0176614b37315df7aaf6243c80d5c66a7ca4dc
Fix T43672: Cycles preview stalls when out of view
===================================================================
M intern/cycles/blender/blender_camera.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 16f555c..dee9ee0 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -623,10 +623,12 @@ BufferParams BlenderSync::get_buffer_params(BL::RenderSettings b_render, BL::Sce
if(use_border) {
/* border render */
- params.full_x = (int)(cam->border.left * (float)width);
- params.full_y = (int)(cam->border.bottom * (float)height);
- params.width = (int)(cam->border.right * (float)width) - params.full_x;
- params.height = (int)(cam->border.top * (float)height) - params.full_y;
+ /* the viewport may offset the border outside the view */
+ BoundBox2D border = cam->border.clamp();
+ params.full_x = (int)(border.left * (float)width);
+ params.full_y = (int)(border.bottom * (float)height);
+ params.width = (int)(border.right * (float)width) - params.full_x;
+ params.height = (int)(border.top * (float)height) - params.full_y;
/* survive in case border goes out of view or becomes too small */
params.width = max(params.width, 1);
More information about the Bf-blender-cvs
mailing list