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

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

MME編寫入門(三)一個最簡單的著色

2023-03-06 22:10 作者:小林囈  | 我要投稿

從一個最簡單的著色器入手。

第一次看的話想必會有不少的疑問。不過耐下心來細細地去拆解就明白了,如果有c語言或者c++的學習經(jīng)歷,那么會更容易許多。

一個完整的效果文件,它是由 UI配置項、轉換矩陣、結構體、頂點著色器、像素著色器、technique-pass繪制構成。其中,UI配置項可以有也可以沒有,有的目的只是為了好修改其中的一些參數(shù)。

首先是這里,定義了一個四維向量outColor,他的值為0,0,0,1,分別對應著R\G\B\A,A是透明度,這里就顯示為黑色。1,0,0,1就是紅色,其他同理。

對于向量類型,最多有四個元素,可以通過xyzw(位置向量)或rgba(顏色向量)來訪問,這兩種訪問方式是等效的,但是不能混著用。

然后是轉換矩陣,這里只用到了這個WORLDVIEWPROJECTION。

前邊的WorldViewProjMatrix可以隨便起名字,但冒號后邊的語義不可以亂寫。

然后是結構體。

結構體就是把散亂的數(shù)據(jù)整理到一起,便于管理和使用。

我們需要物體的齊次坐標。

這個特殊的冒號語法表示一個語義,冒號后面的標志符用來指定變量的用途。

POSITION標志符表明該變量表示頂點位置,另外還有諸如COLOR、NORMAL等很多表示其他意義的標志符。

  • 語義是附加到著色器輸入或輸出的字符串,用于傳達有關參數(shù)預期使用的信息。 著色器階段之間傳遞的所有變量都需要語義。

接著,頂點著色器 從結構體中得到需要的數(shù)據(jù)。

VS_OUTPUT Out = (VS_OUTPUT)0;

這一行的作用初始化定義Out輸出。

也可以這么寫 VS_OUTPUT Out;

Out.Pos = mul(Pos,WorldViewProjMatrix);

對我們的頂點坐標和WVPMatrix相乘,完成頂點的世界觀察投影變換。

return Out;

輸出變換后的頂點信息。

接下來是像素著色器。

return outColor,在此之前我們已經(jīng)定義過顏色。

接下來的是繪制。

最后一行是我額外加上去的。完成之后,就得到了一個全黑的miku!


關于對象繪制有兩種,舞力介入P在basic.fx ver2.0中是分為兩種。

一種是セルフシャドウOFF,自陰影OFF。

一種是セルフシャドウON,自陰影ON。

自陰影就是模型的這里。

如果單純的用一次pass,而且這個pass沒有_ss,模型還開啟了本影,那么就繪制不了。

比如這里,我把_ss刪掉了。全黑miku沒有了……

有的模型存在輪廓線,可以選擇改變大小和顏色,大小為0的時候就關閉了輪廓線。

(注意,要在模型的模式下才能選擇輪廓線)

如果刪掉這一指令

technique EdgeTec < string MMDPass = "edge"; > {

}

那么輪廓線就無法正常繪制。就會變成這樣。

這么寫相當于不繪制輪廓線。

也可以這么寫。

關于MME,我還只是初學者,慢慢學習吧。

MME編寫入門(三)一個最簡單的著色的評論 (共 條)

分享到微博請遵守國家法律
东丽区| 杭锦后旗| 道孚县| 抚州市| 临清市| 孟津县| 株洲县| 民权县| 松阳县| 怀仁县| 克拉玛依市| 南阳市| 抚州市| 水富县| 兖州市| 浙江省| 滦南县| 青海省| 昌邑市| 芦溪县| 出国| 哈尔滨市| 山丹县| 郯城县| 承德市| 万源市| 海林市| 雅安市| 丹寨县| 拜泉县| 德庆县| 黄大仙区| 上高县| 兴国县| 康乐县| 襄垣县| 建始县| 玛多县| 正镶白旗| 吉安市| 西丰县|