摘要: 這里說(shuō)一下Freetype的關(guān)鍵點(diǎn),比較基礎(chǔ)的在很多文章已經(jīng)有說(shuō)明,這里就不詳細(xì)說(shuō)明了。
FreeType每個(gè)字符的加載,可以影響到后面對(duì)字符圖像的處理。
閱讀全文
摘要: 首先確定陰影的最基本原理:
陰影是以光源作為攝像機(jī)(叫作Camera_light),光照方向作為攝像機(jī)的look的方向,然后把這個(gè)攝像機(jī)看到的場(chǎng)景物渲染到紋理,這個(gè)紋理就叫shadowmap。
閱讀全文
摘要: 1.紋理
在gles2中,紋理在glsl中定義的順序,并不是按先后順序來(lái)排列的。
閱讀全文
摘要: 2012-2013年AIREngine開發(fā)總結(jié)及未來(lái)展望
閱讀全文
摘要: 這里說(shuō)的是一些常規(guī)的人沒(méi)考慮到的效果。
1、精確拾取的實(shí)現(xiàn)
一般普通的拾取就是AABB,再是OBB,或者是遍歷一個(gè)模型的面。這三種方式都有缺陷。
閱讀全文
摘要: 談到游戲中的性能優(yōu)化,說(shuō)白了就是如何提高幀率和降低內(nèi)存。
提高幀率的基本原則就是減少DP次數(shù),還有是找出時(shí)間消耗高的程序代碼加以修改。
閱讀全文
摘要: 現(xiàn)在游戲的UI五花八門,什么需求都有,特別是涉及到充值那塊,對(duì)內(nèi)嵌網(wǎng)頁(yè)要求就更多。
那么怎么實(shí)現(xiàn)一個(gè)UI里的內(nèi)嵌網(wǎng)頁(yè)呢?這個(gè)網(wǎng)頁(yè)還要跟著這個(gè)UI移動(dòng)。
閱讀全文
1、渲染狀態(tài)歸類封裝
DX9下的渲染狀態(tài)比較亂,不像DX11那樣把渲染狀態(tài)歸為幾類。按DX11的歸類,同樣也適應(yīng)DX9的API。
2、VertexDeclaration從VertexBuffer里改成封裝在VertexShader里。
這里要說(shuō)明一下,VertexDeclaration封裝在VertexBuffer里本來(lái)就是不太合理的,因?yàn)閂ertexBuffer就是一個(gè)Buffer,實(shí)際上和頂點(diǎn)格式關(guān)系不太大。而且,dx11中的inputlayout的創(chuàng)建還依賴于shader的創(chuàng)建代碼,因此,必須要把vertexdeclaration移到vertexshader里。而這種做法會(huì)引起DX9的一個(gè)問(wèn)題,下面會(huì)說(shuō)明到。
3、引擎所有渲染都用上shader,全面拋棄固定管線。
正如上面說(shuō)到,如果vertexdecalaration的創(chuàng)建要依賴于shader,那么固定管線下就不能再自己創(chuàng)建vc(vertexdeclaration)了,而考慮到引擎要支持雙渲染器,所以有些操作要統(tǒng)一,就不保留固定管線了。
4、GPU參數(shù)設(shè)置的調(diào)整
之前GPU的參數(shù)更新封裝在一個(gè)類GPUParameter里,主要是負(fù)責(zé)GPU參數(shù)的值的設(shè)置,但隨著DX11的加入,這里問(wèn)題就出來(lái)了。DX9下面,沒(méi)有constantbuffer的概念,只有一個(gè)一個(gè)參數(shù)設(shè)置到寄存器,而原來(lái)引擎的設(shè)計(jì)就是針對(duì)DX9的這套機(jī)制來(lái)實(shí)現(xiàn)的。所以,現(xiàn)在引擎作出調(diào)整,在dx9渲染系統(tǒng)下建一個(gè)類D3D9GPUParameters繼承自GPUParameter,DX9下如何設(shè)置參數(shù)在這個(gè)類下實(shí)現(xiàn)。
5、RenderTarget的接口改變
DX11下是把所有RenderTarget放到一個(gè)數(shù)組中然后設(shè)置進(jìn)去的,而DX9是一個(gè)一個(gè)設(shè)置進(jìn)去,所以當(dāng)要實(shí)現(xiàn)multirendertarget的時(shí)候,如果引擎要適應(yīng)兩種渲染器,那只能用DX11的設(shè)置方法了。
摘要: vertexdeclaration在引擎中,原來(lái)是直接放在vertexbuffer里面,當(dāng)設(shè)置這個(gè)vertexbuffer的時(shí)候再設(shè)這個(gè)declaration,在DX9中看似沒(méi)問(wèn)題,因?yàn)槊總€(gè)vertexbuffer都有自己的頂點(diǎn)格式。
閱讀全文
摘要: AIREngine已經(jīng)支持插件式的開發(fā),即不需要開發(fā)人員在工程上連接某個(gè)DLL和lib,直接通過(guò)LoadLibrary的形式加載。
閱讀全文