好久没有更新,写一篇凑凑数----上帝之光

好久没有更新,写一篇凑凑数----上帝之光
昨天某哥们在说god ray的实现,由于OGRE还不太熟,决定还是先用RenderMonkey实现一下,参考了网上的说法,大概是“直接在像素和太阳的位置上采样,再叠加就搞定了”

知道了大概思路,于是匆匆忙忙实现,结果杯具如下:
好久没有更新,写一篇凑凑数----上帝之光_第1张图片


调了不少时间,调不出来,于是去nv gpu gem3的官网找那个代码,公式照搬,再调一下参数,神器诞生~~
RenderMonkey 实现代码下载 


好久没有更新,写一篇凑凑数----上帝之光_第2张图片
好久没有更新,写一篇凑凑数----上帝之光_第3张图片
好久没有更新,写一篇凑凑数----上帝之光_第4张图片

此外最主要的发现是RenderMonkey里的Camera要加进去,在pass里面引用,这样里面的视锥矩阵才是Camera的矩阵。之前的那个有问题的Parallax Mapping: http://www.cppblog.com/jedi-CY/archive/2009/10/24/99351.html,出现奇怪的现象也是没有加Camera导致的。。。汗。。。。。

另外由于RenderMonkey无法获得ViewPort大小,还有其他各种限制等原因,整整用了5个pass,实际实现时2个pass就够了

你可能感兴趣的:(好久没有更新,写一篇凑凑数----上帝之光)