如何使用OpenGL获得景深效果?

时间:2013-05-14 14:04:11

标签: opengl

我想知道如何使用OpenGL实现“景深/混乱圈”效果?

是否有支持它的内置方法或库?

3 个答案:

答案 0 :(得分:3)

您将找不到任何“内置”的OpenGL,它可以为您提供所需内容。您必须通过着色器实现此效果,这非常简单。

这里有一篇关于如何实现这种效果的文章:

Nvidia article on depth of field techniques

答案 1 :(得分:2)

您可以计算不同的DOF近似值。对于简单的近似,您可以尝试将近对象渲染为纹理,将远对象渲染到另一个纹理中。在另一个传递中,您可以模糊保持远处物体图像的纹理,然后将两个纹理组合到单个纹理并将其包裹在屏幕空间rect上。这与实际DOF无关,但在实时图形中通常使用的技巧很少 - 但视觉效果必须令人信服。

答案 2 :(得分:-1)

OpenGL只是用于在GPU上进行图形处理的低级API。你可以渲染三角形,线条,使用离屏渲染,缓冲区,着色器...但是效果实际上是你的角色 - 它是更高级别。

如果你想快速拥有景深,可以尝试使用一些渲染/游戏引擎吗?