版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3D引擎原理conanshao3D引擎原理conanshao1目錄什么是3D引擎?引擎的二次開發(fā),以及最近的技術(shù)趨勢。怎樣開始你的引擎學(xué)習(xí)?目錄什么是3D引擎?2什么是3D引擎?幫助開發(fā)人員合成一個(gè)3D的世界,并且把這個(gè)世界顯示到桌面上。場景文件3D引擎桌面顯示什么是3D引擎?幫助開發(fā)人員合成一個(gè)3D的世界,并且把這個(gè)世3解剖3D引擎從一個(gè)簡單的模型的顯示開始。3D圖形中表示模型的最普遍模式。模型=網(wǎng)格+材質(zhì)。=+解剖3D引擎從一個(gè)簡單的模型的顯示開始。=+43D圖形管線應(yīng)用程序頂點(diǎn)處理幾何處理光柵化片元處理幀緩存3D圖形管線應(yīng)用程序頂點(diǎn)處理幾何處理光柵化片元處理幀緩存53D圖形管線3D圖形管線6相機(jī)的概念相機(jī)的概念7渲染器將場景管理器提交的幾何數(shù)據(jù),著色數(shù)據(jù),狀態(tài)數(shù)據(jù),環(huán)境數(shù)據(jù)渲染到渲染目標(biāo)上。渲染器將場景管理器提交的幾何數(shù)據(jù),著色數(shù)據(jù),狀態(tài)數(shù)據(jù),環(huán)境數(shù)8渲染器幾何數(shù)據(jù)的組織:實(shí)時(shí)圖形學(xué)里面用一堆三角形面片(Mesh)來表達(dá)幾何形狀。Mesh由一系列頂點(diǎn)(頂點(diǎn)緩沖區(qū))以及索引(索引緩沖)組成。頂點(diǎn)格式,至少有頂點(diǎn)位置,還可能包含法線、切線、副法線、紋理坐標(biāo)等。渲染器幾何數(shù)據(jù)的組織:實(shí)時(shí)圖形學(xué)里面用一堆三角形面片(Mes9渲染器材質(zhì):描述物體表面著色特性的屬性,在實(shí)時(shí)圖形學(xué)中,通常用著色器,以及一組參數(shù)、渲染狀態(tài)來描述材質(zhì)。著色器是用來描述著色過程(頂點(diǎn)處理、幾何處理、像素處理)的程序。渲染器材質(zhì):描述物體表面著色特性的屬性,在實(shí)時(shí)圖形學(xué)中,通常10材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)11材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)12材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)13材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)14材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)進(jìn)一步的思考1.材質(zhì)系統(tǒng)如何與環(huán)境信息的交互?2.如何重復(fù)利用shader程序,管理好渲染狀態(tài)?3.如何給美術(shù)人員提供一個(gè)靈活高效的可編輯的材質(zhì)工具?材質(zhì)系統(tǒng)材質(zhì)系統(tǒng)進(jìn)一步的思考15另一個(gè)問題的產(chǎn)生,場景管理有了渲染器,準(zhǔn)備渲染整個(gè)世界。新問題產(chǎn)生,世界太復(fù)雜了!如果每個(gè)東西都要渲染,不可能實(shí)時(shí)。Weneedacull.另一個(gè)問題的產(chǎn)生,場景管理有了渲染器,準(zhǔn)備渲染整個(gè)世界。16裁剪,物體的包圍盒同視錐體比較。如果有交集,則物體可見,反之則不可見。但是問題仍然沒有解決,成千上萬的物體,比較視錐會(huì)占去大量的CPU資源。需要一個(gè)空間數(shù)據(jù)結(jié)構(gòu),來組織裁剪。場景管理裁剪,物體的包圍盒同視錐體比較。如果有交集,則物體可見,反之17八叉樹八叉樹18場景管理高效組織和管理虛擬場景中實(shí)體(相機(jī),物體,燈光等),處理實(shí)體之間的關(guān)系。實(shí)體的關(guān)系有包含,碰撞,層次關(guān)系等。例如:相機(jī)視錐是否包含一個(gè)實(shí)體,燈光的包圍盒是否包含一個(gè)物體。場景管理高效組織和管理虛擬場景中實(shí)體(相機(jī),物體,燈光等),19場景圖用于場景管理的具有層次性,空間性,狀態(tài)性的結(jié)構(gòu)稱為場景圖(SceneGraph).場景圖主要包含下面三部分:一個(gè)層次結(jié)構(gòu)的場景樹,用于處理層次動(dòng)畫,例如一個(gè)怪物在場景中走動(dòng),另外一個(gè)光球繞著這個(gè)怪物轉(zhuǎn)動(dòng)。一個(gè)用于裁減的空間結(jié)構(gòu)。一個(gè)組織Renderstate的rendergraph。場景圖用于場景管理的具有層次性,空間性,狀態(tài)性的結(jié)構(gòu)稱為場景203D引擎原理ppt課件21場景圖以上圖戰(zhàn)爭機(jī)器中一個(gè)場景為例,場景圖如下:監(jiān)獄室外室內(nèi)房間石墩馬庫斯……馬庫斯場景圖以上圖戰(zhàn)爭機(jī)器中一個(gè)場景為例,場景圖如下:監(jiān)獄室外室內(nèi)22資源管理渲染資源管理:仍以GOF為例,一個(gè)場景的貼圖和模型:3Dmmog中,大量的貼圖,模型,動(dòng)畫等資源。資源需要重用,解決創(chuàng)建,引用,銷毀的問題。而對于另外一些無縫大場景,需要進(jìn)行資源動(dòng)態(tài)加載,資源回收的機(jī)制。圖1場景中使用的紋理資源管理渲染資源管理:圖1場景中使用的紋理23渲染器渲染狀態(tài)的管理:圖形流水線中有多組渲染狀態(tài),切換渲染狀態(tài)是一個(gè)較大開銷,因此對渲染狀態(tài)進(jìn)行一個(gè)有效的管理,才能保證渲染效率和渲染結(jié)果的正確性。渲染器渲染狀態(tài)的管理:圖形流水線中有多組渲染狀態(tài),切換渲染狀24渲染器光照和陰影保證了場景的真實(shí)性。渲染器光照和陰影保證了場景的真實(shí)性。25渲染器靜態(tài)光源對靜態(tài)物體可以渲染到lightmap或者vertexcolor上。判定每盞動(dòng)態(tài)光源影響那些物體,注意空間的變換。實(shí)時(shí)陰影算法:1.Shadowmap2.ShadowVolume3.ProjectShadow渲染器靜態(tài)光源對靜態(tài)物體可以渲染到lightmap或者ver26動(dòng)畫系統(tǒng)讓場景中的角色動(dòng)起來。動(dòng)畫:物體的屬性隨時(shí)間變化。關(guān)鍵幀動(dòng)畫:記錄某些時(shí)刻物體的屬性,例如A,B時(shí)刻的位置屬性。A,B之間的時(shí)刻的屬性通過差值得到。動(dòng)畫系統(tǒng)讓場景中的角色動(dòng)起來。27骨骼動(dòng)畫骨骼動(dòng)畫:骨架(skeleton)是由一系列具有層次性的骨骼(bone)組成,通過關(guān)鍵幀動(dòng)畫來描述骨骼的運(yùn)動(dòng)。骨骼動(dòng)畫骨骼動(dòng)畫:骨架(skeleton)是由一系列具有層次28蒙皮蒙皮:把人物模型(mesh),蒙到骨骼上面,就是確定每個(gè)mesh頂點(diǎn)會(huì)受到哪些骨骼的影響。蒙皮蒙皮:把人物模型(mesh),蒙到骨骼上面,就是確定每個(gè)29動(dòng)畫系統(tǒng)粒子系統(tǒng):用大量的,具有一定規(guī)則的微小物質(zhì)來模擬圖形學(xué)中火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡等效果。幾種常用的基礎(chǔ)粒子效果有粒子發(fā)射器,條帶,波帶,公告板。動(dòng)畫系統(tǒng)粒子系統(tǒng):用大量的,具有一定規(guī)則的微小物質(zhì)來模擬圖形30物理引擎要?jiǎng)?chuàng)造出真實(shí)的交互環(huán)境,僅模擬圖像表現(xiàn)是不夠的,還需要游戲中物體滿足物理定理。例如可破壞的游戲環(huán)境帶來的感受是不同的。物理引擎要?jiǎng)?chuàng)造出真實(shí)的交互環(huán)境,僅模擬圖像表現(xiàn)是不夠的,還需31物理引擎基礎(chǔ)需求:角色和場景之間的相交檢測,角色之間的檢測(單機(jī)游戲)。高級需求:可破壞的環(huán)境,布料系統(tǒng),毛發(fā)效果等,最好使用一個(gè)物理引擎來解決這些。Nvidia的PhyX,Intel的Havok。物理引擎基礎(chǔ)需求:角色和場景之間的相交檢測,角色之間的檢測(32物理物理33高級渲染效果高級渲染效果,比拼引擎的技術(shù)實(shí)力。后期處理效果:Bloom,ToneMapping,景深,動(dòng)態(tài)模糊等。復(fù)雜的光影效果,實(shí)時(shí)陰影,鏡面反射等效果水面效果。大規(guī)模植被效果。高級渲染效果高級渲染效果,比拼引擎的技術(shù)實(shí)力。343D引擎的基礎(chǔ)模塊場景管理資源管理渲染器動(dòng)畫和粒子高級渲染物理引擎3D引擎的基礎(chǔ)模塊場景管理353D引擎的二次開發(fā)3D引擎的外圍:1.場景編輯器,特效編輯器,材質(zhì)編輯器,UI編輯器,模型max/maya導(dǎo)出插件。2.環(huán)境系統(tǒng)。3.換裝系統(tǒng)和技能系統(tǒng)。4.音樂音效系統(tǒng)。3D引擎的二次開發(fā)3D引擎的外圍:363D引擎的二次開發(fā)為什么需要一個(gè)對3D引擎的二次開發(fā):購買的3D引擎缺少游戲所需的引擎基本功能和外圍功能以GameBryo2.1為例:沒有適用的場景編輯器,特效編輯器.沒有適用的資源管理器(貼圖管理都沒有).沒有適用的高級渲染模塊,雖然有一些samplecode,但是需要做一個(gè)組織和封裝.場景管理也需要重寫部分.換裝系統(tǒng)和技能系統(tǒng)3D引擎的二次開發(fā)為什么需要一個(gè)對3D引擎的二次開發(fā):購買的37引擎的分類,代表作品高層,魔獸爭霸地圖編輯器??焖?、簡單易用。只適用于某個(gè)游戲,用來做新關(guān)卡、資料片。中層,unreal、lithtech。相對快速、簡單易用,對開發(fā)人員要求較低。(三個(gè)月學(xué)習(xí)期)。靈活性中等,適合某一類游戲(第一人稱射擊、即時(shí)戰(zhàn)略)底層,gamebryo、ogre。需要二次開發(fā),對開發(fā)人員要求高。靈活性大,適合各種游戲。引擎的分類,代表作品高層,魔獸爭霸地圖編輯器。快速、簡單易用38國內(nèi)技術(shù)現(xiàn)狀天龍八部ogre引擎的成功,完美自主研發(fā)引擎的成功使國內(nèi)游戲開發(fā)界認(rèn)識(shí)到3D游戲引擎的威力。目前多采用基于對Gamebryo,Ogre的二次開發(fā),或者是自主引擎的研發(fā)。國內(nèi)整體引擎開發(fā)能力較低,經(jīng)常會(huì)犯嚴(yán)重的錯(cuò)誤。國內(nèi)技術(shù)現(xiàn)狀天龍八部ogre引擎的成功,完美自主研發(fā)引擎的成39近期技術(shù)路線趨勢may引擎架構(gòu)圖近期技術(shù)路線趨勢may引擎架構(gòu)圖40近期技術(shù)趨勢支持多核,渲染線程化。任務(wù)從CPU到GPU的轉(zhuǎn)移。可編程渲染管線的支持。近期技術(shù)趨勢支持多核,渲染線程化。41100人測試場景(單線程)100人測試場景(單線程)42100人測試場景(多線程)100人測試場景(多線程)43100粒子反射器測試場景(單線程)100粒子反射器測試場景(單線程)44100粒子反射器測試場景(多線程)100粒子反射器測試場景(多線程)45怎樣開始你的3D引擎學(xué)習(xí)門檻:c\c++,3D圖形數(shù)學(xué)基礎(chǔ),超強(qiáng)的耐心,英文基礎(chǔ)。1.選擇一個(gè)圖形API(D3D\OpenGL,連Carmark都放棄了OpenGL,所以還是D3D吧)2.D3D的學(xué)習(xí),最好的參考文檔還是DXSDK的幫助文檔。從DXSDK最簡單的Tutorial程序開始,逐漸的研習(xí)其中復(fù)雜的例子,并且同時(shí)開始實(shí)時(shí)圖形學(xué)的學(xué)習(xí)。3.當(dāng)比較精通D3D,和圖形學(xué)時(shí),可以開始看一些引擎設(shè)計(jì)的書籍,研習(xí)一兩個(gè)商業(yè)引擎的代碼(推薦Gamebryo,結(jié)構(gòu)清晰,不推薦unreal3)。4.開始寫自己的引擎,或者參與到一個(gè)引擎的項(xiàng)目中去。怎樣開始你的3D引擎學(xué)習(xí)門檻:c\c++,3D圖形數(shù)學(xué)基礎(chǔ),46怎樣開始你的3D引擎學(xué)習(xí)重要的資料1.DXSDK幫助文檔2.RealtimeRendering3.3D.Game.Engine.Architecture.Engineering.Real-Time.Applications.with.W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)醫(yī)療健康平臺(tái)合作合同
- 物聯(lián)網(wǎng)智能安防系統(tǒng)建設(shè)合同
- 電影行業(yè)內(nèi)容創(chuàng)作合作合同
- 紅樓夢中的人物形象解讀
- 零售業(yè)品牌合作合同
- 南京汽車配件研發(fā)制造轉(zhuǎn)讓合同
- 數(shù)據(jù)中臺(tái)建設(shè)及運(yùn)營服務(wù)合同
- 辦公樓工程裝修合同
- 私人花藝師插花設(shè)計(jì)服務(wù)合同
- 二零二四年度農(nóng)業(yè)綜合開發(fā)土地合作開發(fā)合同3篇
- 集團(tuán)母子公司協(xié)議書
- 中醫(yī)病證診斷療效標(biāo)準(zhǔn)
- 南安市第三次全國文物普查不可移動(dòng)文物-各鄉(xiāng)鎮(zhèn)、街道分布情況登記清單(表五)
- ITSMS-D-038 問題記錄表范本
- 第1課+古代亞非(教學(xué)設(shè)計(jì))【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 新教科版六年級下冊科學(xué)全冊教案
- 物業(yè)客服管家的培訓(xùn)課件
- 2024年房地產(chǎn)行業(yè)的樓市調(diào)控政策解讀培訓(xùn)
- 《統(tǒng)計(jì)學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語言-時(shí)間序列分析和預(yù)測
- 【高速鐵路乘務(wù)工作存在的問題及對策研究9800字】
- 北師大版英語課文同步字帖三年級下冊課文對話原文及翻譯衡水體英語字帖三年級起點(diǎn)
評論
0/150
提交評論