国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Unity3DShader性能排行

2019-11-14 14:06:53
字體:
來源:轉載
供稿:網友

 

整體上,性能由高到低:

 

  1. Unlit,僅為紋理,光線不產生效果
  2. VertexLit
  3. Diffuse  漫反射
  4. Normal Mapped 法線貼圖
  5. Specular 高光
  6. Normal Mapped Specular
  7. Parallax Normal Mapped
  8. Parallax Normal Mapped Specular

 

另外,unity3d還內置有一些簡化的用作移動平臺的shader/著色器。

 推薦文章 內置shader詳解(帶圖)

Shader性能影響因素:

著色器性能影響因素較多,最主要有二:

  • shader本身
  • Rendering Paths  (渲染路徑?)

 

 性能最優的兩款 內置著色器:

  • Deffered shader
  • Vertex Lit

僅做繪制一次,性能只取決于紋理數。

 

在Forward rendering path:

性能僅取決于shader本身和場景中光源。

  • Pixel Lit   性能更差,效果更好,多次繪制,故能實現(陰影,法線,高光等)
  • Vertex Lit 性能更佳,所有燈光影響僅繪制一次

 

對內置Shader的通俗理解(轉):

 1.Vertex-Lit:
基于:  基于頂點計算的光照模型
正方體: 【直接照射到的地方不會非常亮】【光照照射不到的平面無效果】
圓形:  【直接照射到的地方非常亮】【光照照射不到的地方有高光效果】
支持:  設備自動選擇【可編程管線】和【固定管線】
參數:  【主色color】【SpecColor光照顏色】【EmissiveColor自發光顏色】【Shininess光照強度】
渲染代價: 比較小

 

2.Diffuse:
基于:  基于簡單的光照模型 lambertian
正方體: 【直接照射到的地方會非常亮】【光照照攝不到的平面無效果】
圓形:  【直接照射到的地方非常亮】【光照照射不到的地方無效果】
支持:  設備需要支持【可編程管線】如果不支持將自動使用【Vertex-Lit】
參數:  【主色color】
渲染代價: 比較小

 

3.Specular
基于:  和Diffuse相同的光照模型,多了一個觀察角度相關的反射高光(#PRagmasurface surf BlinnPhong)
正方形: 【直接照射到的地方會非常亮】【光照照攝不到的平面無效果】【觀察角度和光入射角度會產生反射光】
圓形:  【直接照射到的地方非常亮】【光照照射不到的地方無效果】【觀察角度和光入射角度會產生反射光】
支持:  設備需要支持【可編程管線】如果不支持將自動使用【Vertex-Lit】
參數:  【主色color】【SpecularColor反射光照顏色】【Shininess反射光照強度】
渲染代價: 比較大

 

4.Bumped Diffuse
基于:  和Diffuse相同的光照模型,同時使用了法線貼圖normalmapping技術(UnpackNormal)【灰度圖,白色表示凹起,黑色表示凹進】
正方形: 和【Diffuse】一樣,【多了凹凸感】
圓形:  和【Diffuse】一樣,【多了凹凸感】
支持:  如果設備不支持,將自動使用【Diffuse】
參數:  【主色color】【多了法線貼圖】
渲染代價: 比較大

 

5.Bumped Specular 凹凸反射
【Bumped Diffuse】與【Specular】的合并
支持:  如果設備不支持,將使用【Specular】

 

6.Parallax Diffuse
基于:  和BumpedDiffuse一樣的光照模型lambertian,也使用normalmapping技術(UnpackNormal),同時使用HeightMap(ParallaxOffset)實

現更加逼真的凹凸感【高度圖在法線貼圖的alpha通道保存,全黑表示么有高度,白色表示高低】
支持:  設備無法使用,會自動使用【BumpedDiffuse】
參數:  【主色color】【多了法線貼圖】【多了高度貼圖】【height設置高度參數】
渲染代價: 比【Bumped Diffuse】更大

 

7.Parallax Specular
基于:  使用【BumpedSpecular】+【高度圖】
支持:  設備無法使用,會自動使用【BumpedSpecular】

 

8.Decal  【貼花】
基于:  與Diffuse一樣基于Lambert,增加第二張貼圖,然后融合色彩(lerp)覆蓋在主紋理之上【注:DiffusDetail的融合是rgb*rgb】
支持:  設備需要支持【可編程管線】如果不支持將自動使用【Vertex-Lit】
參數:  【主色color】【兩張貼圖】

 

9.Diffuse Detail 【細節貼圖】
基于:  與Diffuse一樣基于Lambert,多了一張貼圖與之融合(rgb*rgb),一般用于地形,攝像機拉近時額外的細節會出現。
說明:        Detail 紋理是覆蓋在主紋理上面的。Detail紋理中深色的部分將會使得主紋理變深,而淡色的部分將會使主紋理變亮, Detail 紋

理通常是淺灰色。(與Decal 里面 Decal 紋理不同的是,Decal 紋理是RGBA,通過 alpha 控制 DecalTexture 與 Main Texture 的融合,而Detail

的紋理是 RGB,直接是兩張紋理的rgb 通道分別相乘再*2,就是說,Detail紋理中顏色數值 = 0.5 不會改變主紋理顏色,>0.5 會變亮,<0.5 加深)

 

參考

參考文章 shader實例(五)如何在unity中更好的運用shader

參考文檔 Usage and Performance of Built-in Shaders

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮山县| 屏山县| 军事| 莱州市| 清水河县| 邢台县| 嘉义市| 芮城县| 稻城县| 楚雄市| 延庆县| 辛集市| 柏乡县| 黔西县| 越西县| 永胜县| 永平县| 淮北市| 会东县| 右玉县| 大新县| 苏州市| 泸定县| 岐山县| 南华县| 陆川县| 中江县| 延安市| 哈巴河县| 武城县| 淮北市| 台南县| 云龙县| 共和县| 那曲县| 科技| 高要市| 区。| 手机| 巴里| 黔江区|