Irrlicht中默認的和通常的opengl程序同樣都是控制檯+一個繪圖窗口的,在Irrrlicht中有一個例子是把irrlicht程序嵌入win32繪圖窗口下。具體代碼以下:html
HWND hIrrlichtWindow = CreateWindow("BUTTON", "", WS_CHILD | WS_VISIBLE | BS_OWNERDRAW, 50, 80, 320, 220, hWnd, NULL, hInstance, NULL);
irr::SIrrlichtCreationParameters param; param.WindowId = reinterpret_cast(hIrrlichtWindow); // hColorButton param.DriverType = video::EDT_OPENGL; irr::IrrlichtDevice* device = irr::createDeviceEx(param);
返回的device指針就是一個繪圖設備了,其實思想很簡單,就是建立一個窗體返回窗體句柄,這個句柄做爲SIrrlichtCreationParameters的windowID便可;其實QT下面實現徹底能夠用這個方法,在QWidget類下有個成員函數ide
winId();因此在QT中能夠建立一個QWidget類而後用這個函數返回win32的窗體句柄,再進行以上操做就能夠了;目前只發現這一種方式,winId函數介紹以下,可能會出現問題,因此若是有其餘更好的方式但願各位指教,;函數
返回窗口部件的窗口系統標識符。spa
原則上是能夠移植的,可是若是使用了它,必定是作了一些不可移植的事情。請留心。指針
也能夠參考find()。code