乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Unity Texture2D的sRGB(Color Texture)的作用

       勤奮不止 2022-02-16

      在gramma空間下,勾選與否無關(guān)。

      在liner空間下,勾選shader會自動將讀到的像素作gramma矯正,即x的0.45次方

      不勾選,shader讀到的就是原始的顏色值

       

      然后unity如果選了gramma空間,會自動將輸出顏色做一個伽馬矯正,偏暗,相當(dāng)于拍照對圖片的自動處理。

       

      透明通道的值不會受到伽馬編碼的影響,勾選與否都不會影響其線性值。值得注意的是ps里必須用這個取色

       

      最近遇到兩個色域空間所表現(xiàn)出來顏色不一樣的問題。原理就請查其他作者的參考文章??偨Y(jié)如下

      1. 當(dāng)美術(shù)制作的圖為8位時(256種顏色),顏色為經(jīng)過Gamma驕正。 32位圖時為真實顏色,表現(xiàn)為灰度值8位時為0.5. 32位時為0.2

         也就是說用8位圖制作時為非線性空間。 32位時為線性空間.  

      2.因為顯示器最終都會進行一次display gamma驕正(將8位顏色值域轉(zhuǎn)換成32位線性值),所以我們需要在GPU進行一次encoding gamma驕正(所有的顏色計算都轉(zhuǎn)換到線性空間下進行計算)。這樣輸出的最終顏色值才最接近真實的顏色。

      3. 個人電腦使用的一個標準叫sRGB,它使用的encoding gamma大約是0.45(也就是1/2.2)。這個值就是為了配合display gamma為2.5的設(shè)備工作的。這樣,end-to-end gamma就是0.45 * 2.5 = 1.125了。 (注:sRGB(standard Red GreenBlue)通用色彩標準)

      4.  當(dāng)為unity選擇gamma空間時, 代表不經(jīng)過encoding gamma值矯正。 選擇liner時,會將所有計算都放到線性空間下。

      5. 當(dāng)選擇liner時,你的texture又是在32位線性空間下制作時,需要將texture的sRGB選項取消掉,不然untiy會再次將你的texture進行一次驕正,得到的顏色將不對.

      6. 制作貼圖時使用sRGB色域空間,并在unity中,將sRGB勾上。

      6. 當(dāng)你想要通過shader手動矯正時代碼:fragColor.rgb = pow(fragColor.rgb, 1.0/2.2);
        

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多