Ogre + windows

本文介绍了如何使用Ogre创建游戏窗口并进行初始化的过程。主要内容包括:通过传递窗口句柄创建Ogre渲染窗口;Ogre的初始化流程,涉及World类的实例化及World对象的创建;以及消息循环中渲染更新的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

////////////////////Ogre部分的修改////////////////////////

 

 ///创建窗口
 Ogre::NameValuePairList params;
 Ogre::String handle;
 handle = Ogre::StringConverter::toString((size_t)(hWnd));
 params["externalWindowHandle"] = handle;


 m_pWindow = m_pRoot->createRenderWindow("OgreRenderWindow", uiWidth, uiHeight, false, &params);
 assert(NULL != m_pWindow);
 if(NULL == m_pWindow)
  return false;

 

///////////////////Ogre的初始化/////////////////////////////

 

World* g_pWorld = NULL;

 

   ///创建Ogre
   g_pWorld = new World();
   assert(NULL != g_pWorld);
   if(NULL == g_pWorld)
    return FALSE;
   g_pWorld->createWorld(hWnd, uiWidht, uiHeight);

 

/////////////////////消息循环的修改/////////////////////////////

 

 // Main message loop:
 while (true)
 {
  if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
  {
   if(WM_QUIT == msg.message)
     break;
 
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
  else
  {
   if(g_pWorld)
   {
    g_pWorld->render();
   }
  }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值