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

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

Unity-Unity 中使用的著色語(yǔ)言

2021-04-10 09:43 作者:unity_某某師_高錦錦  | 我要投稿

在 Unity 中,可使用?HLSL?編程語(yǔ)言來(lái)編寫(xiě)著色器程序。

Unity 最初使用?Cg?語(yǔ)言,因此會(huì)使用 Unity 某些著色器關(guān)鍵字的名稱(chēng) (CGPROGRAM) 和文件擴(kuò)展名 (.cginc)。Unity 已不再使用 Cg,但仍支持這些關(guān)鍵字和文件擴(kuò)展名。請(qǐng)注意,所有著色器程序代碼都必須是有效的 HLSL,即使代碼使用與 Cg 相關(guān)的關(guān)鍵字和文件擴(kuò)展名也如此。

使用?HLSLPROGRAM?與使用?CGPROGRAM?之間的唯一區(qū)別在于 Unity 在編譯著色器程序時(shí)自動(dòng)包含的文件。這是為了向后兼容。有關(guān)更多信息,請(qǐng)參閱內(nèi)置著色器 include 文件。

HLSL 語(yǔ)法

HLSL 語(yǔ)言本身有兩種語(yǔ)法:“舊版”的 DX9 樣式語(yǔ)法以及更現(xiàn)代的 DX10+ 樣式語(yǔ)法。

不同之處主要在于紋理采樣函數(shù)的工作方式:

  • 舊版語(yǔ)法使用?sampler2D、tex2D()?和類(lèi)似函數(shù)。此語(yǔ)法適用于所有平臺(tái)。

  • DX10+ 語(yǔ)法使用?Texture2D、SamplerState?和?.Sample()?函數(shù)。由于紋理和采樣器在 OpenGL 中_不是_不同對(duì)象,因此該語(yǔ)法的某些形式在 OpenGL 平臺(tái)上無(wú)效。

在 Unity 中,可使用預(yù)定義宏來(lái)聲明和采樣紋理,從而避免發(fā)生 HLSL 語(yǔ)法平臺(tái)支持問(wèn)題。Unity 將根據(jù)編譯著色器的目標(biāo)平臺(tái),將這些宏擴(kuò)展為最合適的語(yǔ)法。

著色器編譯器

不同平臺(tái)使用不同的著色器編譯器來(lái)編譯著色器程序,如下所述:

  • Windows 和 Microsoft 平臺(tái)(DX11、DX12 和 Xbox One)全部使用 Microsoft 的 HLSL 編譯器(最新版本為 FXC / D3DCompiler_47)。

  • OpenGL (Core & ES)、Metal 和 Vulkan 使用 Microsoft 的 HLSL,然后使用?HLSLcc?按字節(jié)代碼轉(zhuǎn)換為 GLSL、Metal 或 SPIR-V。

  • 其他游戲主機(jī)平臺(tái)使用其各自的編譯器(例如,PS4 使用 PSSL)。

  • 表面著色器使用 HLSL 和?MojoShader?來(lái)完成代碼生成分析步驟。

可以使用預(yù)定義著色器宏來(lái)確定 Unity 在使用哪個(gè)編譯器(例如,使用僅一種編譯器支持的 HLSL 語(yǔ)法)或解決編譯器錯(cuò)誤。


Unity-Unity 中使用的著色語(yǔ)言的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
泊头市| 海淀区| 河池市| 德惠市| 延吉市| 淮北市| 四会市| 天全县| 隆回县| 泌阳县| 瑞安市| 原平市| 礼泉县| 天门市| 普兰店市| 闸北区| 盐边县| 台湾省| 张家口市| 武宁县| 罗源县| 延寿县| 聊城市| 汝城县| 东安县| 陇南市| 长岭县| 湖北省| 齐河县| 体育| 内江市| 永康市| 确山县| 玉溪市| 玛沁县| 新巴尔虎右旗| 正镶白旗| 江川县| 鸡西市| 柳河县| 汪清县|