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;
|
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
|
CCL_NAMESPACE_END
|
||||||
|
@ -125,7 +125,6 @@ public:
|
|||||||
|
|
||||||
BoundBox viewplane_bounds_get();
|
BoundBox viewplane_bounds_get();
|
||||||
float3 transform_raster_to_world(float raster_x, float raster_y);
|
float3 transform_raster_to_world(float raster_x, float raster_y);
|
||||||
Transform transform_from_viewplane(BoundBox2D &viewplane);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
CCL_NAMESPACE_END
|
CCL_NAMESPACE_END
|
||||||
|
@ -46,9 +46,11 @@
|
|||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "util_math.h"
|
|
||||||
#include "util_transform.h"
|
#include "util_transform.h"
|
||||||
|
|
||||||
|
#include "util_boundbox.h"
|
||||||
|
#include "util_math.h"
|
||||||
|
|
||||||
CCL_NAMESPACE_BEGIN
|
CCL_NAMESPACE_BEGIN
|
||||||
|
|
||||||
/* Transform Inverse */
|
/* Transform Inverse */
|
||||||
@ -271,5 +273,15 @@ void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTrans
|
|||||||
decomp->post_y = post.y;
|
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__
|
#ifndef __KERNEL_GPU__
|
||||||
|
|
||||||
|
class BoundBox2D;
|
||||||
|
|
||||||
ccl_device_inline bool operator==(const MotionTransform& A, const MotionTransform& B)
|
ccl_device_inline bool operator==(const MotionTransform& A, const MotionTransform& B)
|
||||||
{
|
{
|
||||||
return (A.pre == B.pre && A.post == B.post);
|
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);
|
float4 transform_to_quat(const Transform& tfm);
|
||||||
void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTransform *motion, const Transform *mid);
|
void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTransform *motion, const Transform *mid);
|
||||||
|
Transform transform_from_viewplane(BoundBox2D& viewplane);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user