嗯嗯......,似乎有好长一段时间没有写东西了. 最近乱七八糟的事情实在太多
终于可以把公告内容换了,看来猪年我要转运了^_^. 最大的感触是选定了自己的路,就一定要坚持下去,只要能忍受寂寞,终会达到自己的目标.
研究了<<ShaderX 5>>中,几篇关于粒子渲染的文章.总的来说,4篇文章都旨在如何提高粒子渲染的效果,而不是控制粒子系统.
<<Spherical Billboards for Rendering Volumetric Data >>解决了普通billboard粒子突然出现和消失的问题.由于billboard只是一个平面,因此,在被物体遮挡,或者被前后裁减平面裁减时,粒子会出现突变效果.本文引入了spherical billboard的概念,渲染时把普通的平面billboard当作球体来计算. 首先在摄像机坐标下,把所有实心物体到摄像机的距离渲染到一张纹理中,接下来, 把billboard放到这个距离的最远端, 根据距离的长短,计算粒子透明度,最终,把它当作球体进行渲染.
使用billboard渲染粒子时,通常直接使用动画序列帧来表现粒子的颜色和光照效果.显然这种做法真实度是相当有限的,<<Per-Pixel Lit, Light Scattering Smoke>>讨论了如何对billboard计算逐像素的光照,详细介绍了云雾,烟等粒子之间的光学效果,包括如何计算billboard的法线,如何处理粒子间的反射,散射.
由于billboard是2D的,因此通常无法很好的表现体积效果.常用的sliced volumetric技术通常无法正确计算光照,而且受到高填充率的限制. <<Volumetric Clouds and Mega Particles>>介绍了一种用少数较大的球体粒子来模拟若干小粒子的方法.与spherical billboard技术相结合,先把大球体的颜色以及深度信息渲染到单独的文理中,后期处理时,先进行高斯模糊,模拟出粒子效果,再依照深度信息,合成到场景中.
最后一篇文章则详细介绍了在ATI最新的demo<<ToyShop>>和<<need for speed>>9,10中渲染雨水的技术.所有雨水效果的渲染同样是基于后期处理的.雨滴是一系列多层的动态灰度图,合成到场景时, 更具菲捏尔效果计算折射和反射.
嗯嗯,等有时间了,把每种技术详细的实现写出来.
GDC2007已经开展好几天了,XNA Developer Center可以下载到ms所有Presentations.其中一半是关于DX10,另一半则是XNA. nVIDIA这几天也宣布了一系列全新的开发工具,包括FX Composer2,SDK 10等等….其中还包括一个相当有用的Shader Library.
Have read the XNA Team Blog? 安静了快两个月XNA开发小组宣布将在四月底发布XNA的第一个升级包(XNA 1.1).从目前的消息来看,ms吸取了大量社区的意见,对类库进行完善. 主要有:
对Vista的完全支持.
修正了大约200个bug.
更加方便的把XNA部署到xbox360中.
对3D音效的支持.
对bitmap font的支持(终于…..T_T)
改进和更加丰富(大约30个新函数)的数学库
BasicEffect现在可以支持逐像素的光照了.
Content Pipeline对Volume Texture的支持.
Content Pipeline编译资源的效率有了提高.
ContentManager添加了ReadAsset方法,允许直接从xnb文家中读取加载数据. 对于需要定制资源管理方式的人来说无疑是个福音.
更加方便的程序打包方式
……………………………
此外, 据小道消息说,以下特效是xna小组正在调查是否添加到新版本( XNA 2.0 ???)中的:
网络支持.
GUI
更便捷的Shader开发环境,包括关键字的高亮, 智能感知等
对视频播放的支持
此外,对于一直抱怨找不到XNA资料的人来说, XNA Creators Club是个找资料的好地方. 和MSDN上的XNA Develop Center相比,要更贴近社区, 更新也快许多. 目前已经提供了大量sample, 包括大家期待已久的骨骼动画, 普通动画, billboard等等.
至于我的XNA Kick Start教程.....,嗯嗯,下周一定更新^o^