GPUImageTransformFilter实现3D旋转

本文介绍了GPUImage中的GPUImageTransformFilter如何实现3D旋转,通过CATransform3D设置transform3D,例如绕x轴旋转。讨论了不同变换函数的用法,包括平移、缩放和旋转,并提供了示例代码。了解如何通过修改矩阵值或使用手势识别进行交互式变换。
摘要由CSDN通过智能技术生成


GPUImage中的GPUImageTransformFilter,有平面中的仿射变化,通过设置affineTransform实现,3D变化通过设置

transform3D实现,

例如下面代码可实现绕x轴旋转。

CATransform3D  transform = CATransform3DIdentity;

// transform.m34 = 4.5/-2000;

transform  = CATransform3DRotate(transform,angle, 1.0, 0.0, 0.0);

transformFilter.transform3D =transform;



换换函数:

CATransform3DCATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloattz)

tx:X轴偏移位置,往下为正数。

ty:Y轴偏移位置,往右为正数。

tz:Z轴偏移位置,往外为正数。

例:

如果有2个图层,一个是绿色的,一个是红色的。先加载绿色,后加载红色。

tx,ty的左右偏移先不说了。

如果绿色的tz为-10,红色的tz为0效果如下。


如果绿色的tz为0,红色的tz为-10效果如下。


对于tz来说,值越大,那么图层就越往外(接近屏幕),值越小,图层越往里(屏幕里)。

CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx,

CGFloat ty, CGFloat tz);

t:就是上一个函数。其他的都一样。

就可以理解为:函数的叠加,效果的叠加。

CATransform3D CATransform3DMakeScale

(CGFloat sx, CGFloat sy, CGFloat sz);

sx&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值