http://www.cnblogs.com/cxrs/archive/2013/03/22/DepthOfFeild.html

  1. 什么是景深?

所谓景深,就是当焦距对准某一点时,焦平面前后图像仍然清晰的范围。景深是摄影技术中的术语。它能决定是把背景模糊化来突出拍摄对象,还是拍出清晰的背景。我们经常能够看到拍摄花、昆虫等的照片中,将背景拍得很模糊(称之为小景深)。但是在拍摄纪念照或集体照,风景等的照片一般会把背景拍摄得和拍摄对象一样清晰(称之为大景深)。

2.  为什么要用景深特效?

直接渲染的3D图像并没有景深的效果,不管距离焦距远近都是同样的清晰。为了突出重点,虚化背景,使渲染效果更加真实,我们就有必要模拟摄影中的景深效果。

3.  怎样模拟景深?

DepthOfFeild是后期处理(PostProcess)中的一种,一般分为如下步骤,

1) 利用MRT,分别把整个场景和场景的深度值渲染到纹理上,供景深PostProcess使用。

2) 利用模糊算法,对原场景纹理进行模糊,得到一张模糊后的场景纹理。

3) 根据每个像素和焦平面的距离,利用一定的算法计算出模糊因子,用模糊因子线性插值原场景纹理和第二步得到的模糊后的场景纹理,得到最终结果。

4. 参考资料

    1)D3D SDK自带的Sample: DepthOfField

    2)XNA Shader编程教程20 – 景深

http://shiba.hpe.sh.cn/jiaoyanzu/WULI/showArticle.aspx?articleId=694&classId=4

    3)RenderMonkey自带的example   Examples\Dx9\ Depth of Field.rfx

景深(Depth of Field)的更多相关文章

  1. 基于光线追踪的渲染中景深(Depth of field)效果的实现

    图形学离线渲染中常用的透视摄像机模型时根据小孔成像的原理建立的,其实现通常是从向成像平面上发射ray,并把trace这条ray的结果作为成像平面上对应交点的采样结果.即: 图片来自<Fundam ...

  2. Unity3D图像后处理特效——Depth of Field 3.4

    Depth of Field 3.4 is a common postprocessing effect that simulates the properties of a camera lens. ...

  3. [ZZ] 景深效果(Depth of Field) , Pass1 将场景渲染到一个RenderTarget,做为清晰版, Pass2: BluredRT , Pass3: WDepth = Depth / Far_Z_Clip

    http://blog.csdn.net/xoyojank/article/details/1883520   什么是景深效果? 景深效果,简称DOF,在人眼跟光学摄像设备上很常见.如下图: 简单地来 ...

  4. yebis error ---depth of field

    前几天在墙外无法登陆cnblogs...导致很多blogs就没写了 有几篇比较值得记下来的,但是我已经不记得了,应该和sao有关scalable ambient obscurance 我似乎回忆起一点 ...

  5. Depth of field --Circle of confusion 推导

    https://en.wikipedia.org/wiki/Circle_of_confusion https://developer.download.nvidia.com/books/HTML/g ...

  6. [转]显卡帝揭秘3D游戏画质特效

    显卡帝揭秘3D游戏画质特效 近几年来,大量采用最新技术制作的大型3D游戏让大部分玩家都享受到了前所未有的游戏画质体验,同时在显卡硬件方面的技术革新也日新月异.对于经常玩游戏的玩家来说,可能对游戏画质提 ...

  7. 随便说说 post-processing

    九月份一篇博都没更新,这段时间一直在unity的坑里爬不起来,感觉真的很绝望啊,仿佛对生活都失去了信心. 渲染问题并没有解决,目前方案只是减轻视觉冲突,降低违和感.项目AR产品也做的越来越艰难,开始经 ...

  8. 3D视觉 之 线激光3D相机

    1  3D 视觉 常见的三维视觉技术,包含双目.ToF.激光三角.结构光等,如下图:     1)毫米级 双目.ToF.结构光(散斑)的精度为 mm 级,多见于消费领域,如:导航避障,VR/AR,刷脸 ...

  9. Screen Space Depth Varying Glow based on Heat Diffusion

    Inspired by "Interactive Depth of Field Using Simulated Diffusion on a GPU" with heat diff ...

随机推荐

  1. lua注册函数

    #include <stdio.h> #include <math.h> #define MAX_COLOR 255 extern "C" { #inclu ...

  2. [原创]实现多层DIV叠加的js事件穿透

    Flash里面有个很好的特性是,一个容器里,不存在实际对象的部分,不会阻拦鼠标事件穿透到下一层. 前端就不一样了,两个div层叠以后,上层div会接收到所有事件(即使这个div里面内容是空的,没有任何 ...

  3. wcf读取message内容

    private string MessageToString(ref Message message) { WebContentFormat messageFormat = this.GetMessa ...

  4. JVM指令重排

    指令重排的基本原则: a.程序顺序原则:一个线程内保证语义的串行性 b.volatile规则:volatile变量的写,先发生于读 c.锁规则:解锁(unlock)必然发生在随后的加锁(lock)前 ...

  5. Jquery遍历table并拿到每个单元格里的值

    $('#table_id tr').each(function(i){ alert(i); if(i!=0){ //td内的文本 var v0 = $(this).children('td').eq( ...

  6. centos下安装pip时失败:

    [root@wfm ~]# yum -y install pipLoaded plugins: fastestmirror, refresh-packagekit, securityLoading m ...

  7. ALV 表头 ADD_TEXT

    [转自http://lz357502668.blog.163.com/blog/static/16496743201252891452493/] CALL METHOD valid_reference ...

  8. spring启动quartz定时器

    在很多中经常要用到定时任务,quartz是定时器中比较好用的,在Spring中使用quartz是很容易的事情,首先在spring的applicationContext.xml文件中增加如下配置: &l ...

  9. 保持linux下保持ssh不断线

    用ssh链接服务端,一段时间不操作或屏幕没输出(比如复制文件)的时候,会自动断开,有两种解决办法: 1.在客户端配置 #vi  /etc/ssh/ssh_config(注意不是/etc/ssh/ssh ...

  10. 每天一个Linux命令(22)find命令_命令详解

        find命令的一些常用参数的常用实例和用时的注意事项.     实例:     (1)-name参数: 1)[sunjimeng@localhost home]$ find ~ -name & ...