forked from bartvdbraak/blender
Cycles: Make transform from viewplane a generic utility function
This commit is contained in:
parent
237c53fbf1
commit
e073562f80
@ -409,15 +409,4 @@ BoundBox Camera::viewplane_bounds_get()
|
||||
return bounds;
|
||||
}
|
||||
|
||||
Transform Camera::transform_from_viewplane(BoundBox2D &viewplane)
|
||||
{
|
||||
return
|
||||
transform_scale(1.0f / (viewplane.right - viewplane.left),
|
||||
1.0f / (viewplane.top - viewplane.bottom),
|
||||
1.0f) *
|
||||
transform_translate(-viewplane.left,
|
||||
-viewplane.bottom,
|
||||
0.0f);
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
@ -125,7 +125,6 @@ public:
|
||||
|
||||
BoundBox viewplane_bounds_get();
|
||||
float3 transform_raster_to_world(float raster_x, float raster_y);
|
||||
Transform transform_from_viewplane(BoundBox2D &viewplane);
|
||||
};
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
@ -46,9 +46,11 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "util_math.h"
|
||||
#include "util_transform.h"
|
||||
|
||||
#include "util_boundbox.h"
|
||||
#include "util_math.h"
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
/* Transform Inverse */
|
||||
@ -271,5 +273,15 @@ void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTrans
|
||||
decomp->post_y = post.y;
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
Transform transform_from_viewplane(BoundBox2D& viewplane)
|
||||
{
|
||||
return
|
||||
transform_scale(1.0f / (viewplane.right - viewplane.left),
|
||||
1.0f / (viewplane.top - viewplane.bottom),
|
||||
1.0f) *
|
||||
transform_translate(-viewplane.left,
|
||||
-viewplane.bottom,
|
||||
0.0f);
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
|
@ -449,6 +449,8 @@ ccl_device void transform_motion_interpolate(Transform *tfm, const DecompMotionT
|
||||
|
||||
#ifndef __KERNEL_GPU__
|
||||
|
||||
class BoundBox2D;
|
||||
|
||||
ccl_device_inline bool operator==(const MotionTransform& A, const MotionTransform& B)
|
||||
{
|
||||
return (A.pre == B.pre && A.post == B.post);
|
||||
@ -456,6 +458,7 @@ ccl_device_inline bool operator==(const MotionTransform& A, const MotionTransfor
|
||||
|
||||
float4 transform_to_quat(const Transform& tfm);
|
||||
void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTransform *motion, const Transform *mid);
|
||||
Transform transform_from_viewplane(BoundBox2D& viewplane);
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user