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

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

Unity-向頂點程序提供頂點數(shù)據(jù)

2021-04-08 11:07 作者:unity_某某師_高錦錦  | 我要投稿

對于 Cg/HLSL?頂點程序,?網(wǎng)格頂點數(shù)據(jù)作為輸入傳遞給頂點 著色器函數(shù)。每個輸入都需要有指定的語義:例如,POSITION?輸入表示頂點位置,NORMAL?表示頂點法線。

通常,頂點數(shù)據(jù)輸入在結(jié)構(gòu)中聲明,而不是 逐個列出。在?UnityCG.cginc include 文件中 定義了幾個常用的頂點結(jié)構(gòu),在大多數(shù)情況下, 僅使用它們就足夠了。這些結(jié)構(gòu)為:

  • appdata_base:位置、法線和一個紋理坐標(biāo)。

  • appdata_tan:位置、切線、法線和一個紋理坐標(biāo)。

  • appdata_full:位置、切線、法線、四個紋理坐標(biāo)和顏色。

示例:以下著色器根據(jù)法線為網(wǎng)格著色,并使用?appdata_base?作為頂點程序輸入:

要訪問不同的頂點數(shù)據(jù),您需要自己聲明 頂點結(jié)構(gòu),或者將輸入?yún)?shù)添加到 頂點著色器。頂點數(shù)據(jù)由 Cg/HLSL?語義標(biāo)識,并且必須來自 以下列表:

  • POSITION?是頂點位置,通常為?float3?或?float4。

  • NORMAL?是頂點法線,通常為?float3。

  • TEXCOORD0?是第一個 UV 坐標(biāo),通常為?float2float3?或?float4。

  • TEXCOORD1、TEXCOORD2?和?TEXCOORD3?分別是第 2、第 3 和第 4 個 UV 坐標(biāo)。

  • TANGENT?是切線矢量(用于法線貼圖),通常為?float4。

  • COLOR?是每頂點顏色,通常為?float4

當(dāng)網(wǎng)格數(shù)據(jù)包含的分量少于頂點著色器輸入所需 的分量時,其余部分用零填充,但默認(rèn)值為 1 的?.w?分量除外。例如,網(wǎng)格紋理坐標(biāo) 通常是僅包含 x 和 y 分量的 2D 矢量。如果 頂點著色器使用?TEXCOORD0?語義聲明一個?float4?輸入,則 頂點著色器接收的值將包含 (x,y,0,1)。

示例

可視化 UV

以下著色器示例使用頂點位置和第一個紋理坐標(biāo)作為頂點著色器輸入(在結(jié)構(gòu)?appdata?中定義)。此著色器對于調(diào)試網(wǎng)格的 UV 坐標(biāo)非常有用。

在這里,UV 坐標(biāo)可視化為紅色和綠色,而另外的藍(lán)色色調(diào)已應(yīng)用于 0 到 1 范圍之外的坐標(biāo):

同樣,以下著色器可視化該模型的第二個 UV 集:

可視化頂點顏色

以下著色器使用頂點位置和每頂點顏色作為頂點著色器輸入(在結(jié)構(gòu)?appdata?中定義)。

調(diào)試應(yīng)用于環(huán)形結(jié)模型的顏色著色器,其中已將光照烘焙成顏色


可視化法線

以下著色器使用頂點位置和法線作為頂點著色器輸入(在結(jié)構(gòu)?appdata?中定義)。法線的 X、Y 和 Z 分量可視化為 RGB 顏色。由于法線分量在 –1 到 1 范圍內(nèi),我們對這些分量進行縮放和偏置,使輸出顏色可在 0 到 1 范圍內(nèi)顯示。

調(diào)試應(yīng)用于圓環(huán)結(jié)模型的 UV1 著色器
調(diào)試應(yīng)用于圓環(huán)結(jié)模型的法線著色器。您可以看到模型具有硬著色邊緣

可視化切線和副法線

切線和副法線矢量用于法線貼圖。在 Unity 中,只有切線矢量存儲在頂點中,而副法線是從法線值和切線值中推導(dǎo)出的。

調(diào)試應(yīng)用于圓環(huán)結(jié)模型的切線著色器。

以下著色器使用頂點位置和切線作為頂點著色器輸入(在結(jié)構(gòu)?appdata?中定義)。切線的 x、y 和 z 分量可視化為 RGB 顏色。由于法線分量在 –1 到 1 范圍內(nèi),我們對這些分量進行縮放和偏置,使輸出顏色可在 0 到 1 范圍內(nèi)顯示。

以下著色器可視化副切線。它使用頂點位置、法線和切線值作為頂點輸入。副切線(有時稱為 副法線)是根據(jù)法線和切線值計算出的。它需要縮放并偏置到可顯示的 0 到 1 范圍內(nèi)。

調(diào)試應(yīng)用于圓環(huán)結(jié)模型的副切線著色器。


Unity-向頂點程序提供頂點數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
清水县| 洞口县| 夏邑县| 麻江县| 县级市| 来安县| 开远市| 峨山| 忻州市| 玉环县| 方正县| 黄浦区| 华宁县| 古丈县| 双峰县| 衡阳市| 赫章县| 晋城| 丰镇市| 海兴县| 临猗县| 余干县| 清丰县| 瑞金市| 龙南县| 吐鲁番市| 稷山县| 会同县| 嘉黎县| 始兴县| 永丰县| 南郑县| 三门峡市| 腾冲县| 芒康县| 太保市| 会理县| 垫江县| 永泰县| 彝良县| 东方市|