• <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>

            永遠(yuǎn)也不完美的程序

            不斷學(xué)習(xí),不斷實(shí)踐,不斷的重構(gòu)……

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            好友鏈接

            最新評(píng)論

            渲染流程要放到渲染物外面的地方

                   研究ogre會(huì)發(fā)現(xiàn),整個(gè)渲染流程是放到了scenemanager里面實(shí)現(xiàn),而不是放到具體的渲染物里面。這樣做的好處是:所有渲染物在場(chǎng)景中統(tǒng)一了渲染流程,而且比放到渲染物內(nèi)更靈活。舉個(gè)例子,假如渲染物要在某個(gè)特定環(huán)境(假如是某個(gè)rendertarget)下渲染,而且慢慢旋轉(zhuǎn)。這時(shí)沒(méi)有場(chǎng)景,沒(méi)有場(chǎng)景結(jié)點(diǎn),但渲染物的渲染流程卻寫(xiě)在了渲染物內(nèi)部,因此,所有的矩陣變換對(duì)渲染物都起不了作用。這時(shí)怎么辦呢?是要修改渲染物的渲染函數(shù),還是為這個(gè)rendertarget添加一些場(chǎng)景的屬性,能讓這個(gè)渲染物走正常的流程呢?所以問(wèn)題就產(chǎn)生了,把渲染流程寫(xiě)死在渲染物內(nèi)是不好的。
                   根據(jù)研究看到,ogre的整個(gè)渲染流程寫(xiě)在scenemanager就避免了上述的問(wèn)題的產(chǎn)生。所以在引擎設(shè)計(jì)時(shí),盡量把所有的渲染物的渲染流程提取到外面進(jìn)行,而不要寫(xiě)死在里面。
                   渲染流程大概如下: 
                    1、設(shè)置世界矩陣。
                    2、提取渲染物的材質(zhì),走多pass流程。
                    3、設(shè)置渲染物的紋理等。
                    4、設(shè)置渲染物在當(dāng)前pass的渲染狀態(tài)。(包括光照,gpu program等)
                    5、提交頂點(diǎn)數(shù)據(jù)(SetStreamSource)。
                    6、渲染(Draw)。

            posted on 2010-06-22 17:07 狂爛球 閱讀(2206) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 圖形編程

            評(píng)論

            # re: 渲染流程要放到渲染物外面的地方 2010-06-22 21:21 小時(shí)候可靚了

            寫(xiě)在場(chǎng)景管理里面有個(gè)好處就是可以很容易提取場(chǎng)景相關(guān)的信息。但是如果想要更靈活,可以再單獨(dú)出一個(gè)"RenderControl"來(lái),它專門負(fù)責(zé)渲染。畢竟場(chǎng)景管理和圖形分開(kāi)更有好處。 而對(duì)于一些高級(jí)效果的實(shí)現(xiàn),則不必像OGRE那樣和場(chǎng)景掛得很死。反之,可以在RenderControl里面做特定的效果器。 這樣對(duì)于場(chǎng)景管理的升級(jí)和改動(dòng)都不需要?jiǎng)佑脠D形層的東西。而圖形層的升級(jí)也不需和場(chǎng)景管理掛鉤。---- 畢竟有些是直接做3DMMO,而有些是用3D來(lái)做2D,管理方式多有不同。。。另外,效果器也可以通過(guò)直接用材質(zhì)文件來(lái)配置,只是這樣材質(zhì)文件就需要包含特定的信息。并且你的RenderControl應(yīng)該根據(jù)不同的材質(zhì)決定繪制內(nèi)容(如是否多PASS,硬件是否支持等)。 這是我們工作中采用的做法,歡迎交流!  回復(fù)  更多評(píng)論   

            # re: 渲染流程要放到渲染物外面的地方 2010-06-23 13:11 liangairan

            @小時(shí)候可靚了
            謝謝你的交流,我會(huì)嘗試一下!  回復(fù)  更多評(píng)論   

            久久夜色精品国产www| 中文字幕成人精品久久不卡 | 亚洲va久久久噜噜噜久久| 一本久久a久久精品亚洲| 久久青青草原精品影院| 久久久久噜噜噜亚洲熟女综合| 热re99久久6国产精品免费| 亚洲国产精品久久久久婷婷老年| 免费精品国产日韩热久久| 国产成人久久激情91| 一级女性全黄久久生活片免费 | 精品久久久久一区二区三区| 婷婷国产天堂久久综合五月| 成人精品一区二区久久| 亚洲国产另类久久久精品黑人| 久久国产精品无码网站| 久久亚洲精品国产精品| 亚洲国产成人久久综合野外| 久久免费国产精品一区二区| 亚洲中文久久精品无码ww16| 亚洲欧洲久久久精品| 一本大道久久a久久精品综合| 亚洲精品无码专区久久久| 久久综合成人网| 久久丝袜精品中文字幕| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品久久久久久福利69堂| 久久人人爽人人爽人人片AV东京热 | 久久99久国产麻精品66| 亚洲午夜久久久| 亚洲国产成人久久一区WWW| 久久www免费人成看国产片| 韩国无遮挡三级久久| 人人狠狠综合久久88成人| 日韩人妻无码精品久久免费一 | 久久中文娱乐网| 久久久久久久99精品免费观看| 中文字幕成人精品久久不卡| 中文字幕亚洲综合久久2| 久久99国产一区二区三区| 久久久久久久久久免免费精品|