博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Common Techniques to Improve Shadow Depth Maps
阅读量:7247 次
发布时间:2019-06-29

本文共 808 字,大约阅读时间需要 2 分钟。

  hot3.png

dx sdk上的一个文章,比较系统和全面的介绍了shadow map中各种遇到的问题,和解决方案。

 

ftp://download.nvidia.com/developer/presentations/2004/GPU_Jackpot/Shadow_Mapping.pdf

还有nv的一个比较老的,内容很相似。


 

Perspective Aliasing

精度不够的,shadow大锯齿:

解决:cascaded shadow map比较合适。

 

 


 

projective alising

surface和光线平行的时候,锯齿很可怕,这个也是精度问题,和perspective alising一个解决方法。

 

self shadow

类似z fighting的问题,也是精度问题:

单纯图中这个问题depth bias一下就好,但是self shadow问题比这多很多啊,但是bias多了会像下面这样,也很悲剧:

 


 

一些常用解决方案:

  • depth bias:直接看api就好,里面有slope参数。
  • tight projection:

shadow frustum尽可能的不浪费,near,far,left, right可以根据view camera和要render的obj的bounding box来尽可能的缩紧。

但是准确的判定有可能造成精度变化大,影子看起来随着camera的变化也乱变,做出各种情况下都适用的解决方案也挺麻烦和复杂的。

  • 以texel size为单位来移动lighting,这样锯齿保持稳定,不会发生慢慢锯齿蠕动的恶心事情

代码也很直接,用一个floor操作符就好。

 


nv文章里面一再提起的就是在精度不足情况下,几乎任何算法都是有纰漏的。

很多时候问题的解决是“art instead of science”。

原文链接:

转载于:https://my.oschina.net/dtec/blog/44761

你可能感兴趣的文章
PC市场日渐低迷,英特尔如何应对?
查看>>
小邪在阿里的十年技术人生
查看>>
无人机出口新规出台,大疆称未受限制
查看>>
李开复、LeCun、乔丹三位AI大牛谈AI现状与未来
查看>>
Maven常用命令及在Eclipse中的应用
查看>>
Coding in Delphi(前4章翻译版本) (PDF)
查看>>
Delphi inline编译器优化问题
查看>>
TCP/IP体系结构-测试人员必须理解的
查看>>
正则表达式2
查看>>
在ssh项目中导出excel
查看>>
Android adjustresize全屏无效问题
查看>>
外部 Storage Provider - 每天5分钟玩转 Docker 容器技术(149)
查看>>
「深度」VR一体机内容爆发点:视频比游戏来的更早一些
查看>>
一起读经典《C Primer Plus(第6版)中文版》
查看>>
ASP.NET深入浅出系列3- Page类
查看>>
Errcode: 24 - Too many open files
查看>>
通过minicom传送文件的相关配置及使用方法
查看>>
Mac轻量级服务器http-server
查看>>
易维帮助台CEO:谁是企业转型升级的幕后英雄
查看>>
c#获取网络时间并同步本地时间
查看>>