太傻
szlongman@hotmail.com 江山笑 烟雨遥 涛浪淘尽红尘俗事几多骄
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
::
39 随笔 :: 0 文章 :: 292 评论 :: 0 引用
Rendering of Translucent Object With PRT(原创)
半透明物体(Translucent materials)在我们周围随处可见。大理石、玉器、皮肤、牛奶等等就属于这一类。半透明物体的绘制必须考虑到次表
面散射(subsurface scattering),表面的入射光线除了反射以外,还有大量光线经入射点进入物体,在物体内部传输的过程中不断被吸收,不
断被散射,最后在入射点附近穿出(BSSRDF)。
DIRECTX SDK中早在2004年便把subsurface scattering包含进了PRT的API中。DIRECTX SDK的例子中一直有一个PRT DEMO的例子,也展示
了subsurface scattering的效果,我当时对着几个参数捣鼓了好一阵,出来的半透明效果平淡无奇,一点也没有国外论文中所附样图的风采。
是不是我用的模型面数太少啊?是不是PRT中带的SSS技术不适用半透明物体啊?是不是还有什么未知的东西啊?
带着这些疑问过了好几年。期间,曾经在MSN上碰到这方面的一个专家,来想问他些问题,但是又不好意思说,怕打扰了他的工作,只是向
他讨要了他的博士论文(可惜后来在电脑中丢了)。
2008年初,我写EMAIL给了曾在微软研究院做过实习生的赵爽(上海交大的学生,我查到了他的主页,上面有EAMIL,SIGGRAPH 2008有一篇
论文,他是第二作者),向他讨教了几个问题。赵爽真是很“爽快”,第二天就给我回了信,谈了几点他自己的看法:“PRT 简单地说,是利用
光源输入和物体的亮度具有线性关系(也就是说,光源亮度提高1倍,那么物体亮度也提高1倍)这一性质,预先以一些特定的基函数为光源,
计算物体的appearance。然后对于任意光源,通过投影到该基函数上,并将预先计算好的 apperance 相加,即可得到物体在当前光源下的
appearance。因此 PRT 是可以应用在半透明材质的渲染上的。至于你说的按 vertex 计算这一问题,的确这是 PRT框架的一个一般性问题,和
是否是半透明材料无关。相反,对于很多半透明材料,尤其是 homogeneous 的材料,它们的 appearance相对比较低频,vertex 采样率反而可
以低一点。至于微软 SDK 里面的渲染效果,其实我并不清楚微软 SDK 里面是如何渲染半透明物体的”。由此可见,模型面数少一些对半透明
效果的影响并不大,也不是决定性因素。
后来,我看到了清华博士生徐昆(他也在微软研究院做过实习生,我发现做半透明物体这方面论文的都在那儿做过Research Intern。与
英雄呆在一起,不知不觉也会变成英雄,不知道这样的比喻恰不恰当。)在EUROGRAPHICS2007上发表的论文“Real-time homogenous
translucent material editing”,这篇论文讲了可变半透明物体材质的实时绘制,还带了一段非常棒的DEMO VIDEO。这文章又燃起了我熄灭
好久的探寻半透明物体绘制奥秘的希望。特别是其中一句话提醒了我为什么DIRECTX SDK中的PRT DEMO的半透明物体效果比较差劲。“Since
human perceives glossy surfaces more translucent than surfaces without glossy, for increased realism, we add a specular
component to the final rendering. ”也就是说,人眼看有光泽的物体表面更能感受到半透明质地,所以加上高光,半透明的真实感更能体
现出来。嗯,找到了问题的关键。
我在DIRECTX SDK的PRT DEMO上做了个小修改,增加了几个点光源的Specular Lighting。引入些许高光,渲染的图像立刻与以往不同了,效果出奇的好。请看如下图片。材质使用的是预定义的MARBLE。原想把程序传上来,可是目前我无FTP可用,BLOG中以往的连接都失效了,如有哪位网友能提供我BLOG用的FTP,不胜感谢。
posted on 2008-05-29 21:55
太傻
阅读(970)
评论(13)
编辑
收藏
网摘
所属分类:
图形学
评论
#1楼
2008-06-01 10:30
hmcen [未注册用户]
效果非常不错
回复
引用
#2楼
2008-06-02 09:58
libz [未注册用户]
写的太好了,学习ing....
回复
引用
#3楼
2008-06-02 15:47
哈哈哈 [未注册用户]
谢楼主,能给我一份源程序清单吗?
再谢博主,能让我们有这样一个交流的园地!
回复
引用
#4楼
2008-06-02 15:48
哈哈哈 [未注册用户]
谢楼主,能给我一份源程序清单吗?Email:cainiao220@126.com
再谢博主,能让我们有这样一个交流的园地!
回复
引用
#5楼
2008-06-02 16:44
wohoa [未注册用户]
赫赫,楼主沉寂的快一年了,终于出来冒个泡了,赫赫
回复
引用
#6楼
2008-06-05 15:12
leyisoft [未注册用户]
太不错了,能给我一份源码吗,谢谢
leyisoft@126.com
回复
引用
#7楼
2008-06-07 10:57
怀沙
弄点好看的材质效果会更棒,呵呵。
回复
引用
查看
#8楼
2008-06-30 16:58
李林昆
有一定道理,对透明度低的次表面散射是这样
但透明度高的呢?
回复
引用
查看
#9楼
2008-07-05 17:12
龙巢NET刀
希望博主不要公布源代码, 即使公布也最好只公布计算细节的代码,
而不要公布完整的源代码。
另外博主公布钓鱼的方法,即原理的细节更好。
而源代码相当于你专有的东西,既然都知道原理了,那么就需要我们读者本身
努力。
如果谈上交流,索要源代码就相当于要饭,而读者缺并为给博主提供什么帮助。
也就是交流只是单向的,很多人一向是要完代码当作自己的毕业设计,或作他用,根本没有深入到其本质。
回复
引用
查看
#10楼
2008-07-25 22:54
NO6 [未注册用户]
效果相当不错,后边高频的亮点是哪里来得?
回复
引用
#11楼
2008-07-31 09:20
yuanhong
效果挺不错的。你提到的高光会增强效果,确实有道理,SDK里面应该是用的SH基函数,对于低频光比较合适。不知试试HDR的图片作为环境光效果是否更好。
回复
引用
查看
#12楼
2008-09-15 22:43
maolimin [未注册用户]
博主太厉害了~~~~
我是这方面的初学者,能不能给我一份源程序清单让我参考下啊?先谢谢了
Email:miao256@126.com
回复
引用
#13楼
2008-10-03 23:30
huanhuanzhf [未注册用户]
博主做的真不错,我是初学者,博主能否再谈些细节原理的东西,或者您这里有什么次表面散射的资料可以分享,太谢谢了。
Email:huanhuanzhf@163.com
回复
引用
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-06-01 15:04 编辑过
Google站内搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
相关文章:
相关链接:
所属分类的其他文章:
Rendering of Translucent Object With PRT(原创)
siggraph 2007 course notes(online)
3d fire(CPU版)
3d smoke(CPU版)
古画与Image Quilting
WWW.GAMEDEV.NET的每日一图
“Target-Driven Smoke Animation”的GPU实现 (updated 2006.05.02 改进了DEMO,可以在NVIDIA显卡上运行了)
烟的绘制(smoke rendering) 2006.03.14更新[ 增加新DEMO 使用Vectorized Jacobi 方法, 速度可提高60%]
GPU为什么跑得快?
过程纹理(Procedural Texture) [2005-11-20 update]
最新IT新闻:
Silverlight 2 SDK中文版发布
[译稿]微软将 jQuery IntelliSense整合到Visual Studio
微软:不裁员也不削减研发开支
2008年11月22日科技博客精选
诺基亚将支持Lotus Notes 和黑莓争夺市场
<
2008年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
公告
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(27)
给我留言
查看留言
我参与的团队
计算机图形学(1/408)
随笔分类
(39)
人工智能(2)
(rss)
图形学(35)
(rss)
杂谈(2)
(rss)
随笔档案
(39)
2008年5月 (1)
2007年8月 (1)
2007年2月 (1)
2007年1月 (1)
2006年10月 (1)
2006年5月 (1)
2006年3月 (1)
2006年1月 (1)
2005年12月 (1)
2005年11月 (1)
2005年8月 (2)
2005年6月 (1)
2005年4月 (1)
2005年3月 (1)
2005年2月 (1)
2005年1月 (1)
2004年12月 (22)
友 情 链 接
博客园计算机图形学团队
厚积薄发 antsam
胡说八道 sevecol
科技引导时尚-数字娱乐
积分与排名
积分 - 66149
排名 - 708
最新评论
1. re: Simulating Ocean Water (2) (2005-03-31 update)
能否传给我你的源代码 谢谢 piiwu2002@gmail.com
--Chanitr
2. re: Simulating Ocean Water
可以也寄给我一份吗? 谢谢 piiwu2002@gmail.com
--Chanitr
3. re: fluid simulation
请问楼主是否有 Heating and melting deformable models (From goop to glop) 这篇文章电子版,请发给我的邮箱,感激不尽!! Email: hen...
--henry_331166
4. re: Simulating Ocean Water
可以也寄给我一份,
想研究一下这块,觉得挺有奥妙的
谢谢啦
lhchry@163.com
--cherrylin
5. 求助
最近老板让我用java做一个人工鱼动画的模拟仿真实验,我一点头绪都没有啊,帮帮我吧
--王敬之
6. re: Rendering of Translucent Object With PRT(原创)
博主做的真不错,我是初学者,博主能否再谈些细节原理的东西,或者您这里有什么次表面散射的资料可以分享,太谢谢了。
Email:huanhuanzhf@163.com
--huanhuanzhf
7. re: 烟的绘制(smoke rendering) 2006.03.14更新[ 增加新DEMO 使用Vectorized Jacobi 方法, 速度可提高60%]
无法下载,能否请楼主发一份给我
e-mail: anthonyhenry1986@hotmail.com
--Anthony chen
阅读排行榜
1. 关于计算机图形学的学习 原创 FatGarfield(8100)
2. SIGGRAPH 2005 papers 里的中国人(4956)
3. Simulating Ocean Water(4111)
4. 人工鱼(Artificial Fishes)(3869)
5. 看GPU Gems 2目录想到的.....(3562)
6. Simulating Ocean Water (2) (2005-03-31 update) (3290)
7. siggraph 2007 course notes(online)(2941)
8. fluid simulation (2445)
9. 偌大一个中国,却无书可读 szlongman原创(2216)
10. 烟的绘制(smoke rendering) 2006.03.14更新[ 增加新DEMO 使用Vectorized Jacobi 方法, 速度可提高60%](2200)
11. 古画与Image Quilting(1717)
12. 过程纹理(Procedural Texture) [2005-11-20 update](1633)
13. GPU为什么跑得快?(1545)
14. SIGGRAPH,图形学研究人员的圣地(1475)
15. 想成立一个GPU实时渲染的交流网(1442)
评论排行榜
1. Simulating Ocean Water(42)
2. 关于计算机图形学的学习 原创 FatGarfield(26)
3. Simulating Ocean Water (2) (2005-03-31 update) (23)
4. “Target-Driven Smoke Animation”的GPU实现 (updated 2006.05.02 改进了DEMO,可以在NVIDIA显卡上运行了)(21)
5. 3d fire(CPU版)(20)
6. 古画与Image Quilting(17)
7. 3d smoke(CPU版)(17)
8. Rendering of Translucent Object With PRT(原创)(13)
9. siggraph 2007 course notes(online)(10)
10. 看GPU Gems 2目录想到的.....(10)
11. 偌大一个中国,却无书可读 szlongman原创(10)
12. SIGGRAPH 2005 papers 里的中国人(10)
13. 想成立一个GPU实时渲染的交流网(10)
14. 人工鱼(Artificial Fishes)(9)
15. 烟的绘制(smoke rendering) 2006.03.14更新[ 增加新DEMO 使用Vectorized Jacobi 方法, 速度可提高60%](9)
Powered by:
博客园
Copyright © 太傻