SHPRT的一点体会
2006-10-02 13:39
197 查看
放假了,来更新一下 :)
PRT在给我们带来实时全局光照的同时也给我们带来了精度和数据量的问题。
通过DXSDK的例子不难发现,要让阴影有平滑的过度需要大量的顶点,这是利用了显卡帮我们做其中的颜色插值。但实际上对于稍复杂的场景,大量的顶点就意味着no-realtime。虽然逐象素PRT能缓解这方面的问题(nicky的文章有详细的描述),但庞大的数据量始终是令人头痛的。各种压缩的方法有待挖掘。
直接光照:
考虑到预计算的代价,一般给16或25个系数。
近似的算法使得软阴影与生俱来(要获得更硬的影子?对不起...)
同时,利用SH旋转不变的特性,实现动态光照。
预计算的所有时间几乎都用在了shadowray,也就是光线和面求交上了。
一般用octree或kdtree来减少求交的次数就能得到很大程度上的提速。
直接光照 + 间接光照:
在直接光照的基础上,对每个顶点或有效象素的射线方向求得最近相交的面,并累加构成此面三个点的系数。
就可以得到类似辐射度的color bleeding效果。
最后,关于PRT的扩展
虽然SH足以应付Diffuse BRDF,但却无法有效得处理高光
因为一旦碰到更复杂的光照函数时,预计算的时间则会以级数形式增长
所以这个时候wavelet是更好的选择,据说可以把计算时间仍然控制在O(n)
具体可以参考Triple Product Wavelet Integrals for All-Frequency Relighting
相关文章推荐
- 经验交流:关于软件设计的一点心得体会
- 关于条件查询DetachedCriteria的一点体会
- 关于重写,重载,覆盖的一点体会
- 用jacob.jar写word的一点体会
- 项目开发的三个阶段 --- 我的一点体会
- 语义相关app搜索(一)——工作学习中的一点体会
- 对项目管理的一点体会
- 关于学习的一点体会
- segement,extend,tablespace的一点小体会,总是忘记
- 开发的一点体会
- 我学习JSP的一点体会
- Strlen在实际使用中的一点体会
- 生活的一点心得体会!
- 我学习使用java的一点体会(4)
- 关于学习新语言新技术的一点体会
- 使用Prototype的一点心得体会(四)
- JS中的submit()和onsubmit的一点使用体会
- 关于VC数据库开发中数据库连接与效率的问题-----一点体会和经验
- 关于Hibernate一点体会
- 调用EJB的一点体会