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

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

好像復(fù)雜點(diǎn)的LuaSTG教程3.5:shader的使用教程

2020-08-30 15:46 作者:SSWTLZZ  | 我要投稿

(這里我就默認(rèn)你學(xué)會(huì)了render的一些基本操作了(?))
我并不懂什么專業(yè)名詞,有時(shí)候還會(huì)胡言亂語,如果真的有dalao看了覺得很sb還請盡興的罵我(

shader似乎對于我們是可望而不可求的東西,但這個(gè)玩意并沒有我們想象中的那么難
shader的歷史和原理我就不講了,畢竟我也不懂(,我也只是說個(gè)使用方法,如果想編寫....

好的,假如說你拿到了一個(gè)shader文件(luaSTG里的data里有幾個(gè)shader,需要的可以自己取用),在編輯器里用LoadFX節(jié)點(diǎn)(在resources里)導(dǎo)入

導(dǎo)入了之后,怎么用呢?
這里要用到四個(gè)函數(shù):CreateRenderTarget,PushRenderTarget/PopRenderTarget,PostEffect

CreateRenderTarget("xxx") ,這個(gè)是創(chuàng)建渲染對象,寫哪個(gè)位置都可以,這個(gè)xxx是字符串,即渲染對象的名字.
然后是Pop/PushRenderTarget("xxx"),要用這個(gè)函數(shù)把你要處理的渲染的地方給包起來(先Push后Pop),然后這個(gè)xxx就是上面渲染對象的名字.
然后就是PostEffect了,這個(gè)要寫在PopRenderTarget的下面.
PostEffect(渲染對象的名字(即上面的"xxx"),fx文件,混合模式,附加參數(shù))
是不是很難以理解?(

那么舉個(gè)例子:你定義了一個(gè)obj,它的回調(diào)函數(shù)有一個(gè)叫on?render,然后里面有個(gè)do?default?action,這個(gè)是這個(gè)obj的默認(rèn)的渲染動(dòng)作(?).
然后,你把這個(gè)東西夾在Push,Pop里面,然后再在下面寫個(gè)PostEffect,那么這個(gè)shader就只會(huì)對這一個(gè)obj的渲染產(chǎn)生影響

(額,這個(gè)方法貌似有些問題,最好不要這么搞)

然后,如果你想直接讓整個(gè)圖層的東西受到影響也可以的.
因?yàn)閛bj的渲染有圖層,它的原理大概就是,圖層在下的先渲染,圖層在上的后渲染
所以定義兩個(gè)obj,一個(gè)是開始的圖層,一個(gè)是結(jié)束的圖層.

我這里的FX文件是黑白化,obj2的圖層是LAYER_TOP,obj1的圖層是LAYER_BG-100,所以介于這兩個(gè)之間的東西都變黑白了(右邊的UI的圖層是LAYER_TOP+1)

上面提到有附加參數(shù),這個(gè)參數(shù)就是你在lstg里的數(shù)據(jù)傳進(jìn)那個(gè)shader用,那么怎么看這個(gè)shader是否有附加參數(shù)呢?
打開fx文件(用記事本即可,我用的是notepad++),找到這樣的幾行:

這些個(gè)string?binding =?xxxx,這里的xxxx就代表著要傳入的參數(shù)
比如說這個(gè)吧,假如我們的RenderTarget叫"A",以及這個(gè)fx文件叫world_rotate,那么,PostEffect就應(yīng)該這么寫:
PostEffect("A","world_rotate","",{centerX=0,centerY=0,vscale=1,hscale=1,angle=0})
這些參數(shù)是可以用變量代入的.

反正就和創(chuàng)建子彈傳參一樣啦(
好的,最后是給學(xué)生(包括我)們的一張圖:


好像復(fù)雜點(diǎn)的LuaSTG教程3.5:shader的使用教程的評論 (共 條)

分享到微博請遵守國家法律
太保市| 雷州市| 疏勒县| 华安县| 明水县| 饶平县| 太保市| 山东省| 金门县| 马公市| 浑源县| 安丘市| 长沙市| 诏安县| 雅安市| 吉安县| 广丰县| 邵阳县| 珲春市| 无锡市| 灵山县| 长葛市| 灌云县| 泗洪县| 凤阳县| 泰州市| 根河市| 连平县| 赞皇县| 开江县| 元氏县| 清苑县| 项城市| 榆中县| 忻州市| 班戈县| 深州市| 鄄城县| 巫溪县| 丰原市| 娄烦县|