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:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-05-17 15:12:29 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-05-18 11:56:57 +0300
commitcbe7f9dd03634a29082f51d05a2b1b71c6fc6aef (patch)
treec078fa28ca7fd0484076e4d7bd0a61924ee7d248 /intern/cycles/render/camera.cpp
parent7b356a856540a1affa5dc85360183418e6337a5a (diff)
Cycles: Pole merging for spherical stereo
The idea of pole merge is to fade interocular distance after a certain altitude to zero when altitude goes closer to a pole. This should prevent annoyances looking up in the sky or down to the bottom. Works for both panorama and perspective cameras when Spherical Stereo is enabled. Reviewers: dfelinto, brecht Reviewed By: brecht Subscribers: sebastian_k Differential Revision: https://developer.blender.org/D1998
Diffstat (limited to 'intern/cycles/render/camera.cpp')
-rw-r--r--intern/cycles/render/camera.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index ad96473e5d2..d992cac5312 100644
--- a/intern/cycles/render/camera.cpp
+++ b/intern/cycles/render/camera.cpp
@@ -76,6 +76,9 @@ Camera::Camera()
stereo_eye = STEREO_NONE;
interocular_distance = 0.065f;
convergence_distance = 30.0f * 0.065f;
+ use_pole_merge = false;
+ pole_merge_angle_from = 60.0f * M_PI_F / 180.0f;
+ pole_merge_angle_to = 75.0f * M_PI_F / 180.0f;
sensorwidth = 0.036f;
sensorheight = 0.024f;
@@ -367,6 +370,14 @@ void Camera::device_update(Device *device, DeviceScene *dscene, Scene *scene)
}
kcam->convergence_distance = convergence_distance;
+ if(use_pole_merge) {
+ kcam->pole_merge_angle_from = pole_merge_angle_from;
+ kcam->pole_merge_angle_to = pole_merge_angle_to;
+ }
+ else {
+ kcam->pole_merge_angle_from = -1.0f;
+ kcam->pole_merge_angle_to = -1.0f;
+ }
/* sensor size */
kcam->sensorwidth = sensorwidth;