景深如何实现?


10

我知道景深涉及模糊。

在问题如何实现高斯模糊中,有一些有关如何进行高斯模糊的重要信息

但是,除此之外,如何实现景深?

关于如何使每个像素模糊的规则是什么,以及当一个像素不想模糊太多时,如何处理这种情况呢?

我也听说过“混乱的圈子”,但不知道那是什么。

谁能用一种简单易懂的方式解释自由度?

Answers:


20

景深是相机镜头设置的特征,尽管通常使用名称“景深”来描述由这种特征引起的效果。

相机镜头只能完美地聚焦在一个点上,但在一定距离下图像仍会显得清晰。这样的距离实际上就是景深。该距离是可变的,取决于各种因素,但是为了简洁起见,我们可以说,最简单的调整方法是更改​​相机的光圈。

在此处输入图片说明

至于混乱的圈子,从维基百科看一张图片会很有帮助:

在此处输入图片说明

在这三种情况下,单个点都“投影”到了我们的图像平面上,但是正如您所看到的,它与镜头的距离不同。

基本上是因为,正如我所说,并非所有事物都完全聚焦(也就是说,焦点位于图像平面上),因此可以将一个点投影到我们的图像平面上而不是单个点,而是投影到一个区域。从图片中可以明显看出,这是因为焦点位于图像平面之前或之后。在图像平面上创建的这个“圆”就是所谓的混乱圆。

现在,应该很清楚地知道,改变景深会改变CoC大小,因此可以将其用作DoF本身的度量,并且在考虑模糊时可以用作直观的度量。

根据渲染中的实现方式,实际上有很多方法。通常在游戏中是作为后期处理使用深度信息将场景划分为不同的“平面”;例如,不需要模糊的聚焦平面,需要模糊的近平面和远/背景平面。一旦对飞机进行了模糊处理,就可以将它们重新组合在一起以获得最终图像。您使各种平面模糊多少取决于您要实现的效果。先进的系统通常使用来自摄影界的适当参数(例如光圈)来实现此效果和其他“镜头”效果。

请注意,有多种方法可以实现效果,我所描述的只是一种具有变化的方法(例如,以较低的分辨率执行整个操作)。该限制取决于您的目标是什么以及为此效果预算的预算。您可以从采用极低分辨率的“ 3平面”方法到计算每个像素的混淆圆,然后将随即出现的模糊应用于该像素。


编辑:@NathanReed的评论需要更多的证据作为答案的一部分:

Matt Pettineo的博客文章How to Fake Bokeh and Bokeh II:The Sequel是有关如何实际实现后处理DoF并解决从中获得的典型工件的出色介绍。


1
一种便宜的方法是在最终场景中使用高斯模糊并存储其中两个。一个用于前景,一个用于背景。它们可以具有相同或不同的模糊度,这取决于您。结束模糊后,只需从深度0拖入某个确定的(可调整的)深度(例如0.10)即可。您正在学习的是从模糊的场景到完美对焦的场景。对于背景模糊,您可以简单地执行相同的操作,只是要从完美的对焦模糊到模糊的图像。在中间留出一些空间以在焦点区域中完美创建。
ChaoSXDemon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.