好久沒有寫技術(shù)方面的文章了,每次過來看blog都很自責(zé),畢業(yè)設(shè)計(jì)和縱向研究方面已經(jīng)好久(距離最后一篇技術(shù)文章一個(gè)月了)沒有什么可以記錄的進(jìn)展了。
上上個(gè)禮拜五開學(xué)的時(shí)候,實(shí)驗(yàn)室開了個(gè)會(huì),我的2006年的工作主要還是在研究生網(wǎng)報(bào)和圖形引擎這兩個(gè)方面,沒有什么新的內(nèi)容。今年的
BH_GRAPH主要是繼續(xù)穩(wěn)定系統(tǒng),投入實(shí)用,在5月分的時(shí)候需要召開一個(gè)應(yīng)用推廣會(huì),因此前邊必須完成系統(tǒng)的穩(wěn)定和功能問題。因?yàn)閗esney,xn
等牛人的畢業(yè),現(xiàn)在的開發(fā)工作輪到把我們這一屆幾個(gè)人作為了項(xiàng)目的骨干。
上個(gè)禮拜項(xiàng)目組又開了一個(gè)會(huì),主要是講了一些本學(xué)期的開發(fā)思路,并且把人員進(jìn)行的任務(wù)分工,我有幸被分到框架的重新設(shè)計(jì)組里,跟著yyd大牛。
總結(jié)一下目前dvesg中的問題:
1,狀態(tài)管理有問題,改變的狀態(tài)無法還原。這樣的問題直接導(dǎo)致繪制錯(cuò)誤和陰影工作無法進(jìn)行;
2,同ogre的場景組織結(jié)構(gòu)相比,嚴(yán)重依賴于openFlight格式進(jìn)行設(shè)計(jì),場景遍歷層次太深;
3,結(jié)構(gòu)不靈活,目前只能對(duì)于Leaf設(shè)置StateSet,而無法對(duì)于Group設(shè)置;
4,效率還比較低,一直沒有辦法提高FPS。
那么出于上述問題和系統(tǒng)當(dāng)前和以后發(fā)展的考慮,目前主要是想驗(yàn)證一下當(dāng)前對(duì)于引擎的核心結(jié)構(gòu)進(jìn)行修改的可行性,并提出一個(gè)修改方案,這兩周基本上做的就是這個(gè)工作,主要是以O(shè)gre為研究對(duì)象,領(lǐng)會(huì)Ogre的設(shè)計(jì)思想,希望能夠從中得到一些借鑒。
第一周主要分析了Ogre的材質(zhì)系統(tǒng)的相關(guān)數(shù)據(jù)結(jié)構(gòu),但是從MaterialManager,Materail,Technique,Pass
這幾個(gè)類里邊看不出Ogre對(duì)于狀態(tài)的考慮,因此這個(gè)禮拜主要是從繪制流程的角度分析Ogre,目前已經(jīng)把主流程走了一遍,只剩下最后的
SceneManager::_renderVisibleObjects()了。
從看的這個(gè)過程中,又相應(yīng)的了解了一下CG里邊的Technique,pass的概念,把openGL紅寶書里邊光照的部分看了一遍,也算是略有收獲吧。
現(xiàn)在的主要問題:
1,對(duì)于基于shader的繪制還不了解,因此無法解釋一些設(shè)計(jì)上的想法,嚴(yán)重限制了很多東西的學(xué)習(xí),包括我的畢業(yè)設(shè)計(jì),準(zhǔn)備下面集中學(xué)習(xí)一下,最起碼把《The CG tutorial》看一遍。
2,對(duì)于Ogre的繪制中的狀態(tài)排序過程和繪制過程要仔細(xì)研究,包括對(duì)于特定的RenderSystem里邊的具體實(shí)現(xiàn),以及如何結(jié)合shader框架的,這個(gè)要做陰影是一定要在dvesg中實(shí)現(xiàn)的。
3,應(yīng)該著手把那5篇論文看完,最起碼用簡單的d3d框架實(shí)現(xiàn)一下算法。
4,論文工作一拖再拖,一定要擠時(shí)間完成。