zoukankan      html  css  js  c++  java
  • depth linear

    首先backbuffer不支持float

    但不是backbuffer的rtv可以是float类型

    Rfloat 这个rt是可以写入6554的

    R8这个是个整型的rt 8bits 存的时候是 可以存250的 但是我们写入的时候 写的是0.7 buffer里会写255x0.7 读的时候/255

    (hdr中间rt写入的6554这种float之后会被remap到0-1)

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

    了解了以上两点 接下来要讨论的是

    RHalf   1+5+10

    RFloat 1+8+23 放0附近

    RHalfUnorm 放1附近 ios13 存的是指数

    R8 各自表示的精度范围 

    RHalf   2^10----10^3有效数字 

    R8   1/255   

    R8G8 encode x+y/255  1/65025    (255x255) 不是256( 00 01 10 11 间隔/精度 1/3)

    综上 我选r8g8 encode吧

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

    // Values used to linearize the Z buffer (http://www.humus.name/temp/Linearize%20depth.txt)  OGL
    // x = 1-far/near
    // y = far/near
    // z = x/far
    // w = y/far
    // or in case of a reversed depth buffer (UNITY_REVERSED_Z is 1) DX
    // x = -1+far/near  
    // y = 1
    // z = x/far
    // w = 1/far
    float4 _ZBufferParams;

    // Z buffer to linear 0..1 depth
    inline float Linear01Depth( float z )
    {
    return 1.0 / (_ZBufferParams.x * z + _ZBufferParams.y);
    }
    // Z buffer to linear depth
    inline float LinearEyeDepth( float z )
    {
    return 1.0 / (_ZBufferParams.z * z + _ZBufferParams.w);
    }

    ============

    far near那些之后补 下一次这里再遇到问题的时候。。。。

  • 相关阅读:
    迭代平方根
    windows怎么进如debug调试
    wxwidgets安装环境配置
    【android官方文档】与其他App交互
    Android ImageView图片自适应
    Gridview的stretchMode详解附自动宽度
    Activity生命周期解说
    一些问题
    android 文件读取(assets)
    android:scaleType属性
  • 原文地址:https://www.cnblogs.com/minggoddess/p/7001918.html
Copyright © 2011-2022 走看看