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:
authorLukas Stockner <lukas.stockner@freenet.de>2015-11-22 00:14:13 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2015-11-22 02:58:40 +0300
commit5c5df9dc182e4e5a3c6ced7f763a82e8668f8d42 (patch)
tree1338979f8b853df9c731a877a99d7b2972da89db /intern/cycles/render/camera.cpp
parentf547bf2f1013a86dc5a6646707256a174c2a1b47 (diff)
Cycles: Save one transform inversion in the camera sync
Summary: By calculating the Camera-to-Screen-Matrix first, one inversion can be saved in the Camera sync. It won't really improve speed and/or precision, it's mainly a small cleanup. Reviewers: sergey, dingto Subscribers:
Diffstat (limited to 'intern/cycles/render/camera.cpp')
-rw-r--r--intern/cycles/render/camera.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index c59971996bc..33a5c004033 100644
--- a/intern/cycles/render/camera.cpp
+++ b/intern/cycles/render/camera.cpp
@@ -150,7 +150,6 @@ void Camera::update()
Transform bordertofull = transform_inverse(fulltoborder);
/* ndc to raster */
- Transform screentocamera;
Transform ndctoraster = transform_scale(width, height, 1.0f) * bordertofull;
/* raster to screen */
@@ -160,14 +159,15 @@ void Camera::update()
Transform rastertoscreen = transform_inverse(screentoraster);
/* screen to camera */
+ Transform cameratoscreen;
if(type == CAMERA_PERSPECTIVE)
- screentocamera = transform_inverse(transform_perspective(fov, nearclip, farclip));
+ cameratoscreen = transform_perspective(fov, nearclip, farclip);
else if(type == CAMERA_ORTHOGRAPHIC)
- screentocamera = transform_inverse(transform_orthographic(nearclip, farclip));
+ cameratoscreen = transform_orthographic(nearclip, farclip);
else
- screentocamera = transform_identity();
+ cameratoscreen = transform_identity();
- Transform cameratoscreen = transform_inverse(screentocamera);
+ Transform screentocamera = transform_inverse(cameratoscreen);
rastertocamera = screentocamera * rastertoscreen;
cameratoraster = screentoraster * cameratoscreen;