国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
晋宁县| 朝阳区| 涞源县| 千阳县| 襄樊市| 蒲城县| 东乌| 汉中市| 灵山县| 大厂| 阿勒泰市| 林州市| 政和县| 满洲里市| 江永县| 江西省| 上栗县| 合山市| 黔西县| 屯留县| 手机| 加查县| 威宁| 邯郸市| 仲巴县| 鸡泽县| 静安区| 军事| 隆林| 吉林省| 信阳市| 肇东市| 珲春市| 岫岩| 奉节县| 墨脱县| 绥芬河市| 永泰县| 盐边县| 隆林| 全南县|