Set up scene graph objects required for managing light sources
--HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4033
This commit is contained in:
@@ -47,7 +47,7 @@
|
||||
|
||||
KREngine *renderEngine;
|
||||
|
||||
KRScene m_scene;
|
||||
KRScene *m_pScene;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,10 @@
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
if(m_pScene) {
|
||||
delete m_pScene;
|
||||
m_pScene = NULL;
|
||||
}
|
||||
if(renderEngine) {
|
||||
[renderEngine release];
|
||||
renderEngine = nil;
|
||||
@@ -99,9 +103,18 @@
|
||||
|
||||
- (BOOL)loadObjects
|
||||
{
|
||||
m_pScene = new KRScene("default");
|
||||
|
||||
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
|
||||
NSFileManager* fileManager = [NSFileManager defaultManager];
|
||||
|
||||
for (NSString* fileName in [fileManager contentsOfDirectoryAtPath: documentsDirectory error:nil]) {
|
||||
if([fileName hasSuffix: @".scene"]) {
|
||||
NSString* path = [NSString stringWithFormat:@"%@/%@", documentsDirectory, fileName];
|
||||
[renderEngine loadResource: path];
|
||||
}
|
||||
}
|
||||
|
||||
for (NSString* fileName in [fileManager contentsOfDirectoryAtPath: documentsDirectory error:nil]) {
|
||||
if([fileName hasSuffix: @".pvr"]) {
|
||||
NSString* path = [NSString stringWithFormat:@"%@/%@", documentsDirectory, fileName];
|
||||
@@ -134,7 +147,7 @@
|
||||
for(std::map<std::string, KRModel *>::iterator itr=models.begin(); itr != models.end(); itr++) {
|
||||
std::string lightmap = (*itr).first;
|
||||
lightmap.append("_lightmap");
|
||||
m_scene.addInstance((*itr).second, KRMat4(), lightmap);
|
||||
m_pScene->addInstance((*itr).second->getName(), (*itr).second->getName(), KRMat4(), lightmap);
|
||||
|
||||
}
|
||||
|
||||
@@ -242,7 +255,7 @@
|
||||
|
||||
- (KRScene *)getScene;
|
||||
{
|
||||
return &m_scene;
|
||||
return m_pScene;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
pos.rotate((double)rand() / (double)RAND_MAX * 6.282, Y_AXIS);
|
||||
pos.translate((double)rand() / (double)RAND_MAX * 10000 - 5000, 0.0, (double)rand() / (double)RAND_MAX * 10000 - 5000);
|
||||
|
||||
scene->addInstance(pModelManager->getModel(szName), pos, "");
|
||||
scene->addInstance(szName, szName, pos, "");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user