[Bf-blender-cvs] [527d049] master: Cycles: Make camera-in-volume an official feature

Sergey Sharybin noreply at git.blender.org
Fri Oct 3 08:56:17 CEST 2014


Commit: 527d049c5c2abc73f367814be43059787dfc3121
Author: Sergey Sharybin
Date:   Fri Oct 3 03:46:31 2014 +0600
Branches: master
https://developer.blender.org/rB527d049c5c2abc73f367814be43059787dfc3121

Cycles: Make camera-in-volume an official feature

This means it's no longer needed to enable experimental feature set in order to
have proper camera in volume support. And this also means if there's something
wrong going on, or if there's speed regression for cases when camera is obviously
not in the volume -- this issues are to be reported and handled in the regular
matter.

Happy blending!

===================================================================

M	intern/cycles/blender/blender_camera.cpp
M	intern/cycles/render/camera.cpp
M	intern/cycles/render/camera.h

===================================================================

diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 016f663..ce8c64c 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -390,7 +390,6 @@ void BlenderSync::sync_camera(BL::RenderSettings b_render, BL::Object b_override
 	/* sync */
 	Camera *cam = scene->camera;
 	blender_camera_sync(cam, &bcam, width, height);
-	scene->camera->use_camera_in_volume = experimental;
 }
 
 void BlenderSync::sync_camera_motion(BL::Object b_ob, float motion_time)
@@ -555,7 +554,6 @@ void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int
 	blender_camera_border(&bcam, b_scene.render(), b_scene, b_v3d, b_rv3d, width, height);
 
 	blender_camera_sync(scene->camera, &bcam, width, height);
-	scene->camera->use_camera_in_volume = experimental;
 }
 
 BufferParams BlenderSync::get_buffer_params(BL::RenderSettings b_render, BL::Scene b_scene, BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, Camera *cam, int width, int height)
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index 28b6c99..110adb4 100644
--- a/intern/cycles/render/camera.cpp
+++ b/intern/cycles/render/camera.cpp
@@ -276,17 +276,15 @@ void Camera::device_update(Device *device, DeviceScene *dscene, Scene *scene)
 
 	/* Camera in volume. */
 	kcam->is_inside_volume = 0;
-	if(use_camera_in_volume) {
-		BoundBox viewplane_boundbox = viewplane_bounds_get();
-		for(size_t i = 0; i < scene->objects.size(); ++i) {
-			Object *object = scene->objects[i];
-			if(object->mesh->has_volume &&
-			   viewplane_boundbox.intersects(object->bounds))
-			{
-				/* TODO(sergey): Consider adding more grained check. */
-				kcam->is_inside_volume = 1;
-				break;
-			}
+	BoundBox viewplane_boundbox = viewplane_bounds_get();
+	for(size_t i = 0; i < scene->objects.size(); ++i) {
+		Object *object = scene->objects[i];
+		if(object->mesh->has_volume &&
+		   viewplane_boundbox.intersects(object->bounds))
+		{
+			/* TODO(sergey): Consider adding more grained check. */
+			kcam->is_inside_volume = 1;
+			break;
 		}
 	}
 }
diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h
index 3054137..788ae7b 100644
--- a/intern/cycles/render/camera.h
+++ b/intern/cycles/render/camera.h
@@ -102,13 +102,6 @@ public:
 	bool need_device_update;
 	int previous_need_motion;
 
-	/* Camera in volume. */
-	/* TODO(sergey): Get rid of this argument once
-	 * cameras in volume considered fast enough for
-	  * the regular kernel.
-	 */
-	bool use_camera_in_volume;
-
 	/* functions */
 	Camera();
 	~Camera();




More information about the Bf-blender-cvs mailing list