我正在學習使用Irrlicht on Android。上個月,我一直致力於基於openGL es 1.0的驅動程序,該驅動程序運行良好(我使用1.0,因爲當我試圖運行基於驅動程序es 2.0的示例時,結果非常奇怪)。加載網格是好的,但讓我困惑的是紋理無法正確顯示。 渲染代碼如下:關於opengl es 2.0驅動的irrlicht android
smgr = device->getSceneManager();
guienv = device->getGUIEnvironment();
stringc myDir = gSdCardPath;
myDir += "/Irrlicht";
device->getFileSystem()->changeWorkingDirectoryTo(myDir.c_str());
stringc sydneyFilename = "/Irrlicht/sydney.md2";
mesh=smgr->getMesh("/sdcard/Irrlicht/sydney.md2");
if (!mesh) {
device->drop();
__android_log_print(ANDROID_LOG_INFO, "Irrlicht", "cannot getMesh");
return;
}
nodeSydney = smgr->addAnimatedMeshSceneNode(mesh);
if (nodeSydney) {
nodeSydney->setMaterialFlag(EMF_LIGHTING, false);
nodeSydney->setMD2Animation(scene::EMAT_STAND);
stringc sydneyTextureFilename = "/Irrlicht/sydney.bmp";
texture=driver->getTexture("/sdcard/Irrlicht/sydney.bmp");
if (!texture)
LOGI("sydney.bmp load failed");
else{
nodeSydney->setMaterialTexture(0,texture);
LOGI("sydney.bmp load successfully");
}
nodeSydney->setPosition(core::vector3df(0.0f,0.0f,0.0f));
}
smgr->addCameraSceneNode(0, vector3df(0, 10, -50), vector3df(0, 5, 0));
receiver = new AndroidEventReceiver(context);
device->setEventReceiver(receiver);
一切都是相同,只是去掉註釋原代碼和節點的位置,我也確信代碼所需的文件都在正確的目錄。
那麼,誰可以在Android上使用Irrlicht的經驗,請幫助我?
那麼,最好在你的上下文中描述「不正確」的含義。它們根本不顯示,它們是顛倒的,令人毛骨悚然的顏色?一張照片可能也很方便。 – 2014-05-20 11:42:51