shadow map of multi-light(draft)
2005-11-14 00:35
316 查看
简单的shadow map需要两个pass,首先是lightview,然后是cameraview,在cameraview的时候要手工计算lightspace的z值,然后用它跟shadowmap里的值比,从而决定这个pixel是不是在影子里。如果想做softshadow,可以在cameraview的ps里多次采样,不过这里有个问题,可能你花大价钱采出来的值后来被遮挡住了,白算了,所以很多人使用了prez,当然也可以不用,不会有错误出现。
多个光的话就有点麻烦,可能你会努力只用一个cameraview pass——在cameraview中对所有的shadowmap进行采样,综合,然后再做其他的运算…如果是那样,我很欣赏你,但事实是我们很少那样做。我们需要把所有的shadowmap合并成一个cameraview的lightmap,在最终pass的时候关于shadow的部分只用这一个lightmap,我们还有很多其他的事情呢!那么,是不是只用一个pass就可以生成那个lightmap呢?答案是不一定,事实上我也在尝试,如果能放在一起就太好了,万一不能怎么办?其实我现在手里刚拿到的代码就是分开的,而且是,one pass for one light!!这种情况下没有prez是不能忍受的,不仅仅是效率上的问题,还有本质上的——不用的话会产生错误,可以想到我们在多个pass之间对framebuffer是用add来衔接的,所谓的dest + src… 这样问题就很明显了,对于那些被挡住的像素,我们本应该是totally replace的,现在变成add了,没有了prez,很难保证所有被挡住的像素都不会把自己发射的光传到camera里去,除非可以这样——如果z值相等就add,小于就replace,d3d可以这样么?别问我,我是初学者…
如果放在一个pass里就可以放心大胆地把blend关掉,有没有prez无所谓了,能不能实现呢?看我明天的造化吧T_T
多个光的话就有点麻烦,可能你会努力只用一个cameraview pass——在cameraview中对所有的shadowmap进行采样,综合,然后再做其他的运算…如果是那样,我很欣赏你,但事实是我们很少那样做。我们需要把所有的shadowmap合并成一个cameraview的lightmap,在最终pass的时候关于shadow的部分只用这一个lightmap,我们还有很多其他的事情呢!那么,是不是只用一个pass就可以生成那个lightmap呢?答案是不一定,事实上我也在尝试,如果能放在一起就太好了,万一不能怎么办?其实我现在手里刚拿到的代码就是分开的,而且是,one pass for one light!!这种情况下没有prez是不能忍受的,不仅仅是效率上的问题,还有本质上的——不用的话会产生错误,可以想到我们在多个pass之间对framebuffer是用add来衔接的,所谓的dest + src… 这样问题就很明显了,对于那些被挡住的像素,我们本应该是totally replace的,现在变成add了,没有了prez,很难保证所有被挡住的像素都不会把自己发射的光传到camera里去,除非可以这样——如果z值相等就add,小于就replace,d3d可以这样么?别问我,我是初学者…
如果放在一个pass里就可以放心大胆地把blend关掉,有没有prez无所谓了,能不能实现呢?看我明天的造化吧T_T
相关文章推荐
- [gpu pro]shadow map for omnidirectinal light using tetrahedron mapping
- Multisample & ShadowMap & PostProcess冲突解决
- Multisample & ShadowMap & PostProcess冲突解决
- Multisample & ShadowMap & PostProcess冲突解决 .
- 【转】Principles of training multi-layer neural network using backpropagation
- Realms Of Joy - Time Of Light.
- High Definition Map for Autonomous Driving of NVIDIA
- Basic Introduction of Multi-label Learning
- expected number,sequence,or string.map evaluated instead of freemarker.template.smplehash
- [Drupal] Simple tutorial of setting multi subdomain with Domain Access module and Views module
- Cortney Tidwell's Music: Moonlit Laughter, in the Shadow of Emotions
- Performance considerations for keySet() and entrySet() of Map
- One example of STL map
- Cg multitexturing of Earth
- HDU 5318 The Goddess Of The Moon(构造矩阵 )——2015 Multi-University Training Contest 3
- SOS: Autodesk MapGuide Studio - Preview can not display "Feature Label" with Chinese text on the platform of MapGuide Open Source
- Cannot map handler 'algorithmPlatform' to URL path [/execute.do]: There is already handler of type
- ShadowMap & ShadowVolume
- Cbitmap GetBitmapBits Copies the bits of the specified bitmap into the specified buffer http://msdn.microsoft.com/en-US/library/txffs5y2(v=vs.80).aspx
- zoj 1109 Language of FatMouse(map)