光看是不行,需要自己写运行看效果,那样记得住。因人而异

 

需要理解深度、RGBA,深度缓存,深度测试

像素,不止携带有RGBA信息,还有深度值,模板值等。

深度

由于渲染顺序的问题,远处的物体会被近处的物体,所遮挡。  参考画家算法

物体远近,通过系统自动计算。

远近不是物体直接到摄像机的距离,而是做摄像机朝向 垂线的距离

 

Shader之三大测试——深度测试(一)

那换个角度,摄像机旋转一下,cube坐标没有变动,深度值,只是参考

Shader之三大测试——深度测试(一)

当你看到这个肯定不陌生

Shader之三大测试——深度测试(一)

控制物体深度,与Zwrite  、ZText  关键字有关,Cull控制物体渲染面   后几个文章写。

如果要绘制半透明效果,关闭深度缓冲off

 

Zwrite

  参数 On/Off    开启/关闭深度写入

ZText 

 Greater  GEqual  Equal Less LEqual  NotEqual  Always  Never分别对应

>                 >=       ==      <         <=        !=             总是   从不

像素对比GBuffer中的像素,满足条件则替换。否则舍弃

,物体的像素渲染并不是直接就到屏幕上,需要计算,符合条件则通过测试,最终到屏幕上。

 

Shader之三大测试——深度测试(一)

总结,只有ZWrite打开,ZText通过时,才会写入深度、颜色缓存,

只有ztext通过,zwrite关闭,只会写入颜色缓存

其他情况都是不写入

这是工程源码,我会放在Git上 

 https://github.com/Timor666/ProjectCode

自己多做测试。

 

 

相关文章:

  • 2022-12-23
  • 2021-09-11
  • 2021-10-29
  • 2021-10-12
  • 2021-12-12
  • 2021-06-26
  • 2021-06-07
猜你喜欢
  • 2021-12-06
  • 2021-11-09
  • 2021-11-29
  • 2021-10-20
  • 2021-05-10
  • 2021-08-07
相关资源
相似解决方案