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;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to