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
path: root/intern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-10-03 01:46:31 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-10-03 10:55:31 +0400
commit527d049c5c2abc73f367814be43059787dfc3121 (patch)
tree152b16f15f51f3255cbe29d4dade34eb379f2827 /intern
parent7dabfb2048958c60afccf353c21eca2f5c08bc4d (diff)
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!
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_camera.cpp2
-rw-r--r--intern/cycles/render/camera.cpp20
-rw-r--r--intern/cycles/render/camera.h7
3 files changed, 9 insertions, 20 deletions
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index 016f6637b3c..ce8c64c4819 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 28b6c994568..110adb4d036 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 3054137309d..788ae7b9bb6 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();