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

            alligetor

            To hell and back

             

            OGRE筆記 1

            從頭開(kāi)始學(xué),部分代碼取自wiki

            wiki上給的第一個(gè)Tutorial 是Beginner Tutorial 1: The SceneNode, Entity, and SceneManager constru

            開(kāi)始的框架什么也沒(méi)有,不過(guò)給了一個(gè)TutorialApplication 類(lèi)的“空殼”而已
            #include "ExampleApplication.h"

            class TutorialApplication : public ExampleApplication
            {
            protected:
            public:
                TutorialApplication()
                
            {
                }


                
            ~TutorialApplication() 
                
            {
                }

            protected:
                
            void createScene(void)
                
            {
                }

            }
            ;

            然后大概就是先設(shè)置環(huán)境光,用setAmbientLight函數(shù),wiki上給的方法是
            mSceneMgr->setAmbientLight( ColourValue( 111 ) );
            注意里面ColorValue里面的元素是由0到1的。

            然后就可以創(chuàng)建“實(shí)體(Entity)”了,wiki的方法是
            Entity *ent1 = mSceneMgr->createEntity( "Robot""robot.mesh" );
            注意的是我們幾乎從來(lái)不在程序中直接創(chuàng)建一個(gè)entiry,場(chǎng)景中的entity的創(chuàng)建和管理一般是由scenemanager完成的,所以調(diào)用上面這個(gè)函數(shù)創(chuàng)建實(shí)體
            mSceneMgr是在ExampleApplication類(lèi)中已經(jīng)定義好了的(以后筆記中會(huì)專(zhuān)門(mén)介紹這個(gè)類(lèi))。createEntity這個(gè)函數(shù)有兩個(gè)參數(shù),第一個(gè)是實(shí)體的“名字”每個(gè)實(shí)體都要有一個(gè)“獨(dú)一無(wú)二”的名字,重名是不允許的。第二個(gè)參數(shù)是這個(gè)實(shí)體使用的mesh文件,在ExampleApplication中已經(jīng)加載了程序的資源配置信息,這里是resources.cfg,可以自己修改這個(gè)文件。

            實(shí)體創(chuàng)建之后就要把它和一個(gè)SceneNode,每個(gè)SceneManager都有一個(gè)RootSceneNode,我們可以把這個(gè)實(shí)體當(dāng)作一個(gè)RootSceneNode的ChildSceneNode加入其中

            首先創(chuàng)建一個(gè)子節(jié)點(diǎn)(ChildSceneNode)
            SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "RobotNode" );
            這段代碼用getRootSceneNode找到mSceneMgr的RootSceneNode,然后再創(chuàng)建它的子節(jié)點(diǎn)(ChildSceneNode),參數(shù)也是“名字”而且獨(dú)一無(wú)二

            接下來(lái)就是把剛才的實(shí)體和這個(gè)子節(jié)點(diǎn)結(jié)合
            node1->attachObject( ent1 );

            然后就可以編譯并且運(yùn)行了

            posted on 2007-11-28 10:53 alligetor 閱讀(228) 評(píng)論(0)  編輯 收藏 引用


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


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            2021久久精品国产99国产精品| 久久99精品久久久久久噜噜| 亚洲?V乱码久久精品蜜桃| 亚洲精品久久久www| 一本一本久久a久久综合精品蜜桃| 欧美精品久久久久久久自慰| 99国产欧美久久久精品蜜芽| 亚洲欧美日韩精品久久| 久久99久久成人免费播放| 久久亚洲sm情趣捆绑调教| 国产Av激情久久无码天堂| 久久久99精品成人片中文字幕| 18岁日韩内射颜射午夜久久成人| 久久99热精品| 国产精品久久久久a影院| 久久精品国产亚洲麻豆| 国产精品美女久久久免费| 狠狠色丁香婷婷综合久久来| 香蕉久久AⅤ一区二区三区| 大伊人青草狠狠久久| 大美女久久久久久j久久| 99久久精品免费看国产一区二区三区| 国产亚洲精品自在久久| 久久免费99精品国产自在现线| 久久丫精品国产亚洲av不卡| 99久久人人爽亚洲精品美女| 久久精品亚洲男人的天堂| 久久亚洲中文字幕精品有坂深雪 | 欧美粉嫩小泬久久久久久久| 久久久久免费看成人影片| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久精品中文字幕无码绿巨人| 久久精品国产一区二区三区不卡| 久久久久亚洲av成人无码电影 | 久久精品视频免费| 亚洲愉拍99热成人精品热久久| 精品一久久香蕉国产线看播放| 狠狠干狠狠久久| 97超级碰碰碰久久久久| 久久夜色精品国产网站| 国产精品99久久久精品无码|