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

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>
            亚洲每日更新| 欧美视频网站| 国产手机视频一区二区| 亚洲天堂av综合网| 亚洲国产精品福利| 欧美极品在线视频| 亚洲午夜激情在线| 亚洲一区免费网站| 国产亚洲日本欧美韩国| 欧美xart系列在线观看| 裸体女人亚洲精品一区| 国产日韩欧美麻豆| 久热国产精品| 欧美日韩精品欧美日韩精品一| 亚洲综合视频在线| 久久都是精品| 亚洲麻豆国产自偷在线| 亚洲一二三区在线| 激情一区二区三区| 亚洲精品乱码久久久久| 国产精品美女久久| 久久一区中文字幕| 欧美连裤袜在线视频| 久久成人人人人精品欧| 狂野欧美激情性xxxx欧美| 99亚洲一区二区| 日韩一区二区高清| 韩国av一区二区| 亚洲精品五月天| 国产欧美一区二区视频| 欧美大色视频| 国产精品丝袜久久久久久app| 美国十次了思思久久精品导航| 欧美日韩国产美| 亚洲综合色丁香婷婷六月图片| 欧美在线不卡视频| 亚洲视频一区二区免费在线观看| 亚洲午夜国产成人av电影男同| 狠狠色噜噜狠狠色综合久| 亚洲国产小视频在线观看| 好吊成人免视频| 一区二区三区www| 亚洲国产日韩在线| 欧美一级视频| 亚洲精品美女在线观看| 欧美亚洲免费在线| 国产精品久在线观看| 伊人久久大香线蕉av超碰演员| 亚洲乱码国产乱码精品精天堂| 欧美四级剧情无删版影片| 久久久综合精品| 国产精品久久久久久久app| 久久成人免费网| 欧美国产精品v| 免费观看成人| 国内一区二区三区| 亚洲欧美日韩国产一区| 亚洲一区二区视频在线观看| 欧美激情视频一区二区三区在线播放 | 亚洲制服丝袜在线| 欧美视频免费在线| 亚洲视屏一区| 久久九九久精品国产免费直播 | 亚洲午夜成aⅴ人片| 欧美一级免费视频| 黄色精品免费| 欧美高清在线一区| 夜夜嗨网站十八久久| 欧美一区二区三区四区在线观看地址| 国产精品永久免费在线| 久久国产精品久久国产精品| 欧美成人按摩| 亚洲少妇一区| 国产亚洲激情视频在线| 久久在线免费视频| 亚洲第一中文字幕在线观看| 一区二区三区蜜桃网| 国产日韩欧美在线一区| 麻豆精品国产91久久久久久| 日韩午夜中文字幕| 久久er99精品| 亚洲日本aⅴ片在线观看香蕉| 欧美日韩精品欧美日韩精品一| 亚洲小说欧美另类社区| 麻豆91精品91久久久的内涵| 夜夜嗨av一区二区三区网页| 国产精品免费观看视频| 久久色中文字幕| 夜夜精品视频一区二区| 久久亚洲视频| 亚洲中午字幕| 亚洲激情精品| 国产欧美一区二区三区在线老狼| 欧美www视频| 欧美亚洲在线观看| 99精品久久| 欧美大学生性色视频| 欧美在线免费观看亚洲| 亚洲美女av黄| 伊人成人网在线看| 国产伦精品一区| 欧美精品一区二区三区在线看午夜 | 国产午夜精品全部视频在线播放| 免费看亚洲片| 亚洲人成7777| 欧美日韩免费高清一区色橹橹| 午夜在线观看欧美| 亚洲品质自拍| 欧美成人精品在线观看| 欧美影院在线| 亚洲视频在线一区| 亚洲欧洲精品成人久久奇米网| 国产人成一区二区三区影院| 欧美日韩视频在线第一区| 久久夜色精品国产欧美乱| 午夜精品一区二区在线观看 | 亚洲国产老妈| 韩国成人福利片在线播放| 欧美午夜精品久久久久久久| 媚黑女一区二区| 久久在线视频在线| 久久久久久久久蜜桃| 欧美一区二区在线看| 亚洲欧美日韩在线播放| 一区二区91| 一级成人国产| 99国产精品久久久久久久成人热| 欧美丰满少妇xxxbbb| 老色批av在线精品| 久久在线视频在线| 另类人畜视频在线| 久久亚洲精品网站| 久久天堂av综合合色| 久久久久免费视频| 久久综合成人精品亚洲另类欧美 | 欧美视频在线播放| 欧美日韩一区在线观看| 欧美日韩一区成人| 国产精品vvv| 欧美日韩综合一区| 国产精品爱啪在线线免费观看| 欧美日韩国产色综合一二三四 | 欧美1级日本1级| 免费成人高清在线视频| 老司机精品导航| 欧美国产丝袜视频| 亚洲激情黄色| 一区二区三区国产在线| 亚洲香蕉伊综合在人在线视看| 亚洲影视九九影院在线观看| 午夜精品久久久久久久久久久久 | 亚洲综合视频在线| 欧美一级播放| 久久综合色天天久久综合图片| 欧美18av| 日韩一级精品| 欧美一激情一区二区三区| 久久精品欧美日韩精品| 欧美3dxxxxhd| 欧美午夜片在线观看| 国产婷婷色一区二区三区在线| 精品不卡一区二区三区| 亚洲精品美女在线观看播放| 亚洲午夜一区| 久久只精品国产| 亚洲精品一区二区三区在线观看 | 亚洲欧美经典视频| 久久久久一区| 亚洲精品三级| 欧美一二三视频| 欧美寡妇偷汉性猛交| 美女精品国产| 亚洲永久免费观看| 欧美中日韩免费视频| 女人香蕉久久**毛片精品| 欧美午夜精品久久久久久人妖 | 亚洲欧美另类在线观看| 久久中文字幕一区二区三区| 欧美暴力喷水在线| 国产日韩精品一区二区| 亚洲精品视频在线| 久久福利一区| 亚洲精品国产精品国自产在线 | 亚洲欧美不卡| 免费久久精品视频| 在线一区视频| 久久综合九色综合久99| 国产精品美女久久久久久免费| 亚洲国产精品一区二区第一页 | 国产精品美女一区二区| 亚洲国产另类久久精品| 欧美一区二区三区日韩视频| 欧美激情国产日韩精品一区18| 亚洲永久免费av| 欧美区一区二区三区| 在线免费观看成人网| 欧美在线1区| 这里是久久伊人| 欧美久久久久久| 亚洲成人在线|