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

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

如何在 Minecraft 中加入元素視野效果(二)

2023-06-30 07:33 作者:蛋包飯里的飯  | 我要投稿


五、游戲處理

上一章中,我們實(shí)現(xiàn)了一個(gè)簡單的光影,它可以將畫面上的紅色與藍(lán)色互換。而為了實(shí)現(xiàn)這一效果,我們需要獲取當(dāng)前位置的顏色,并將顏色的 r 與 b 屬性調(diào)換位置。


在 Minecraft?運(yùn)行中,首先會(huì)在世界中生成大量的事物,其中有方塊、動(dòng)物、水流,玩家、甚至是天空,游戲程序決定了這些事物在世界中的位置、狀態(tài)、是否可見等等。


除此之外,我們還需要讓玩家進(jìn)入此世界中,為此我們還應(yīng)該將玩家的模型添加到世界。值得一提的是,在游戲編程中,為了讓玩家看到畫面,除了擁有模型以外,還需要一個(gè)攝像機(jī),它將充當(dāng)玩家的眼睛,用于作為觀察世界的起點(diǎn),通過設(shè)置攝像機(jī)的屬性,來決定畫面需要渲染哪些東西。


幸運(yùn)的是,以上都已經(jīng)由 Minecraft 實(shí)現(xiàn),我們只需要關(guān)注其中畫面的渲染。當(dāng)游戲?qū)⑹澜缣幚砗靡院螅螒虻膱D像數(shù)據(jù)將發(fā)送至顯卡做進(jìn)一步處理。


六、圖形處理

當(dāng)游戲處理完它負(fù)責(zé)的部分后,圖形數(shù)據(jù)將發(fā)送至顯卡。而在顯卡中指揮工作的正是光影中包含的許多著色器程序。但是并不是全部,事實(shí)上還有某些預(yù)處理以及后處理工作已經(jīng)由游戲引擎提供,我們需要編寫的著色器僅僅是在過程之間的一個(gè)小步驟。


最終到達(dá)我們的第一個(gè)著色器(vsh)中的數(shù)據(jù)包含整個(gè)畫面顏色的當(dāng)前位置,另一個(gè)(fsh)則包含整個(gè)畫面的顏色值。為了將每一個(gè)畫面顏色都照顧到,這兩個(gè)著色器將依次為每個(gè)顏色都運(yùn)行一次。


在每次運(yùn)行的過程中,我們可以簡單取到當(dāng)前處理所需的相關(guān)屬性,比如從 gl_MultiTexCoord0?緩沖區(qū)中取當(dāng)前顏色所在的坐標(biāo) xy,或者從?gcolor?緩沖區(qū)中取指定坐標(biāo)位置的顏色。


當(dāng)然,這里的坐標(biāo)不是指游戲坐標(biāo),而是顏色在畫面上的坐標(biāo),比如 (0, 0) 代表畫面的左下角。

X 軸(紅色),Y 軸(綠色)


七、濾鏡

在原神中開啟元素視野時(shí),畫面將被加上一個(gè)特定的綠色濾鏡,此時(shí)畫面將變成偏暗的藍(lán)綠色,并且有一條亮色帶從玩家的位置開始一直移動(dòng)至遠(yuǎn)方。這里我們可以把亮色帶放一邊,先試著將畫面調(diào)成偏暗的藍(lán)綠色。

元素視野

對畫面進(jìn)行取色(不包括亮色帶部分)可以大致得出,濾鏡讓紅色取值大概在 [0, 45] 區(qū)間,由于顏色最大值為 255 ,簡單起見,我們可以認(rèn)為紅色被對應(yīng)縮放到 1/5,而其他兩種顏色則是 1/2。

某個(gè)點(diǎn)的顏色值

在著色器中的主函數(shù)加入代碼,對相應(yīng)顏色進(jìn)行計(jì)算。由于 Minecraft 中的基礎(chǔ)亮度與原神中有些許不同,我們可以對這個(gè)比值進(jìn)行少許調(diào)整,將綠藍(lán)的比值改為 7/10,以提高亮度,還原色彩差異。

如果你有足夠的耐心,也可以一次一次修改,或者直接使用一個(gè)函數(shù)表達(dá)式,對色彩進(jìn)行微調(diào),以達(dá)到高度還原的效果。

加入簡單濾鏡后


如何在 Minecraft 中加入元素視野效果(二)的評論 (共 條)

分享到微博請遵守國家法律
阿瓦提县| 东安县| 新绛县| 尖扎县| 龙川县| 喀喇沁旗| 河南省| 麻栗坡县| 西城区| 东海县| 辛集市| 岐山县| 吉木萨尔县| 剑河县| 宣化县| 清苑县| 化隆| 两当县| 仪陇县| 通化市| 甘孜| 洞头县| 建平县| 古交市| 康乐县| 深州市| 鸡泽县| 汝南县| 肇东市| 多伦县| 全州县| 昆山市| 雷山县| 泸定县| 巴塘县| 麻城市| 马关县| 林甸县| 苏尼特左旗| 墨玉县| 武胜县|