五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

Unity-GLSL 著色器程序

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

除了使用?Cg/HSL 著色器程序之外,還可以直接編寫(xiě) OpenGL 著色語(yǔ)言 (GLSL) 著色器。

但是,只有需要進(jìn)行測(cè)試時(shí),或者當(dāng)您知道目標(biāo)平臺(tái)僅限于 Mac OS X、OpenGL ES 移動(dòng)設(shè)備或 Linux 時(shí),才建議使用原始 GLSL。在所有正常情況下,Unity will 會(huì)在需要時(shí)將 Cg/HLSL 交叉編譯為優(yōu)化的 GLSL。

GLSL 代碼片段

在?GLSLPROGRAM?和?ENDGLSL?關(guān)鍵字之間編寫(xiě) GLSL 程序代碼片段。

在 GLSL 中,所有著色器函數(shù)入口點(diǎn)都必須名為?main()。Unity 加載 GLSL 著色器時(shí),會(huì)為頂點(diǎn)程序加載一次源代碼(使用?VERTEX?預(yù)處理器定義),然后為片元程序再加載一次(使用?FRAGMENT?預(yù)處理器定義)。所以,在 GLSL 代碼片段中將頂點(diǎn)程序和片元程序部分分開(kāi)的方法是在它們周?chē)由?#ifdef VERTEX ..#endif?和 #ifdef FRAGMENT ..#endif`。每個(gè) GLSL 代碼片段必須同時(shí)包含頂點(diǎn)程序和片元程序。

標(biāo)準(zhǔn) include 文件與 Cg/HLSL 著色器的 include 文件匹配;只是它們的擴(kuò)展名為?.glslinc

頂點(diǎn)著色器輸入來(lái)自預(yù)定義的 GLSL 變量(gl_Vertexgl_MultiTexCoord0?等等)或者是用戶(hù)定義的屬性。通常,只有切線(xiàn)矢量才需要用戶(hù)定義的屬性:

從頂點(diǎn)程序到片元程序的數(shù)據(jù)是通過(guò)?varying?變量傳遞的,例如:

外部 OES 紋理

Unity 在著色器編譯期間會(huì)進(jìn)行某些預(yù)處理;例如,根據(jù)圖形 API(GlES3 或 GLCore),texture2D/texture2DProj?函數(shù)可能會(huì)替換為?texture/textureProj。一些擴(kuò)展不支持新約定,最明顯的就是?GL_OES_EGL_image_external

如果希望在 GLSL 著色器中采樣外部紋理,請(qǐng)使用?textureExternal/textureProjExternal?調(diào)用,而不是?texture2D/texture2DProj。

示例:


Unity-GLSL 著色器程序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东宁县| 金阳县| 都兰县| 昌江| 米泉市| 琼海市| 武冈市| 明星| 宾阳县| 房产| 台南县| 周口市| 佛学| 深州市| 咸丰县| 河池市| 体育| 监利县| 大关县| 久治县| 万全县| 建瓯市| 黔江区| 维西| 洛浦县| 金堂县| 通江县| 谷城县| 新巴尔虎左旗| 常熟市| 河津市| 两当县| 沁阳市| 宜兴市| 溧阳市| 辉南县| 上栗县| 井研县| 安国市| 含山县| 友谊县|