[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