Uczę się używać Irrlicht on Android. W zeszłym miesiącu pracowałem nad sterownikiem opartym na OpenGL es 1.0, który działał dobrze (korzystam z wersji 1.0, ponieważ kiedy próbowałem uruchomić przykład na podstawie sterownika es 2.0, wynik okazał się bardzo dziwny). Ładowanie siatki jest w porządku, ale to, co wprawia mnie w zakłopotanie, to fakt, że tekstury nie można pokazać poprawnie. Render kodu jest jak poniżej:irrlicht android na opengl es 2.0 sterownik
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);
Wszystko jest takie same jak w oryginalnym kodzie wyjątkiem usuniętych komentarzy i położenie węzłów i jestem również pewien, że pliki potrzebne w kodzie są na odpowiednim katalogu.
Czy ktoś, kto może korzystać z aplikacji Irrlicht na Androida, może mi pomóc?
Cóż, lepiej byłoby opisać, co "nieprawidłowo" oznacza w twoim kontekście. Nie wyświetlają się wcale, są odwrócone, dziwne kolory? Prawdopodobnie przydałoby się również zdjęcie. –