WebGL-旋转

学习完怎么创建一个正方形,以及给正方形顶点色后,之前绘制的方形只是一个静态的图形,为了做出更炫的场景,就得让正方动起来。通过这个例子来学习如何让2D的正方形进行三维旋转和移动。其实现原理主要是在指定的时间内改变X轴Y轴Z轴上的值,然后再重新调用绘制的方法来重绘,使得正方形动起来。

旋转

要想让正方形进行旋转,首先需要设定一个变量squareRotation,来跟踪正方形旋转的情况,由于要将旋转做成可持续的,所以还需要随便改变squareRotation的值,在这里使用requestAnimationFrame来定时更新squareRotation的值,如下所示:

  var then = 0;
  function render(now) {
    now *= 0.001;  // convert to seconds
    const deltaTime = now - then;
    then = now;
    drawScene(gl, programInfo, buffers, deltaTime);
    requestAnimationFrame(render);
  }
  requestAnimationFrame(render);

改变旋转的变量后,通过下面的方法对正方形进行旋转:

mat4.rotate(modelViewMatrix,
      modelViewMatrix,
      this.squareRotation,
      [0, 0, 1]);

个人博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 构成三维模型的基本图形是三角形,所以接下来就从如何绘制一个三角形开始,之后涉及到图形的变换和动画。 1. 图形绘制...
    Patrick浩阅读 806评论 1 1
  • CropView从入门到放弃 本篇我会带你去从零设计一款裁剪旋转的View 2022 年有感 本篇是 2018 年...
    minminaya阅读 5,723评论 2 29
  • 转载自VR设计云课堂[https://www.jianshu.com/u/c7ffdc4b379e]Unity S...
    水月凡阅读 1,087评论 0 0
  • 【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...
    Rtia阅读 6,288评论 1 38
  • 每个人都希望自己能永葆青春,拥有十八岁的容颜,但岁月是把无情的杀猪刀,总是悄悄的在每个人的脸上刻上时间的痕迹,为了...
    f09d942424a4阅读 475评论 0 1