Aktuelle Zeit: 29.03.2024, 14:49

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: UIView mit Irrlicht Szene
BeitragVerfasst: 17.08.2012, 07:30 
Offline

Registriert: 17.08.2012, 07:25
Beiträge: 1
Hi, habe eine Klasse, welche von UIView abstammt. Sieht wiefolgt aus:

Code:
#import <UIKit/UIKit.h>

@interface WWSIrrlichtView : UIView {
    CADisplayLink *m_DisplayLink;
    IrrlichtDevice *m_Device;
}

-(id)initIrrlichtView;

-(void)closeView;

@end


Code:
#import "WWSIrrlichtView.h"

@implementation WWSIrrlichtView

-(id)initIrrlichtView {
    [self init];
   
    SIrrlichtCreationParameters params;
    params.DriverType   = video::EDT_OGLES1;
    params.WindowSize   = core::dimension2d<u32>(320, 480);
    params.WindowId     = self;
    params.Bits         = 32;
    m_Device = createDeviceEx((const SIrrlichtCreationParameters) params);
   
    if (!m_Device) {
        return 0;
    }
   
    NSString *oBunPath = [[NSBundle mainBundle] bundlePath];
    m_Device->getFileSystem()->changeWorkingDirectoryTo([oBunPath cStringUsingEncoding:NSASCIIStringEncoding]);
   
    ISceneManager *smgr = m_Device->getSceneManager();
    IVideoDriver *driver = m_Device->getVideoDriver();
   
    IAnimatedMesh *mesh = smgr->getMesh("Ressources/media/sydney.md2");
    if (!mesh) {
        NSLog(@"Konnte Mesh nicht laden!");
        return 0;
    }
   
    IAnimatedMeshSceneNode *node = smgr->addAnimatedMeshSceneNode(mesh);
    if (node) {
        node->setMaterialFlag(EMF_LIGHTING, false);
        node->setMD2Animation(scene::EMAT_STAND);
        ITexture *pTex = driver->getTexture("Ressources/media/sydney256x256.bmp");
        if (!pTex) {
            NSLog(@"Konnte Textur nicht laden!");
            return 0;
        }
        node->setMaterialTexture(0, pTex);
    }
    smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
   
    m_DisplayLink = [[UIScreen mainScreen] displayLinkWithTarget:self selector:@selector(updateDisplay)];
    [m_DisplayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];

    return self;
}

-(void)updateDisplay {
    m_Device->run();
   
    m_Device->getVideoDriver()->beginScene(true, true, SColor(0,0,101,140));
    m_Device->getSceneManager()->drawAll();
    m_Device->getVideoDriver()->endScene();
}

-(void)closeView {
    if (m_DisplayLink != nil) {
        [m_DisplayLink invalidate];
    }
   
    if (m_Device != nil) {
        m_Device->drop();
    }
}


Bekomme leider nur ein weißes View angezeigt.... jemand eine Lösungsidee ?


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de