最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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-編寫著色器的評論 (共 條)

分享到微博請遵守國家法律
三穗县| 闻喜县| 涪陵区| 二连浩特市| 栾城县| 米泉市| 桐庐县| 祁阳县| 南宁市| 西贡区| 方正县| 云阳县| 定西市| 西峡县| 瑞安市| 安庆市| 甘肃省| 连江县| 梁河县| 北宁市| 芮城县| 孙吴县| 丹棱县| 平南县| 勃利县| 榕江县| 台中县| 贡觉县| 鄢陵县| 蓝田县| 江川县| 泽普县| 堆龙德庆县| 临西县| 南昌县| 绥德县| 崇阳县| 贵定县| 三河市| 阿合奇县| 出国|