无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Unity-編寫著色器

2021-03-28 12:02 作者:unity_某某師_高錦錦  | 我要投稿

Unity 中的著色器可以用三種不同的方式編寫:

表面著色器

如果著色器需要受到光照和陰影的影響,則表面著色器是您的最佳選擇。表面著色器以簡潔的方式使編寫復(fù)雜的著色器變得容易 - 這是與 Unity 光照管線進行交互的更高級別抽象。大多數(shù)表面著色器自動支持前向和延遲光照。您可以用幾行?Cg/HLSL?編寫表面著色器,隨后就能在此基礎(chǔ)上自動生成更多代碼。

如果您的著色器與光照沒有任何關(guān)聯(lián),請不要使用表面著色器。對于后期處理效果或許多特殊效果著色器,表面著色器是次優(yōu)選項,因為它們會無緣無故進行大量光照計算。

頂點和片元著色器

如果您的著色器不需要與光照交互,或者如果您需要無法由表面著色器處理的非常奇特的效果,則需要使用頂點和片元著色器。以這種方式編寫的著色器程序是創(chuàng)建所需效果的最靈活方法(甚至表面著色器也會自動轉(zhuǎn)換為一堆頂點和片元著色器),但這需要付出代價:必須編寫更多的代碼并且更難以讓它與光照互動。這些著色器也是以?Cg/HLSL?編寫。

固定函數(shù)著色器

固定函數(shù)著色器是傳統(tǒng)的著色器語法,用于非常簡單的效果。建議編寫可編程的著色器,因為這樣可以提供更大的靈活性。固定函數(shù)著色器完全用一種名為?ShaderLab?的語言編寫,此語言類似于 Microsoft 的 .FX 文件或 NVIDIA 的 CgFX。在內(nèi)部,所有固定函數(shù)著色器在導(dǎo)入著色器時轉(zhuǎn)換為頂點和片元著色器。

ShaderLab

無論您選擇哪種類型的著色器,實際的著色器代碼始終包含在用于組織著色器結(jié)構(gòu)的 ShaderLab 中。如下所示:

Shader "MyShader" {
 ?Properties {
 ? ?_MyTexture ("My Texture", 2D) = "white" { }
 ? ?// 此處還放置顏色或矢量等其他屬性
 ?} 
 ?SubShader {
 ? ?// 此處放置
 ? ?// - 表面著色器或
 ? ?// - 頂點和片元著色器或
 ? ?// - 固定函數(shù)著色器 ? ?
 ?}
 ?SubShader{
 ? ?// 此處放置上述 SubShader 更簡單的 "fallback" 版本
 ? ?// 此版本能夠在較舊的顯卡上運行
 ?}
}

我們建議您首先閱讀?ShaderLab 參考中的 ShaderLab 語法的一些基本概念,然后繼續(xù)學(xué)習下面列出的教程。

這些教程包含了大量不同類型著色器的示例。Unity 的后期處理效果允許您使用著色器創(chuàng)建許多有趣的效果。

請繼續(xù)閱讀著色器的介紹,并查看著色器參考!


Unity-編寫著色器的評論 (共 條)

分享到微博請遵守國家法律
锦州市| 盐池县| 荆门市| 邹城市| 平乡县| 钟祥市| 乳山市| 晋江市| 龙游县| 江陵县| 美姑县| 工布江达县| 托克托县| 涿州市| 固始县| 芜湖市| 甘泉县| 茶陵县| 兴安盟| 禹州市| 南皮县| 当涂县| 林州市| 宣化县| 宁远县| 丁青县| 镇江市| 锦屏县| 内丘县| 西乌珠穆沁旗| 六枝特区| 温州市| 札达县| 洞头县| 缙云县| 乡城县| 东乡族自治县| 乌拉特后旗| 通山县| 比如县| 邮箱|