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

芳草春暉

偶爾記錄自己思緒的地方...

 

Ogre 1.7版本重大改進(jìn) (轉(zhuǎn))

Ogre新的版本在年后首次發(fā)布了。1.7較之以往的版本有了長足的進(jìn)步。
由于跟SOC的互動,Ogre 1.7開始慢慢滲透了更多只有商業(yè)引擎才有的功能。這得益于最初優(yōu)良的框架。

下面一個一個道來。

1.改了個名字,似乎是另外一個怪獸。:) 協(xié)議改變,現(xiàn)在是MIT了,總之就是更自由了。
2.Sample Browser的引入,社區(qū)里有篇寫的很詳細(xì)的文章。很多商業(yè)引擎都有,個人覺得實行用其實一般,屬于引擎的噱頭。以后只需要進(jìn)行一次資源重建就可以切換包括渲染系統(tǒng)等等東西,不用重新運行可執(zhí)行文件。
3.使用CMake來構(gòu)建,好處就不說了,社區(qū)里也有帖子很詳細(xì)。
重點來了啊~~
一.地形系統(tǒng)重大改進(jìn)。
1. 地形管理從場景管理中獨立出來,成為一個可選組建
2. 內(nèi)置了可編輯功能 (不過功能還不強(qiáng)大哈)
3. 使用了批量渲染。當(dāng)頂點數(shù)量隨著LOD遞減時,渲染的批次也會遞減。最低的Lod渲染批次的數(shù)量為1
4. Lod可以實時的與Camera設(shè)置進(jìn)行適配。因此可以方便在不同的視角中使用同樣的地形
5. Skirts技術(shù)替代了早期的縫合技術(shù)來出來地形的裂縫。

這里解釋下。Skirts不知道國內(nèi)通用的翻譯是什么。直接翻譯成“裙子”也行。大片地形渲染中,不同的Lod層次的地塊由于有不共用的頂點所以一定會造成裂縫(Cracks)。老的解決辦法就是縫合,通過削減高級別Lod地塊的邊緣頂點數(shù)或者增加低級別地塊的邊緣頂點數(shù)來做過渡。這樣的缺點是,無論哪種方法都要重新遍歷整塊地形然后重新進(jìn)行三角形剖分。對地形的分頁和緩存帶來很大的麻煩。
Skirts的做法,則是對每個分塊的四條邊,在現(xiàn)有的頂點的基礎(chǔ)上再延伸出一圈,并且與單個分塊的邊界共享頂點,而高度值不同,這種延伸出來的一圈叫做“裙子”(Skirts)。蠻形象的把,呵呵。只要保證頂點的高度值足夠大,兩個分塊的裙子可以把裂縫遮擋住。
這種消除裂縫的方式唯一缺點是會增加繪制的三角形數(shù)量,但是對于現(xiàn)在的圖形處理器來講,這種三角形數(shù)量的額外增加不會帶來性能上的下降。

6. 內(nèi)建了地形的保存和加載,并且是在后臺線程里完成的
7. 支持多層材質(zhì)融合,可配置的采樣輸入,以及可插件化的材質(zhì)。
8. 支持生成全局Normal maps和light maps.同樣也是在后臺線程完成的。


二.Compositor的重大改進(jìn)
這也是去年實際做項目中遇到的最麻煩的問題。由于不能共享,導(dǎo)致過渡的耗費,讓我們不得不放棄了某些后期的效果。現(xiàn)在終于解決了。就是通過了一個叫‘pooled’的東西。

1. 當(dāng)不同的合成器實例使用一個相同大小和格式的表面時可以被共享,這樣可以節(jié)省內(nèi)存。
就是說rendertarget如果設(shè)的一樣的話,就可以被用來用去了。

2. 系統(tǒng)會幫你偵測這個合成器實例鏈以避免相互依賴。

3. "pooled"需要在定義紋理時顯式被激活。注意下,這個激活不是默認(rèn)的。因為一旦它被激活,你就沒法完全看到那些作為中間過程的紋理了。(因為他們可以通過共享的方式互相傳遞(ping-ponging),或者叫反射吧);但是如果用戶又恰好需要,所以就設(shè)置了默認(rèn)不激活。

其實很好理解,就是說如果"pooled"被激活,那么那些被用來ping-ponging的紋理就得不到了,因為不作為最終結(jié)果的圖不會被保存,那個被共享的rendertarget會被反復(fù)擦寫。所以說,你如果到最后又想用那些圖,就不能激活"pooled"也就是說,使用默認(rèn)了就可以了。

4. 另外一個就是可以在運行時,交換兩個Compositor。Technique現(xiàn)在都有一個自己的名字"scheme"。交換的時候只要通過名字來所以就可以了。不用麻煩的再去用大量的宏定義去判斷什么的,以前做法是判斷硬件是否支持啊,或者自定義幾種表現(xiàn)方式啊。現(xiàn)在都不用了。因為那樣看起來會很亂。

5. 現(xiàn)在也可以保存和共享一個用過的紋理,保證向前向后交換都變得更快。
另外還有一些細(xì)節(jié)修改:
a.不想繼承FSAA的,需要設(shè)置下'no_fsaa'。
b.支持逐紋理sRGB gamma校正。
c.跨Compositor的通信。
i.使用chain_scope 或 global_scope 直接可以定義紋理來自于其他的地方。
ii.使用texture_ref,可以直接從其他Compositor或公共部分引用一個紋理。
d.Compositor代碼之間連接被改進(jìn)了
i.可以自定義一個合成器pass。不僅僅是quad/scene/clear啦。要用render_custom來激活這個自定義的類型。
ii.可以自動使用CompositorLogics,來使compositor和相關(guān)的代碼連接(例如使用一個compositor監(jiān)聽者)

PS:compositor這種東西在其他引擎中還很少見到,原因是涉及的東西太復(fù)雜,不好抽象,如果限制太多,后期做起來就很困難。Ogre算是一個嘗試把,不是實際用起來還是有不少地方不太方便使用。等大牛們慢慢重構(gòu)把,希望以后對后期制作方面的設(shè)計是個幫助。



三:增加了幾個很牛X的組件
1.RTSS組件。

這個太強(qiáng)了,以前材質(zhì)腳本都需要一個懂美術(shù)&懂技術(shù)的人員來搞定。現(xiàn)在不用了,在畫面上點點UI,保存下,就完成了一個Shader文件。并且里面支持per-pixel lighting, normal mapping and shadows等更多內(nèi)容。
已經(jīng)有點gamebryo的意思了。GB里做的只是把這個生成Shader的方式跟Max結(jié)合到了一起。而作為Ogre我也覺得應(yīng)該有自己的一套pipeline,并且集成好用的工具提供給游戲開發(fā)人員。現(xiàn)在看到個雛形,挺高興。
實現(xiàn)過程其實還是蠻復(fù)雜的,特別是構(gòu)建一個ShaderTree系統(tǒng),具體的關(guān)于Gamebryo的實現(xiàn),做個廣告,http://www.guibian.com。可以去我Blog看羅。
另外,我覺得這還不夠帥,按照這樣發(fā)展下去,SOC2010應(yīng)該能作出類似UE3的東西,就是拖拖拉拉出Shader。至少我覺得在Ogre現(xiàn)有框架下實現(xiàn)并不復(fù)雜。

2.分頁組建。
新的分頁組件從場景管理器中獨立開,分拆成為幾個不同的可選組件。
插件化的策略組件來控制場景中的分頁。插件化的內(nèi)容組件來控制分頁的內(nèi)容。
插件化的集合組件用來組合不同的分頁(比如 在一個頁中分出多個LOD級別)

四:支持Iphone
估計地球人都知道了,自己去看代碼把。很多Objective C的東西,看起來很親切把。:) 我的Ip已經(jīng)能跑起來了。就是速度還有待提升。另外別忘了先預(yù)解析一下材質(zhì)腳本,不然解析Shader很費電。 - -||


五:幾個不加解釋的翻譯
1. 場景管理器的修改,可以中途暫停一幀的渲染(比如通過在一個過程中使用回調(diào)函數(shù)),暫停后可以觸發(fā)另一個渲染,最后在恢復(fù)。這是之前在商業(yè)引擎中看到的。而且是個很有用的功能。
2.添加了一個選項可以手動觸發(fā)陰影圖的更新,比方在有特殊光照的時候。
兩個方法結(jié)合起來很有用。當(dāng)有多重shadowmap的時候,紋理就可以被重用了。
其實還是Compositor里的東西,另外跟DS有關(guān)。

抗鋸齒的改變
1.支持CSAA,dx9和10中可以使用。
2.簡化了并標(biāo)準(zhǔn)化了AA的設(shè)置。
在Root的config選項里。所有情況下都加FSAA,組合上一個采用方式和一個提示字符串。通過空格分隔。
在createRenderWindow的miscParams參數(shù)上你可以提供 "FSAA" 和 "FSAAHint"參數(shù),前面是這個采樣的倍數(shù),后面是一些提示(例如質(zhì)量)
PS:怎么跟gamebryo越來越像,懷疑google code這些家伙是GB的倒戈。

光照的改變
1.陰影攝像機(jī)的遠(yuǎn)近裁減面設(shè)置支持每盞燈光。
2.可以通過調(diào)用MovableObject::setLightMask來設(shè)置渲染物體mask光照,一個可渲染物體的掩碼與燈光掩碼按位求與,如果是0,燈光就被排除。

LOD的改變
LOD不再使用距離作為度量來區(qū)分了。
LOD策略現(xiàn)在在材質(zhì)和網(wǎng)格上都能被設(shè)置,或者按照距離,或者按照像素數(shù)。當(dāng)然也可以很方便的添加新的策略。
STL容器
所有的STL 容器現(xiàn)在使用自定義的內(nèi)存分派。

優(yōu)化
固定管線的光照狀態(tài)更加智能化,為了處理物體數(shù)量巨大的時能發(fā)揮更好的性能。
著色器參數(shù)更新現(xiàn)在更加有選擇性了,減少不必要的更新。

GpuProgramParameters改變
多個cg程序或者材質(zhì)基本中需要共享的參數(shù)可以在一個地方定義和更新。代碼看這里:GpuProgramManager::createSharedParamerers
當(dāng)Gpu程序的基類被改變或者重加載以后,參數(shù)會自動被移植。改變后任然可以使用的參數(shù)將合并到新的參數(shù)中去。

文件系統(tǒng)的改變
支持創(chuàng)建和移除文件(僅在FileSystem中有效)

DataStream的改變
可寫數(shù)據(jù)流也支持了(同樣僅在FileSystem中有效)

加了一個新的類StreamSerialiser,是讀寫二進(jìn)制數(shù)據(jù)格式的新方法。

PS:看到Ogre開始也要用流格式來管理數(shù)據(jù)了

RenderWindow的改變
可以自定義v-sync的刷新頻率。并且硬件也要支持。

視口的改變
增加了一個clear方法來手動清除任何 顏色/深度/模板的組合,這個指定值不執(zhí)行更新操作。

圖片的改變
增加了 loadTwoImagesAsRGBA 和 combineTwoImagesAsRGBA 這兩個方法,使用它可以更容易的構(gòu)造 法線/高度圖 和 漫反射/高光圖等組合

線程也做了修改,大家自己去看把。


總結(jié)下,這次新版本作出的改變。感謝SOC的那幫牛人,Ogre越來越向著一個易用的引擎靠攏。開始借鑒很多商業(yè)引擎不錯的地方。開始慢慢解決在實際項目中遇到的問題。而他優(yōu)良的擴(kuò)展性被體現(xiàn)的很明顯。最初項目開發(fā)的時候,我們發(fā)現(xiàn)Ogre其實有很多"bug",之所以有個引號,是因為那不叫真正的Bug,由于Ogre在游戲項目中不太經(jīng)常的出場率,造成很多引擎設(shè)計上沒有考慮到的問題,不過我發(fā)現(xiàn)這個版本很多的新功能都彌補(bǔ)了那些缺陷。這些可喜的結(jié)果我相信在SOC2010后還會有個飛躍~

posted on 2010-05-18 17:43 CrazyDev 閱讀(1017) 評論(0)  編輯 收藏 引用


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


導(dǎo)航

統(tǒng)計

常用鏈接

留言簿(1)

隨筆檔案

文章分類

文章檔案

C/C++

CEGUI

Friend Bog

Game Industry

Lua

OGRE

Other

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲一区二区在线观看| 国产麻豆午夜三级精品| 亚洲福利国产精品| 另类春色校园亚洲| 六月天综合网| 一区二区三区国产| 亚洲综合色网站| 精品av久久707| 亚洲国产美国国产综合一区二区 | 亚洲欧美国产视频| 亚洲免费网站| 1000部精品久久久久久久久| 亚洲国产日韩欧美| 国产精品男人爽免费视频1| 久久国产精品久久w女人spa| 狂野欧美性猛交xxxx巴西| 99视频超级精品| 亚洲专区一区| 亚洲精品专区| 欧美在线高清| 在线综合视频| 久久日韩精品| 亚洲永久在线| 男人的天堂亚洲在线| 亚洲欧美春色| 欧美精品99| 久久婷婷久久| 国产精品国产三级国产a| 欧美18av| 国产欧美日韩一级| 亚洲欧洲一级| 又紧又大又爽精品一区二区| 99国产精品99久久久久久| 在线播放不卡| 性欧美精品高清| 夜夜狂射影院欧美极品| 久久精品一区| 欧美亚洲午夜视频在线观看| 欧美激情一二三区| 欧美理论在线| 一本色道久久综合| 久久久久国产精品一区二区| 亚洲免费人成在线视频观看| 蜜桃av一区二区三区| 欧美在线观看视频| 国产精品videosex极品| 亚洲国产精彩中文乱码av在线播放| 国产伦精品一区二区三区高清版| 亚洲人线精品午夜| 91久久精品美女高潮| 久久激情五月激情| 久久精品国产999大香线蕉| 欧美三级乱码| 一区二区三区免费观看| 99视频在线精品国自产拍免费观看 | 一区国产精品| 亚洲影院在线观看| 亚洲一区欧美二区| 国产精品www网站| 亚洲精品日韩在线| 日韩视频中文| 欧美麻豆久久久久久中文| 欧美激情在线免费观看| 亚洲国产另类精品专区| 麻豆freexxxx性91精品| 欧美大片在线观看| 亚洲国产老妈| 欧美激情第3页| 9国产精品视频| 亚洲欧美国产精品va在线观看 | 国产精品久久久久久影视| 一本色道久久综合精品竹菊| 亚洲无毛电影| 国产精品一区久久久| 午夜一区二区三区在线观看| 久久久亚洲综合| 在线成人免费观看| 欧美国产日韩一区| 一本到12不卡视频在线dvd| 小黄鸭精品aⅴ导航网站入口| 国产精品一区在线观看| 欧美一级网站| 欧美激情精品久久久久久久变态 | 国产综合欧美| 欧美福利一区| 亚洲欧美日韩国产综合| 浪潮色综合久久天堂| 亚洲精品资源| 国产精品日韩在线播放| 久久国产乱子精品免费女| 亚洲成色777777在线观看影院 | 国产女同一区二区| 久热精品视频在线观看一区| 亚洲精品一区二| 久久精品官网| 艳女tv在线观看国产一区| 国产精品亚洲综合一区在线观看| 久久精品一区二区三区不卡牛牛| 亚洲精品国产无天堂网2021| 欧美一区二区视频在线| 亚洲国产你懂的| 国产欧美日韩综合精品二区| 一本综合精品| 亚洲国产另类 国产精品国产免费| 欧美黄色一级视频| 亚洲欧美日韩国产成人| 亚洲精品1区| 久久只精品国产| 亚洲夜间福利| 亚洲欧洲精品一区二区三区不卡 | 美女网站久久| 午夜精品免费视频| 亚洲精品久久久一区二区三区| 久久精品论坛| 亚洲性色视频| 亚洲美女视频在线观看| 国模私拍视频一区| 国产精品国产三级欧美二区| 毛片av中文字幕一区二区| 性欧美xxxx视频在线观看| 一本色道久久综合狠狠躁篇的优点| 女生裸体视频一区二区三区| 亚洲欧美中文在线视频| aa级大片欧美| 亚洲欧洲精品一区二区三区 | 国产精品久久久久久久免费软件| 久久综合久久综合久久综合| 性欧美xxxx大乳国产app| 亚洲视频axxx| 一本色道久久综合狠狠躁篇怎么玩| 欧美国产日本在线| 美日韩精品免费观看视频| 久久久久久久综合色一本| 久久riav二区三区| 欧美一级大片在线免费观看| 亚洲欧美在线看| 午夜一区二区三区不卡视频| 亚洲一区二区日本| 亚洲午夜一区二区三区| 中文欧美字幕免费| 亚洲色图制服丝袜| 亚洲亚洲精品在线观看| 亚洲男女自偷自拍图片另类| 亚洲图片在区色| 亚洲欧美日韩综合国产aⅴ| 亚洲欧美日韩国产综合在线| 亚洲欧美日韩视频二区| 亚洲免费在线电影| 久久国产精品99国产精| 久久久精品2019中文字幕神马| 欧美在线国产精品| 久久精品视频网| 久久综合色播五月| 欧美黄色一区| 亚洲开发第一视频在线播放| 亚洲视频axxx| 久久久亚洲高清| 欧美精品免费在线| 国产精品久久毛片a| 国产欧美一区二区三区在线看蜜臀| 国产婷婷精品| 亚洲精品视频啊美女在线直播| 亚洲午夜精品久久| 久久婷婷国产综合尤物精品 | 新狼窝色av性久久久久久| 久久9热精品视频| 免费观看在线综合色| 亚洲乱码国产乱码精品精| 午夜精品福利一区二区蜜股av| 久久精品网址| 欧美日韩美女| 国产一区二区中文| 日韩一区二区电影网| 亚洲综合丁香| 免费成人av| 一区二区三区日韩精品视频| 久久九九国产精品怡红院| 免费亚洲电影在线观看| 国产精品一区在线观看你懂的| 亚洲精品中文字| 欧美激情一区二区三区在线| 国产精品网站视频| 亚洲激情小视频| 欧美在线免费一级片| 亚洲国产高清一区二区三区| 亚洲欧美国产制服动漫| 欧美国产激情| 亚洲第一区在线观看| 亚洲在线一区| 亚洲欧洲精品一区二区三区波多野1战4| a4yy欧美一区二区三区| 久久综合图片| 国产午夜精品福利| 亚洲一区二区三区精品视频 | 欧美专区第一页| 99精品国产一区二区青青牛奶| 久久综合久久综合久久| 国产亚洲一区二区三区在线播放| 99精品欧美一区二区三区| 免费在线视频一区|