SRP-15-Particles


SV_POSITION

  • 在 Vertex 阶段是裁剪空间的坐标

  • 在 Fragment 阶段是进行变换后的坐标。

    • 其xy是屏幕的坐标纹素,如果屏幕大小是 1920 * 1080。那么X的范围就是【0,1920】、Y就是【0,1080】

      • 其w是观察空间(view-space)的深度值,这个深度值用于透视除法,这个深度是到相机XY平面的距离,不是到 near plane 的距离

        image-20221222183556675

        image-20221222183603720

      • 在正交相机中,这个值永远等于1

        • 由于没有透视除法 w 的值永远等于1

        • SV_POSITION 的 z 值就是真正写入到深度图中的值,范围是【0,1】,而且在正交相机中是线性的

        • 获取观察空间中的深度值(深度是到XY平面的距离)得方法:

          image-20221222183801011

          image-20221222183808173

观察空间线性深度重建

positionSS 是正常

image-20221222183919017

image-20221222183929114

image-20221222183944542

image-20221222183956044

image-20221222184003566

Particle

Hard Particle

image-20221222184039416

Soft Particle

根据和场景物体的深度进行对比,越贴近时,alpha 越小

image-20221222184113155

image-20221222184121674

通过全屏三角形 Copy Depth 贴图的方法

image-20221222184145129

image-20221222184154910

扭曲方法

Step1:在不透明物体渲染完成后,生成一张颜色贴图

image-20221222184315051

Step2:通过计算屏幕空间 UV,并结合扰动UV值,采样颜色贴图

image-20221222184331868

image-20221222184345258


文章作者: 血魂S
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 血魂S !
  目录