我在XNA中创建实时场景,它仅使用精灵2D(在四边形上渲染,标准精灵贴片上有精灵上的alpha贴图)。我想创建简单的镜头光晕,实际上只有光源周围的遮挡(我不需要方向相机的中心偏移多个精灵镜头光晕等)我唯一需要的是计算从多少像素渲染光源精灵(小星星)并根据它设置镜头光斑精灵的比例(如果精灵没有来自相关精灵的可见像素,则缩放0)。
我知道如何用3D做,我仔细阅读并测试了一些东西: http://my.safaribooksonline.com/book/programming/game-programming/9781849691987/1dot-applying-special-effects/id286698039
我想问一下在2D场景中做什么是最好和最便宜的方法(计算每个像素精度渲染/遮挡多少像素精度或类似的东西)。
我知道模板缓冲区也有帮助,但我不确定如何在这种情况下应用。
答案 0 :(得分:0)
好的,有两种方法可以解决它,或者有点老派的方法,使用模板来计算遮挡像素的数量,并根据它来调整镜头光斑的比例。
其他方式:现代方法,使用屏幕空间镜头光晕,隔离明亮像素(我建议使用HDR渲染管道并使用亮度大于1.0的值来生成镜头光晕,但它取决于场景平均值和最大值)并生成鬼像,如所以:
https://www.youtube.com/watch?v=_A0nKfzbs80&list=UUywPlxpmCZtuqOs6_bZEG9A