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