青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

的筆記

隨時(shí)隨地編輯

Page系統(tǒng)設(shè)計(jì)思想

Page系統(tǒng)設(shè)計(jì)思想

Steve Streeting
Page系統(tǒng)作為Ogre(1.7.2)的核心組件,其設(shè)計(jì)理念如下:

 

1.         勿須假定Page系統(tǒng)明確了解世界,世界的新的組成部分不僅具備可以被用于動(dòng)態(tài)加載定義好的數(shù)據(jù)的特性,還必須有被動(dòng)態(tài)"發(fā)現(xiàn)\探索到"的特性.

:對(duì)原有的世界必須也有個(gè)改進(jìn),讓其具備一定被動(dòng)態(tài)發(fā)現(xiàn)的特性.

2.         允許多策略決定頁面的生命周期---烏鴉飛行距離路線案例就是一個(gè)很好的印證[1],但我們也必須允許其他策略(尤其是在密集的、閉塞的場(chǎng)景中,它可能是連通或閉塞的區(qū)域狀態(tài))的存在.

3.         將分頁策略(Paging Strategy)和分頁內(nèi)容當(dāng)做一個(gè)正交概念對(duì)待,亦即你可以用多種方式混合和匹配組合它們.

4.         勿須假定分頁是規(guī)則的尺寸,或者分頁占據(jù)獨(dú)特的、非重疊的空間區(qū)域。

5.         支持設(shè)置多種多樣結(jié)構(gòu)的分頁。可以是網(wǎng)格的地形,也可以是巖洞結(jié)構(gòu)的'蛇型'區(qū)域。

6.         頁面之間的過渡不能有具體類型相關(guān)的細(xì)節(jié)信息,關(guān)鍵是需要支持各種不同的場(chǎng)景的過渡,例如從洞穴結(jié)構(gòu)到二維地形再到空曠空間。

7.         可以在一個(gè)獨(dú)立線程中完成分頁的加載,不管是在全線程或半線程下都可以用相同的形式將資源作為可用資源來使用[2]

8.         分頁應(yīng)該在物理內(nèi)容變化的時(shí)候支持多重LODs。分頁中的內(nèi)容可以有自己的LOD,但我們也應(yīng)該允許物理內(nèi)容在更高級(jí)別上也可以發(fā)生變化。

9.         現(xiàn)在還不支持分頁坐標(biāo)系。為了配合大世界的精細(xì)處理,可以使用雙精度坐標(biāo)系和與攝像機(jī)相關(guān)的渲染方法。頁面相關(guān)的坐標(biāo)系需要一個(gè)較大的代碼變動(dòng),主席肯定不允許冒這么大的風(fēng)險(xiǎn)把這差事給我這大把年紀(jì)的程序猿去做滴,那就預(yù)留給以后的版本完成。

10.     總的來說,對(duì)分頁系統(tǒng)的支持不能過分要求場(chǎng)景管理器有太多改動(dòng),公主澤肯定會(huì)不高興滴,那這些就保留到2.0版的時(shí)候再搞吧。

 

PageManager(頁面管理器)

       主要作用是提供PageStrategy、PageContentFactory這樣的擴(kuò)展類的一個(gè)中心注冊(cè)入口,同是也是訪問當(dāng)前加載的世界分頁(PagedWorld)的地方。我還沒有決定是將其掛在核心的Root下還是讓它作為一個(gè)獨(dú)立庫讓使用者引用。

 

PagedWorld(世界分頁)

       這個(gè)基本上是整個(gè)結(jié)構(gòu)中的數(shù)據(jù)驅(qū)動(dòng)部分。一個(gè)PagedWorld是世界中內(nèi)容的集合,可以從文件中加載或在代碼中定義。最重要的是,它不需要?jiǎng)?chuàng)建其中的全部東西---頂多需要?jiǎng)?chuàng)建一個(gè)分頁世界區(qū)域(PagedWorldSections),并且可以在定義了“重生點(diǎn)”的情況下選擇性的創(chuàng)建一個(gè)分頁入口點(diǎn)(PageEntryPoints,在出現(xiàn)不可能簡(jiǎn)單獲的從一個(gè)相機(jī)的世界位置加載分頁需要的數(shù)據(jù)源的情況下,這點(diǎn)非常重要)。 用這種適當(dāng)?shù)姆绞?,?qǐng)求就能動(dòng)態(tài)的加載余下需要的部分。

 

PagedWorldSection(世界分頁區(qū)域)

       這是世界的一個(gè)組成區(qū)域,它符合特定的分頁策略。例如,室外2D地形區(qū)域(這里的'地形'我的意思是:它在結(jié)構(gòu)上是2D的,而不是指它定義了地形的內(nèi)容)可能會(huì)使用一個(gè)策略,并被限定使用一種方式;室外的天空區(qū)域可能使用另一種策略,一個(gè)復(fù)雜的室內(nèi)區(qū)域可能使用再另一種策略。這里只需要掌握一個(gè)高層次的描述---世界的區(qū)域編號(hào)(section id)、通用邊界信息以及可選的入口點(diǎn)(僅僅包含一個(gè)坐標(biāo)和一個(gè)頁面標(biāo)識(shí)符 ---在策略缺失而通過上下文無法將坐標(biāo)點(diǎn)直接轉(zhuǎn)換成一個(gè)分頁的情況下尤為重要)

注:Section這里指組成某個(gè)整體的一部分區(qū)域。Space這里指地形上的天空,不是天空盒。

 

PageStrategy(分頁策略)

       這個(gè)類是負(fù)責(zé)決定如何加載和清除分頁,并且可以選選擇僅從世界位置獲得一個(gè)分頁(和一個(gè)PagedWorldSection)。每當(dāng)攝像機(jī)移動(dòng)的時(shí)候,PageStrategy負(fù)責(zé)決定如何響應(yīng)一個(gè)在世界分頁區(qū)域(PagedWorldSection)中的頁面請(qǐng)求。它可能是一個(gè)網(wǎng)格系統(tǒng),這個(gè)時(shí)候它可能使用頁面之間的關(guān)聯(lián)性來確定遍歷的深度。無論如何,只要給定了一個(gè)世界統(tǒng)一坐標(biāo)、一個(gè)存在的分頁或一個(gè)分頁入口點(diǎn)(PageEntry point),這個(gè)策略就必須能夠決定哪些分頁必須被請(qǐng)求、哪些分頁必須被拋棄。分頁策略(PageStrategy)被設(shè)計(jì)成具備用戶可擴(kuò)展性。

 

Page(頁面)

這個(gè)類聚合了一個(gè)數(shù)據(jù)頁的所有表述。它雖然定義了頁面,但實(shí)際上不包含其自身的任何數(shù)據(jù)。相反,它只是包含了一個(gè)LOD levels的列表和一個(gè)LOD策略的引用。每個(gè)分頁在世界區(qū)域里都有一個(gè)唯一的ID。

 

PageLOD(頁面層級(jí))

       這個(gè)是為了在需要的情況下讓頁面內(nèi)容不止一次加載完。例如,您可能想要一個(gè)分多個(gè)階段加載的分頁,其中包括最基本的內(nèi)容與一個(gè)距離相關(guān)的非常簡(jiǎn)單的定義,然后是包括靠近的時(shí)候更多細(xì)節(jié)的定義。我打算重用可插拔的LodStrategy類來表現(xiàn)這些轉(zhuǎn)換規(guī)則(transition rules)。

        現(xiàn)在定義我們頁面加載中所需單位化的特殊標(biāo)記:“世界ID:世界區(qū)域ID:分頁ID:分頁層級(jí)索引 (WorldIDWorldSectionIDPAGEIDPageLODIndex)”。我可能會(huì)在一個(gè)適當(dāng)?shù)牡胤椒胖靡粋€(gè)可插拔的轉(zhuǎn)換系統(tǒng),這樣就可以運(yùn)用這些數(shù)字,并將其轉(zhuǎn)換成一個(gè)獨(dú)特的資源來加載---這個(gè)資源可能簡(jiǎn)單到是一個(gè)文件(“myworld_sec1_p1234_0.dat”),或者可以轉(zhuǎn)換成一個(gè)現(xiàn)成的已打包好的資源文件或類似東西中的一個(gè)偏移量。

 

PageContent(頁面內(nèi)容)

       雖然PageLOD是加載的單位量,但是你可能還想要包含多種不同類型的內(nèi)容。例如,在一個(gè)分頁中你可能有一塊地形、一些靜態(tài)幾何體、一些自定義的用戶數(shù)據(jù)(如觸發(fā)區(qū)域,世界中的物體等)。因此使用了PageLOD你就可以有多個(gè)PageContent實(shí)例,它們都被放在一起加載,但每一個(gè)實(shí)例都會(huì)有自定義數(shù)據(jù)格式和同樣的套路用于將其在線獲取。在加載時(shí),它們都將被工廠系統(tǒng)實(shí)例化,而這個(gè)工廠系統(tǒng)則基于名字加載器來實(shí)現(xiàn)的。

 

       這些不同類型的頁面內(nèi)容(PageContent)中的每一種也都可以自由地做他們自己的LOD版本的事情。例如,如果某個(gè)內(nèi)容包括了創(chuàng)建一些實(shí)體的實(shí)例并且它們是使用了LOD的網(wǎng)格,那么這個(gè)情況下將仍然提出申請(qǐng)。對(duì)于地形,每個(gè)分頁都有它自己的細(xì)分(subdivisions)與LOD,但其前提是這是一個(gè)基于內(nèi)存的LOD,適合于輕量級(jí)的動(dòng)態(tài)調(diào)整,而更高級(jí)別的PageLOD則更重量級(jí)并在實(shí)際上改變頁面內(nèi)容、造成內(nèi)存占用(memory footprint)的變化等(也同樣被潛在的執(zhí)行了)。這就是為什么存在兩種類型的LOD的原因,它們并非互相重復(fù)。頁面內(nèi)容(PageContent)和頁面內(nèi)容工廠(PageContentFactory)都被設(shè)計(jì)成具備用戶可擴(kuò)展性。

 

Phew(瑪雅)

       瑪雅,好吧,這是我有生以來寫出的內(nèi)容最多的帖子之一。我希望一切看起來都很好---不過它仍然不夠精煉,因此沒有任何內(nèi)容是一成不變的,但我已經(jīng)花了相當(dāng)多的時(shí)間來思考整體架構(gòu)、我要支持什么樣的功能以及擴(kuò)展點(diǎn)在哪里,所以我很高興為公主澤做了這么多。歡迎評(píng)論!

 

Steve Streeting

Tue Mar 03, 2009 7:39 pm



[1] 一個(gè)著名的策略分析案例,指烏鴉飛行路線有一定隨機(jī)性,可能很遠(yuǎn),可能很近.

[2] with the same modes as available for resources

posted on 2013-04-14 11:27 的筆記 閱讀(3002) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区电影在线观看| 国产资源精品在线观看| aa亚洲婷婷| 亚洲精品综合久久中文字幕| 欧美美女bb生活片| 亚洲综合精品一区二区| 午夜国产不卡在线观看视频| 国内成+人亚洲| 亚洲国产日韩欧美在线99 | 亚洲欧美电影在线观看| 一区二区三区久久网| 国产日韩高清一区二区三区在线| 久久久久久久高潮| 欧美国产日产韩国视频| 午夜久久黄色| 老鸭窝亚洲一区二区三区| 一本色道**综合亚洲精品蜜桃冫 | 一本大道久久a久久综合婷婷| 欧美日韩一视频区二区| 久久久久国色av免费观看性色| 久久综合九色九九| 亚洲综合成人在线| 久久综合久色欧美综合狠狠 | 国产午夜亚洲精品理论片色戒| 久久综合网络一区二区| 欧美日韩亚洲一区二区三区在线观看| 欧美一级播放| 欧美a级片网| 久久久99国产精品免费| 欧美日韩精品免费观看视一区二区| 欧美一级大片在线免费观看| 久久全国免费视频| 一本到高清视频免费精品| 国产日韩av在线播放| 亚洲人www| 激情丁香综合| 亚洲一区精品电影| 日韩午夜三级在线| 久久天堂国产精品| 午夜一区不卡| 欧美三级精品| 欧美成人午夜激情在线| 国产一区二区看久久| 99在线|亚洲一区二区| 亚洲高清电影| 久久国产婷婷国产香蕉| 亚洲欧美国产日韩天堂区| 欧美精品久久99久久在免费线| 久久久国产成人精品| 国产精品五月天| 一本综合久久| 一区二区三区高清| 欧美久久久久| 最新国产成人在线观看| 亚洲高清不卡在线| 鲁大师成人一区二区三区| 久久久精品一区二区三区| 国产精品亚洲综合久久| 中国av一区| 欧美一级理论性理论a| 国产精品爽爽爽| 亚洲欧美韩国| 久久嫩草精品久久久精品| 国产亚洲电影| 久久国产精品99精品国产| 欧美一区二区三区免费观看视频| 欧美午夜精品久久久久久孕妇 | 日韩视频一区二区| 99精品欧美一区| 欧美精品一区二区三区在线看午夜| 亚洲国产精品久久久久婷婷老年 | 亚洲欧美日韩专区| 国产精品一区二区三区久久久| 亚洲天堂成人在线视频| 香蕉成人啪国产精品视频综合网| 国产精品青草久久久久福利99| aa级大片欧美三级| 欧美在线免费观看| 一区二区三区在线视频免费观看| 开心色5月久久精品| 亚洲精品久久嫩草网站秘色| 国产精品99久久久久久久久久久久| 欧美视频一区二区三区在线观看| 亚洲午夜av电影| 久久免费高清视频| 亚洲精品1区2区| 欧美欧美全黄| 欧美一级黄色网| 免费观看久久久4p| 中文在线一区| 国产一区二区精品丝袜| 欧美电影在线观看完整版| 99热这里只有精品8| 亚洲伦理在线免费看| 欧美在线日韩| 免费在线看一区| 一区二区三区|亚洲午夜| 久久xxxx精品视频| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲一区图片| 欧美高清你懂得| 亚洲一区综合| 亚洲欧洲一区二区在线播放| 欧美午夜久久久| 久久综合影视| 午夜精品福利一区二区三区av | 亚洲久久一区| 久久久久综合网| 亚洲天堂男人| 亚洲欧洲三级电影| 国产一级一区二区| 欧美新色视频| 欧美区亚洲区| 久久一区二区精品| 亚洲欧美一区二区三区久久| 亚洲精品欧美| 亚洲国产二区| 葵司免费一区二区三区四区五区| 亚洲一区二区三区四区在线观看 | 久久综合给合| 欧美亚洲综合另类| 国产精品99久久不卡二区| 亚洲黄网站黄| 亚洲国产另类久久精品| 国产综合色产| 国产日韩久久| 国产日韩精品在线| 国产乱码精品一区二区三区忘忧草 | 亚洲国产岛国毛片在线| 久久亚洲精品一区| 欧美一区二区在线播放| 午夜电影亚洲| 午夜精品久久久久久久男人的天堂 | 欧美在线视频播放| 亚洲永久字幕| 亚洲欧美久久| 香蕉久久夜色精品国产使用方法| 一区二区三区国产在线观看| 亚洲美女诱惑| 一区二区三区产品免费精品久久75 | 亚洲久久在线| 99国产精品一区| 一区二区日韩免费看| 一区二区三区高清| 亚洲女ⅴideoshd黑人| 亚洲线精品一区二区三区八戒| 亚洲精品欧美极品| 99视频热这里只有精品免费| 国产午夜一区二区三区| 麻豆精品一区二区综合av| 久久资源av| 欧美高清视频www夜色资源网| 麻豆成人小视频| 欧美精品不卡| 国产精品毛片| 亚洲精品裸体| aa级大片欧美| 午夜亚洲性色福利视频| 久久久久久国产精品mv| 你懂的视频欧美| 欧美日韩国产一区二区| 欧美视频官网| 国内精品亚洲| av成人免费| 欧美一区网站| 欧美激情小视频| 亚洲特色特黄| 久久婷婷国产综合精品青草| 欧美激情自拍| 国产日韩视频一区二区三区| 亚洲第一精品电影| 亚洲午夜免费视频| 老司机免费视频一区二区三区| 亚洲激情不卡| 亚洲小少妇裸体bbw| 久久先锋影音| 国产精品久久久久av免费| 原创国产精品91| 亚洲一级片在线看| 欧美成人在线免费视频| 亚洲深夜福利| 欧美高清在线播放| 国产日韩欧美日韩大片| 日韩亚洲国产精品| 久久阴道视频| 在线视频一区观看| 欧美成人免费大片| 国产亚洲精品久久久久婷婷瑜伽| 亚洲美女中文字幕| 久久人人97超碰精品888| 一级成人国产| 欧美大胆成人| 在线免费高清一区二区三区| 欧美一区二区三区在| 亚洲精品免费电影| 另类专区欧美制服同性| 国产日韩视频| 性做久久久久久| 99香蕉国产精品偷在线观看| 欧美国产激情二区三区|