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

清源游民 gameogre@gmail.com
日志系統
日志記錄了基于ogre的程序每次運行時的所有事件,系統初始化,狀態,性能信息。輸出的內容被放在磁盤文件上,文件缺省名是ogre.log。也可以手動顯示創建日志系統,這需要在創建Root對象之前實施。
// create an instance of LogManager prior to using LogManager::getSingleton()
LogManager* logMgr = new LogManager;
Log *log = LogManager::getSingleton().createLog("mylog.log", true, true, false);
// third param is not used since we already created a log in the previous step
Root *root = new Root("", "");
可以用Ogre LogManager注冊一個Log Listener, 以任何方式重定向log data。可以用這種方式來屏蔽任何日志信息。然后還一個更簡單的方法達到上述目的:在實例化Root之前,當實例化一個LogManager后,不調用createLog()方法。
以下是實現日志信息截流的代碼片斷:
class MyLogListener : public LogListener
{
public:
void write (const String& name, const String& message,
LogMessageLevel level, bool maskDebug)
{
// redirect log output here as needed
};
MyLogListener *myListener = new MyLogListener;
// this is the same as calling LogManager::getSingletonPtr() after the
// LogManager has first been instanced; the same pointer value is returned
LogManager *logMgr = new LogManager;
LogMgr->addListener(myListener);
logMgr->createLog("mylog.log", true, false, true);
logMgr->setLogDetail(LL_NORMAL);
Root *root = new Root("", "", "mylog.log");
Ogre手動初始化
int main(int argc, char *argv[])
{

?// tell Root not to load from any plugins or settings file
?Root *root = new Root("", "");

?// Load feature plugins. Scene managers will register
?// themselves for all scene types they support
?root->loadPlugin("Plugin_CgProgramManager");
?root->loadPlugin("Plugin_OctreeSceneManager");

?// load rendersystem plugin(s). The order is important in that GL
?// should be available on on platforms, while D3D9 would be available
?// only on Windows -- the try/catch will intercept the exception in this
?// case where D3D9 is not available and continue gracefully
.
?try {
??root->loadPlugin("RenderSystem_GL");
??root->loadPlugin("RenderSystem_Direct3D9");
?}
?catch (...) {}

?try {
??// We'll simulate the selection of a rendersystem on an arbirtary basis; normally
??// you would have your own code to present the user with options and select the
??// rendersystem on that basis. Since a GUI is beyond the scope of this example, we'll
??// just assume the user selected OpenGL.
??RenderSystemList *rList = root->getAvailableRenderers();
??RenderSystemList::iterator it = rList->begin();
??RenderSystem *rSys = 0;

??while (it != rList->end()) {
???
???rSys = *(it++);
???if (rSys->getName().find("OpenGL")) {
???
????root->setRenderSystem(rSys);
????break;
???}
??}

??// check to see if a render system was selected; if we reached the end of the list
??// without selecting a render system then none was found
.
??if (rSys == 0) {
???delete root;
???std::cerr << "No RenderSystem available, exiting..." << std::endl;
???return -1;
??}

??// We can initialize Root here if we want. "false" tells Root NOT to create
??// a render window for us
??root->initialise(false);

??// set up the render window with all default params
??RenderWindow *window = rSys->createRenderWindow(
???"Manual Ogre Window",?// window title
???800,?????// window width, in pixels
???600,?????// window height, in pixels
???false,?????// fullscreen or not
???0);??????// use defaults for all other values

??// from here you can set up your camera and viewports as normal
??// get a pointer to the default base scene manager -- sufficient for our purposes

??SceneManager *sceneMgr = root->createSceneManager(ST_GENERIC);

??// create a single camera, and a viewport that takes up the whole window (default behavior)
??Camera *camera = sceneMgr->createCamera("MainCam");
??Viewport *vp = window->addViewport(camera);
??vp->setDimensions(0.0f, 0.0f, 1.0f, 1.0f);
??camera->setAspectRatio((float)vp->getActualWidth() / (float) vp->getActualHeight());
??camera->setFarClipDistance(1000.0f);
??camera->setNearClipDistance(5.0f);

??// Run the manual render loop. Since we are not using a frame listener in this case, we
??// will count to 15 seconds and then instead of exiting, we'll change the render window settings
??// and re-initialize it.
??bool renderLoop = true;
??Timer *timer = Ogre::PlatformManager::getSingleton().createTimer();
??timer->reset();
??float s = 0.0f;

??while (renderLoop && window->isActive()) {

???renderLoop = root->renderOneFrame();

???// accumulate total elapsed time
???s += (float)timer->getMilliseconds() / 1000.0f;

???// if greater than 15 seconds, break out of the loop
???if (s >= 15.0f)
????renderLoop = false;

???// we must call the windowing system's message pump each frame to
???// allow Ogre to process messages
???//PlatformManager::getSingleton().messagePump();
??}
?}
?catch (Exception &e) {
??std::cerr << e.getFullDescription() << std::endl;
?}

?delete root;
?return 0;
}

視口
通過視口上的一點與相機的原點產生世界空間中的一條光線
// x and y are in "normalized" (0.0 to 1.0) screen coordinates
Ray getCameraToViewportRay(Real x, Real y) const;

視口,創建多個視口,通過Z序(越高越在上) 確定覆蓋效果,每個視口可以有不同的背景。
// assume window is a valid pointer to an existing render window, and
// a valid pointer to an existing camera instance
Viewport *vpTop, *vpBottom;
// second parameter is z-order, remaining params are position and size,
vpBottom = window->addViewport(camera, 0);
// create a smaller viewport on top, in the center, 25% of main vp size
vpTop = window->addViewport(camera, 1,
0.375f, 0.375f,
0.25, 0.25);
// set the background of the top window to blue (the default is black
// need to set the bottom window explicitly)
vpTop->setBackgroundColour(ColourValue(0.0f, 0.0f, 1.0f));
// an alternate way to set the color is to use the manifest constant
// vpTop->setBackgroundColour(ColourValue::Blue);

在多視口情況下,overlay缺省在每個視口中渲染。可以關掉。Skybox, Shadow也是如此。
vpTop->setOverlaysEnabled(false);
vpTop->setSkiesEnabled(false);
vpTop->setShadowsEnabled(true);

posted on 2007-03-07 14:14 清源游民 閱讀(2205) 評論(0)  編輯 收藏 引用 所屬分類: OGRE
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

留言簿(35)

隨筆分類(78)

隨筆檔案(74)

文章檔案(5)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            浪潮色综合久久天堂| 国产精品视频最多的网站| 亚洲人成免费| 美女视频黄免费的久久| 暖暖成人免费视频| 欧美激情一区二区在线| 亚洲黄色三级| 一区二区三区四区五区精品| 亚洲综合国产| 久久亚洲午夜电影| 欧美高清视频在线播放| 国产精品国产三级国产专区53| 国产精品成人国产乱一区| 国产亚洲欧美激情| 日韩视频一区二区三区| 欧美在线视频a| 免费h精品视频在线播放| 亚洲欧洲美洲综合色网| 亚洲男人影院| 欧美大片第1页| 国产欧美日韩免费| 亚洲精品永久免费精品| 久久精品国产清高在天天线 | 久久久久久亚洲综合影院红桃| 久久亚洲高清| 国产精品豆花视频| 亚洲国产精品久久人人爱蜜臀| 亚洲自拍偷拍网址| 欧美激情精品久久久久久黑人| 亚洲午夜电影网| 欧美成人午夜影院| 国外成人在线视频网站| 亚洲伊人伊色伊影伊综合网| 米奇777在线欧美播放| 这里只有精品在线播放| 欧美不卡视频| 伊人久久噜噜噜躁狠狠躁| 亚洲专区国产精品| 亚洲精品乱码久久久久久日本蜜臀| 性欧美8khd高清极品| 欧美日韩一区视频| 亚洲人成网站色ww在线| 蜜桃伊人久久| 久久精品综合网| 国产伦精品一区二区三区| 一区二区三区免费看| 欧美高清不卡在线| 久久久久久亚洲精品中文字幕| 国产伦精品一区二区三区在线观看| 夜夜嗨av一区二区三区免费区| 免费看的黄色欧美网站| 99精品欧美| 一区二区在线观看av| 先锋影音久久| 中文无字幕一区二区三区| 欧美日韩国产成人精品| 日韩网站在线| 亚洲国产你懂的| 免费观看在线综合| 亚洲国产成人在线播放| 欧美电影免费观看网站| 免费日韩av| 亚洲精品久久久蜜桃| 欧美成人黑人xx视频免费观看| 久久国产欧美| 影音先锋久久| 欧美国产日韩一区二区三区| 欧美91大片| 99国产一区| 一本色道久久精品| 国产精品永久在线| 久久久久.com| 久久综合一区二区| 亚洲美女视频| 一区二区三区日韩精品| 国产视频亚洲精品| 免费人成网站在线观看欧美高清| 美女诱惑黄网站一区| 一区二区免费在线播放| 亚洲天堂av在线免费观看| 国产午夜亚洲精品不卡| 噜噜噜躁狠狠躁狠狠精品视频| 男女激情久久| 午夜久久久久久| 久久久亚洲高清| 99av国产精品欲麻豆| 亚洲一区二区在线观看视频| 一区二区视频欧美| 日韩一级大片| 韩日精品视频一区| 日韩视频在线你懂得| 国产日韩欧美亚洲一区| 欧美国产精品劲爆| 国产精品欧美精品| 欧美国产成人精品| 国产精品午夜在线观看| 麻豆91精品91久久久的内涵| 欧美日韩高清一区| 麻豆国产精品va在线观看不卡| 欧美日韩另类在线| 麻豆九一精品爱看视频在线观看免费| 欧美国产精品人人做人人爱| 久久er99精品| 欧美无乱码久久久免费午夜一区 | 欧美福利视频网站| 国产精品免费在线| 亚洲第一在线视频| 国产日韩亚洲| 99这里有精品| 亚洲激精日韩激精欧美精品| 午夜精品一区二区三区在线视| 亚洲看片免费| 久久尤物电影视频在线观看| 欧美日韩国产成人在线免费| 亚洲国产欧美一区| 午夜精品福利电影| 亚洲天堂av图片| 欧美国产亚洲另类动漫| 农夫在线精品视频免费观看| 国产中文一区| 午夜伦理片一区| 亚洲男人的天堂在线观看| 欧美久久久久久蜜桃| 亚洲风情亚aⅴ在线发布| 国产手机视频精品| 欧美亚洲日本网站| 欧美一区二区在线| 国产精品一区二区黑丝| 一区二区高清视频| 亚洲视频大全| 欧美视频不卡| 日韩亚洲欧美中文三级| 一本一本大道香蕉久在线精品| 欧美aa国产视频| 亚洲第一色在线| 亚洲国产精品欧美一二99| 久久精品一区蜜桃臀影院| 久久亚洲图片| 亚洲国产精品第一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 模特精品在线| 亚洲狼人综合| 欧美日韩久久| 亚洲午夜久久久久久久久电影网| 亚洲欧美区自拍先锋| 国产欧美精品在线观看| 久久www成人_看片免费不卡| 蜜桃av一区二区| 亚洲欧洲美洲综合色网| 欧美女激情福利| 中文在线不卡视频| 久久福利电影| 亚洲福利在线看| 欧美精品在线观看| 国产精品99久久久久久人| 午夜视频久久久久久| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩综合在线免费观看| 99精品久久久| 欧美一区二区三区免费看| 国产一区二区久久久| 免费看精品久久片| 亚洲三级影片| 午夜精品美女自拍福到在线| 国产亚洲激情| 麻豆精品91| 一本久道久久综合婷婷鲸鱼| 亚洲欧美视频在线观看视频| 国语自产精品视频在线看| 欧美成人一区二免费视频软件| 99re8这里有精品热视频免费| 欧美一区二区三区四区视频| 亚洲国产精品成人va在线观看| 欧美一区二区视频97| 欧美**字幕| 亚洲一区在线免费观看| 久久亚洲综合色| 亚洲私人影院| 精品动漫一区二区| 欧美涩涩网站| 猫咪成人在线观看| 午夜国产精品影院在线观看| 亚洲国产成人精品久久| 欧美影院成人| 亚洲天天影视| 亚洲三级视频在线观看| 国产亚洲精品久久久| 欧美日韩一区二区三区四区在线观看 | 亚洲视频免费| 欧美韩国在线| 久久本道综合色狠狠五月| 999亚洲国产精| 亚洲第一黄网| 韩国一区二区在线观看| 国产精品v欧美精品v日本精品动漫 | 欧美一区二区三区在线| 亚洲视频导航| 夜夜嗨一区二区三区| 狠狠噜噜久久| 国产精品一区久久|