[Bf-blender-cvs] [5c5df9d] master: Cycles: Save one transform inversion in the camera sync
Lukas Stockner
noreply at git.blender.org
Sun Nov 22 01:04:10 CET 2015
Commit: 5c5df9dc182e4e5a3c6ced7f763a82e8668f8d42
Author: Lukas Stockner
Date: Sat Nov 21 22:14:13 2015 +0100
Branches: master
https://developer.blender.org/rB5c5df9dc182e4e5a3c6ced7f763a82e8668f8d42
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:
===================================================================
M intern/cycles/render/camera.cpp
===================================================================
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index c599719..33a5c00 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;
More information about the Bf-blender-cvs
mailing list