平移
平移一个三角形,你需要对顶点坐标的每个分量(x和y),加上三角形在对应轴(如X轴或Y轴)上平移的距离。比如,将点p(x, y, z)平移到p’(x’, y’, z’),在X轴、Y轴、Z轴三个方向上平移的距离分别为Tx,Ty,Tz,其中Tz为0,如下图所示。
那么在坐标的对应分量上,直接加上这些T值,就可以确定p’的坐标了,如下所示。
x’= x +Tx
y’ = y + Ty
z’=z+Tz
我们只需要着色器中为顶点坐标的每个分量加上一个常量就可以实现上面的等式。显然,这是一个逐顶点操作,上述修改应当发生在顶点着色器,而不是片元着色器中。
修改代码时,将平移距离Tx、Ty、Tz的值传入顶点着色器,然后分别加在顶点坐标的对应分量上,再赋值给gl_Position。下面看看修改后的示例程序。
旋转
webgl_图形变换(旋转,平移,缩放)
最新推荐文章于 2024-03-09 19:09:48 发布