diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-03 01:46:31 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-03 10:55:31 +0400 |
commit | 527d049c5c2abc73f367814be43059787dfc3121 (patch) | |
tree | 152b16f15f51f3255cbe29d4dade34eb379f2827 /intern | |
parent | 7dabfb2048958c60afccf353c21eca2f5c08bc4d (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.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/render/camera.cpp | 20 | ||||
-rw-r--r-- | intern/cycles/render/camera.h | 7 |
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(); |