vulkan shader变换--Apple的学习笔记

关于图形变换,之前就做过专题学习过了。再快速复习下正交矩阵及矩阵变换的python实现--Apple的学习笔记
其实主要的变换包括缩放,平移,旋转,衍射。另外二维图形主要都是按坐标旋转,三维图形都是按轴旋转的。关键点需要知道坐标系。然后代码工程显示的照片是相机视角的,所以还需要了解世界坐标/物体坐标/相机坐标/图像坐标的概念及转换。之前学习vslam的时候都学习过了。所以有了这些基础,我就直奔主题

将旋转改为缩放

操作步骤:修改glm中的函数即可。通过查看glm的api,删除原来的rotate,修改为scale即可实现。
ubo.model = glm::scale(glm::mat4(1.0f), time*glm::vec3(0.5, 0.5, 0.5));
//ubo.model = glm::rotate(glm::mat4(1.0f), time * glm::radians(90.0f), glm::vec3(0.0f, 0.0f, 1.0f));

问题

1.我原来想做的是按时间放大,大到5倍后开始缩小,缩小到1倍后在放大到5倍,但是timer时间函数不太会用。后来用time = int(time) % 5;来设置1,2,3,4,5倍放大后重来。
2.怎么显示多张图片?
吃年夜饭了,之后再研究V

显示效果

GIF 2020-1-24 16-12-25.gif

你可能感兴趣的:(vulkan shader变换--Apple的学习笔记)