【发布时间】:2013-05-08 08:04:56
【问题描述】:
我正在尝试使用 OpenGL 实现 真实 运动模糊,但没有累积缓冲区(因为它在我的显卡上不起作用)。这是我的实现想法:
- 为每个“模糊”设置一个固定的(临时)空白帧缓冲区和纹理数组
- 每当遇到新帧时,将第一个元素移动到末尾,然后渲染到那个帧缓冲区
- 全部渲染,第一帧的不透明度为 1/n,第二帧的不透明度为 1/(n / 2),依此类推...直到最新的帧为 1 .
还有比这更简单/更快/更优化的方法吗?或者这是最好的解决方案?
【问题讨论】:
-
此算法不会产生任何类型的“真实”运动模糊。
-
@NicolBolas,以什么方式?它不工作吗?如果没有,我怎样才能让它工作?
-
它肯定会“模糊”,它会有“动感”。但它不会像 现实 运动模糊。它只是混合帧,最远的帧淡出。这不是运动模糊在“真实”世界中的实际运作方式。
标签: c++ algorithm opengl motion-blur