1.对每个mesh 在脚本里加bias 由美术勾 {a. vertex shader b. depth bias slop depth bias rasterizateState}

2.inverse depth

http://outerra.blogspot.hk/2012/11/maximizing-depth-buffer-range-and.html

https://developer.nvidia.com/content/depth-precision-visualized

还有说什么log的depth

gl_Position.z = 2.0*log(gl_Position.w*C + 1)/log(far*C + 1) - 1;
    gl_Position.z *= gl_Position.w;

or
    gl_Position.z = 2.0*log(gl_Position.w/near)/log(far/near) - 1; 
    gl_Position.z *= gl_Position.w;

3.linear depth

-------------------------------这几天测试了下1-z 就是inverse depth 这个方法

目前看很完美,没有引起 近处的zfighting

我们把projectiong matrix z的部分near far交换

避免在pix shader里修改depth 避免取消earlyz hw

还需要在采样depth的时候用1-z

通过在copy depth出来的时候 统一做一次1-z就能避免在每个使用depth数据的shader里1-z了 目前看比较乐观。测试版没有zfighting了

单独把这个matrix clear 和greater equal-zfun应用于大项目的mainpass 有点困难

---------------

inverse depth 作为最终版本.挨个脚本添加zbias的方法 后期不可控.工作量巨大.

对于inverse depth在近处 观察到了 zfighting: 之前存在的近处模型的zfighting 由于inverse depth得到了解决

但是有glowmask的地方 可能是因为太近的缘故,引起了近处的zfighting  通过对glowmask pass 单独添加bias 得到了解决

最新文章

  1. Atitit数据库层次架构表与知识点 attilax 总结
  2. JavaEE PO VO BO DTO POJO DAO 整理总结
  3. Web开发须知:URL编码与解码
  4. 分享到微信微博空间等第三方平台的JS代码
  5. Oracle 11g客户端在Linux系统上的配置步骤详解
  6. IIS服务器下301跳转是怎么样实现的?
  7. Cross Site Request Forgery (CSRF)--spring security -转
  8. Table Lookup
  9. GPRS DTU概念及DTU的工作原理(转)
  10. 开始更新webpack踩坑笔记
  11. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)
  12. maven安装、配置
  13. TCP的TIME_WAIT状态
  14. Python经典算法片段
  15. Oracle 12c中文乱码,修改字符集的方法
  16. Codeforces Round #495 (Div. 2) B
  17. but was actually of type 'com.sun.proxy.$Proxy101' 注入问题
  18. 学习笔记:python3,代码。小例子习作(2017)
  19. python re 库的使用
  20. java作用域public ,private ,protected 及不写时的区别

热门文章

  1. mongo命令
  2. k8s与CICD--借助scp插件实现非容器项目的部署
  3. 如何利用c++编写不能被继承、但可以在类外定义对象的类
  4. mybatis经验
  5. 使用BootStrap网格布局进行一次演示
  6. BZOJ 1855: [Scoi2010]股票交易(DP+单调队列)
  7. BZOJ 1010: [HNOI2008]玩具装箱toy(DP+斜率优化)
  8. 服务器和客户端Socket单向通信例子
  9. java 后台封装json数据学习总结(二)
  10. 洛谷P3045 [USACO12FEB]牛券Cow Coupons