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

Cpper
C/C++高級(jí)工程師 Android高級(jí)軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

剛改造了以前做的蓋莫游戲引擎渲染md2的代碼.
對于md2模型來說
一個(gè)模型由若干動(dòng)畫組成
一個(gè)動(dòng)畫由若干幀構(gòu)成
每個(gè)動(dòng)畫都有自己的名字
具體渲染的時(shí)候是對幀做插值的
具體測試?yán)尤缦?

  1 #include <cstdlib>
  2 #include <iostream>
  3 #include <GEngine/Main.hpp>
  4 
  5 using namespace std;
  6 using namespace core; 
  7 core::RefPtr<core::Image>   skyimage[5];
  8 core::RefPtr<core::Texture> skytexture[5];
  9 core::RefPtr<core::Image>   terrainimage[2];
 10 core::RefPtr<core::Texture> terraintexture[2];
 11  
 12  
 13 int main(int argc, char *argv[])
 14 {   
 15     Device *device = InitDevice("蓋莫引擎md2模型測試");
 16     device->SetClearColor(core::Color(80,90,255));
 17    
 18     //! 獲取場景管理器 
 19     RefPtr<SceneManager> scenemanager = SceneManager::GetSceneManager(); 
 20                                                                  
 21     //! 獲取資源管理器 
 22     ResourceManager* resourcemanager = device->GetResourceManager();
 23     //! 獲取天空圖片資源
 24     //! 獲取天空圖形指針 
 25     skyimage[0= resourcemanager->GetImage("sky_front","..\\image//sky//front.jpg");
 26     skyimage[1= resourcemanager->GetImage("sky_back","..\\image//sky//back.jpg");
 27     skyimage[2= resourcemanager->GetImage("sky_left","..\\image//sky//left.jpg");
 28     skyimage[3= resourcemanager->GetImage("sky_right","..\\image//sky//right.jpg");
 29     skyimage[4= resourcemanager->GetImage("sky_top","..\\image//sky//top.bmp");
 30   
 31     skytexture[0= resourcemanager->GetTexture("sky_front",skyimage[0]);
 32     skytexture[1= resourcemanager->GetTexture("sky_back",skyimage[1]);        
 33     skytexture[2= resourcemanager->GetTexture("sky_left",skyimage[2]);
 34     skytexture[3= resourcemanager->GetTexture("sky_right",skyimage[3]);   
 35     skytexture[4= resourcemanager->GetTexture("sky_top",skyimage[4]); 
 36     //! 獲取天空盒指針
 37     RefPtr<SceneNode> skybox = scenemanager->GetSkyBox(NULL,skytexture[0],skytexture[1],skytexture[2],skytexture[3],skytexture[4],500,500,600);  
 38     
 39     //! 設(shè)置地形數(shù)據(jù)
 40     terrainimage[0= resourcemanager->GetImage("terrain_image","..\\terrain//terrain.bmp");
 41     terrainimage[1= resourcemanager->GetImage("terrain_detail","..\\terrain//detail.bmp");
 42     terraintexture[0= resourcemanager->GetTexture("terrain_texture1",terrainimage[0]);
 43     terraintexture[1= resourcemanager->GetTexture("terrain_texture2",terrainimage[1]);
 44     RefPtr<Terrain>  terrain = scenemanager->GetTerrain(NULL,"..\\terrain//terrain.raw",1024,terraintexture[0],terraintexture[1]); 
 45   
 46     int height = terrain->GetHeight(440,370);
 47     height += 40;
 48     //! 獲取新的攝像機(jī)并設(shè)置為活動(dòng)攝像機(jī)
 49     RefPtr<Camera> camera = scenemanager->CreateCamera("mycamera", Vector3f(10,height,10),
 50                                                                    Vector3f(512,height - 30,512),
 51                                                                    Vector3f(0,1,0));
 52     //! 設(shè)置當(dāng)前活動(dòng)攝像機(jī) 
 53     scenemanager->SetActiveCamera(camera);
 54     camera->SetViewport(0,0,640,480);  
 55     
 56     //! 霧設(shè)置
 57     RefPtr<Fog> fog = scenemanager->GetFog();
 58     fog->SetColor(core::Color(0.3f,0.5f,0.2f));
 59     fog->SetDensity(0.0012f);
 60     fog->SetQuality(0.004f);
 61     fog->SetBound(0.2f,1000.0f);
 62     fog->Render();
 63     
 64     RefPtr<ActiveModel3D> model = scenemanager->GetActiveModel("md2model");
 65     model->Load("..\\model\\hobgoblin.md2");
 66     RefPtr<Image>   md2image = resourcemanager->GetImage("md2image","..\\model//hobgoblin.bmp");
 67     RefPtr<Texture> md2texture = resourcemanager->GetTexture("md2texture",md2image);
 68     model->LoadTexture(md2texture);
 69     model->SetTranslate(Vector3f(180,10+terrain->GetHeight(112,512),180));
 70    
 71     std::vector<AnimationFrame> frames; 
 72     model->GetFrameList(frames);
 73  
 74     BEGIN_LOOP(device);
 75         camera->SetPerspective(45,640.0f/480.0f,6.0f,1000);
 76         camera->Render();
 77         skybox->Render();
 78         terrain->Render();
 79         model->Render();
 80         static int begin_frame = 0;
 81         static int end_frame = begin_frame+1;;
 82         static float t = 0.0f;
 83         t+=0.02;
 84         if(t>1)
 85         {
 86            t = 0
 87            end_frame++;
 88            begin_frame++;
 89         }
 90         if(begin_frame == frames.back().frame_end)
 91            end_frame = begin_frame = 0;
 92         model->SetCurrentFrame(begin_frame,end_frame,t);        
 93         
 94         static float angle = 0.0f;      
 95         skybox->SetRotate(core::AXIS_Z,angle);
 96         
 97         angle+=0.000003;
 98         if(angle>360)
 99            angle-=360;
100     END_LOOP(device);
101     
102     device->Close();
103     device->Drop();
104     
105     system("PAUSE");
106     return EXIT_SUCCESS;
107 }
108 
109 
貼圖如下:這里的模型是源于opengl游戲開發(fā)一書
再來一個(gè)Opengl3d游戲開發(fā)中士兵的模型例子如下(當(dāng)然我拿走了他的槍):

我會(huì)先讓引擎具備常見的功能
之后我就會(huì)考慮加入引擎自己的亮點(diǎn)和消除引擎存在的Bug
當(dāng)然了各類編輯器的設(shè)計(jì)也是遲早的了
再來一個(gè)機(jī)器人的md2模型
posted on 2010-02-10 11:34 ccsdu2009 閱讀(1523) 評(píng)論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(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>
            久久频这里精品99香蕉| 国产精品日韩欧美一区| 欧美激情网站在线观看| 欧美专区亚洲专区| 亚洲欧美中文日韩在线| 亚洲在线免费视频| 亚洲一级片在线观看| 一区二区三区欧美在线| 一区二区三区视频在线| 在线午夜精品自拍| 亚洲欧美高清| 久久久久久久精| 欧美激情bt| 在线一区二区日韩| 久久精品91久久久久久再现| 久久久综合精品| 免费高清在线视频一区·| 亚洲大胆av| 亚洲高清久久久| 在线亚洲精品福利网址导航| 亚洲欧美日韩在线| 久久夜色撩人精品| 亚洲日本一区二区三区| 蜜臀av国产精品久久久久| 欧美/亚洲一区| 一道本一区二区| 久久尤物视频| 国产精品美女久久| 影音先锋日韩精品| 亚洲视频在线观看| 麻豆国产精品va在线观看不卡| 亚洲国产成人不卡| 午夜精品久久久久久久久久久久| 久久久久久欧美| 国产精品国产自产拍高清av王其| 狠狠色狠狠色综合系列| 99热免费精品| 久久综合免费视频影院| 国产精品99久久久久久宅男| 老司机午夜精品| 韩国欧美一区| 性做久久久久久久久| 亚洲大胆在线| 久久久久久久一区二区| 国产精品网站在线观看| 亚洲精品小视频在线观看| 久久精品天堂| 亚洲免费网站| 国产精品第2页| 在线亚洲高清视频| 亚洲美女精品久久| 欧美激情免费在线| 亚洲精品1区2区| 狂野欧美激情性xxxx欧美| 制服丝袜亚洲播放| 国产精品v亚洲精品v日韩精品| 日韩视频在线观看| 亚洲国产精品va在线看黑人| 久热这里只精品99re8久| 韩国成人精品a∨在线观看| 欧美一区免费| 午夜精品福利电影| 国产麻豆91精品| 亚洲欧美日韩精品久久| 99精品视频免费| 欧美日韩伦理在线| 亚洲看片网站| 亚洲欧洲在线免费| 欧美高清在线观看| 亚洲精品一二三| 亚洲精品一区二区三区在线观看| 欧美久久久久久| 亚洲一区二区三区视频播放| 日韩午夜在线观看视频| 欧美激情第4页| 亚洲午夜免费视频| 亚洲一区二区三区精品视频| 亚洲欧洲在线播放| 国产精品v欧美精品v日本精品动漫 | 激情亚洲网站| 欧美成人亚洲| 欧美三级中文字幕在线观看| 亚洲一区二区三区三| 欧美亚洲综合网| 亚洲国产精品一区二区第四页av| 欧美激情91| 国产精品女主播| 久久综合网hezyo| 欧美成人免费视频| 在线一区二区三区四区五区| 亚洲欧美日韩综合一区| 国产亚洲视频在线观看| 欧美黄污视频| 国产喷白浆一区二区三区| 欧美电影在线观看完整版| 欧美区国产区| 久久久久.com| 欧美日韩精品一区二区天天拍小说 | 亚洲欧美影音先锋| 1024精品一区二区三区| 日韩视频在线一区二区| 狠狠爱www人成狠狠爱综合网| 亚洲国产精品123| 国产精品自在在线| 亚洲国产精品久久久久秋霞影院| 国产精品久久久久秋霞鲁丝 | 亚洲一区二区精品视频| 久久成人18免费观看| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲黄色性网站| 亚洲午夜在线观看| 91久久在线播放| 欧美一区二区三区电影在线观看| 亚洲精品日本| 久久精品国产亚洲aⅴ| 亚洲精品网站在线播放gif| 欧美一区二区三区免费视| 亚洲美女啪啪| 蜜桃av综合| 久久成人18免费观看| 欧美v亚洲v综合ⅴ国产v| 久久成人18免费网站| 欧美体内she精视频| 欧美国产成人在线| 国内视频精品| 午夜精品视频在线观看| 亚洲一区二区三区国产| 欧美精品一区二区三区在线看午夜 | 亚洲福利电影| 国产亚洲一区二区三区在线观看| 亚洲美女免费精品视频在线观看| 亚洲大片一区二区三区| 欧美一区二区视频观看视频| 亚洲在线日韩| 国产精品久线观看视频| 一区二区三区 在线观看视| 亚洲精品视频在线| 免费欧美在线视频| 欧美激情乱人伦| 亚洲欧洲综合另类在线| 久久人人爽人人| 欧美福利电影网| 在线观看91精品国产入口| 欧美专区福利在线| 久久综合伊人77777麻豆| 国语自产精品视频在线看8查询8| 午夜一区二区三区不卡视频| 午夜欧美精品久久久久久久| 国产精品九九| 午夜一级久久| 美日韩精品免费| 亚洲日本欧美在线| 欧美精品一区二区三区一线天视频| 亚洲精品美女久久久久| 亚洲午夜激情| 国产亚洲一区在线播放| 久久久人人人| 亚洲电影在线| 正在播放亚洲| 国产欧美日本一区二区三区| 欧美伊久线香蕉线新在线| 美女国内精品自产拍在线播放| 亚洲国产精品一区二区三区| 欧美激情小视频| 亚洲一卡二卡三卡四卡五卡| 久久久www| 最新国产の精品合集bt伙计| 欧美日韩黄色大片| 欧美在线视频网站| 亚洲黄色免费电影| 香蕉成人伊视频在线观看| 黄色成人片子| 欧美日韩免费高清一区色橹橹| 亚洲综合色噜噜狠狠| 美女精品自拍一二三四| 一区二区三区精品| 精久久久久久久久久久| 欧美精品久久一区二区| 午夜精品亚洲一区二区三区嫩草| 男女精品视频| 亚洲欧美文学| 亚洲欧洲在线播放| 国产亚洲激情在线| 欧美—级a级欧美特级ar全黄| 亚洲欧美电影在线观看| 亚洲国产精品久久久久秋霞不卡| 欧美在线一级va免费观看| 亚洲精品一区二区三区樱花| 国产亚洲精品久久久久久| 欧美激情一区| 久久午夜国产精品| 午夜免费日韩视频| 99精品国产在热久久婷婷| 麻豆freexxxx性91精品| 国产精品色婷婷久久58| 欧美电影在线免费观看网站| 欧美专区日韩视频| 亚洲男女自偷自拍图片另类| 最近中文字幕mv在线一区二区三区四区| 久久国产免费看|