VolumeParticle(1)
来源:互联网 发布:hl中走丝系统编程 编辑:程序博客网 时间:2024/06/06 03:00
关于VolumeParticle这个名词比较难以定义,有的号称在sprite的texture里面加入normal信息,光照信息根据方向结果不同也算是volume particle。
在GPU Gems的Volume Rendering Technique里面:
http://http.developer.nvidia.com/GPUGems/gpugems_ch39.html
号称volume tech可以涉及到巨复杂的lighting transport信息,包括光线的emit,absorb,scattering,shadowing。
这个文章:
http://developer.download.nvidia.com/presentations/2009/GDC/NVIDIA_Effects_GDC09.pdf
提到在接下来的game industry将会有什么样的particle效果,会是这样的:
这里面包含了lighting shadowing和scattering。
谈及这个最好从http://http.developer.nvidia.com/GPUGems/gpugems_ch39.html说起,这里面包含了一个比较通用的用于volume渲染的方法。
不只是particle可以用,像light shaft也是可以的。
不考虑效率的话,volume rendering最开始在其他非realtime领域应用的时候是存了很多2d texture,形成了volume texture,这个texture可以存储大量的信息,可以认为是离线存储了raytracing的东西,shadow ,ao,scattering应有尽有。
在realtime化的时候需要对数据大小进行简化,使用过程中就是用比较少的数据的模型来近似。
和monte carlo离散化近似积分比较类似.
首先是有一个预计算的volume texture,
然后使用一堆平行分布的slice来sample volume tex,然后blur(学名是convolution),得出比较近似于准确值的效果。
文中slice应用到framebuffer的方式是alpha blend上去。
简单讲,思想就是用平行的slice来近似模拟连续的volume的概念。
上面是基于precomputed的volume texture然后sample的概念,下面是realtime的做计算,也是把结果用slice来承载,进而达到volume效果。
这种做法在crytek的lightshaft,xbox360也有个sample是lightshaft,就是用多个slice,做渲染,形成lighting volume的效果(其实里面已经包含了shadow信息了)
另外一个是nv那个文章(http://developer.download.nvidia.com/presentations/2009/GDC/NVIDIA_Effects_GDC09.pdf)里的shadowing,计算多个slice上的shadow,然后blend上去就可以。
- VolumeParticle(1)
- VolumeParticle(2)
- 17-1-(1)
- 17-1-(1)
- 17-1-(1)
- 类1(1)
- 1属地(1)
- Java(1-1)
- (1)
- ((void*)-1)
- 求值1-(1/2)+...(-1)^n*(1/m)
- 深入Struts1.1(1)
- Textpro5.1应用(1)
- jbpm5.1介绍(1)
- 1、数据预处理(1)
- jbpm5.1介绍(1)
- jboss eap6.1(1)
- 1-HEVC概览(1)
- 函数模板与名字空间, 编译错误C2440
- how to create list box example
- BI走下神坛 商业分析或成新宠
- 网页图片验证码实验心得
- “/r/n”回车与换行
- VolumeParticle(1)
- how to use the CAknwaitDialog
- 11
- 匈牙利 规范
- isag webservice axis
- 面向 OLTP 应用程序的重要 SQL Server 2005 性能问题
- Introduction
- 网页小 Widget 应用之 extjs.com 特效介绍篇
- 解析KML文件,得到编码折线(以字符串形式表示)