【问题标题】:How to get previous position of a mesh如何获取网格的先前位置
【发布时间】:2017-11-09 21:55:58
【问题描述】:

我正在尝试使用three.js 框架编写一个着色器,以在WebGL 中实现motionBlur 效果。 我正在尝试为 WebGL 改编本教程: http://john-chapman-graphics.blogspot.fr/2013/01/per-object-motion-blur.html 并使用 GPUComputeRenderer 获取速度值。

但我对这条线有问题:

Position = uModelViewProjectionMat * gl_Vertex;
vPrevPosition = uPrevModelViewProjectionMat * gl_Vertex;

如何获取或计算 PrevModelViewProjectionMat ?我知道它是 projectionMatrice * modelViewMatrix * vec4(position, 1.0) 但不知道如何获取以前的 projMatrix 或以前的 modelViewMatrix。有人可以帮忙吗?

【问题讨论】:

    标签: javascript three.js glsl


    【解决方案1】:

    除非您修改相机(近、远、视场),否则之前的投影矩阵可能会相同。

    您需要从前一帧计算或保存的前一个模型视图矩阵。然后将其作为制服提供给着色器,并进行转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 2011-05-05
      • 2016-03-06
      相关资源
      最近更新 更多