Now using scene graph nodes for instance and bound extents management.
--HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4035
This commit is contained in:
@@ -45,10 +45,7 @@
|
||||
/* OpenGL names for the renderbuffer and framebuffers used to render to this view */
|
||||
GLuint viewFramebuffer, viewRenderbuffer;
|
||||
|
||||
KREngine *renderEngine;
|
||||
|
||||
KRScene *m_pScene;
|
||||
|
||||
KREngine *renderEngine;
|
||||
}
|
||||
|
||||
// OpenGL drawing
|
||||
|
||||
@@ -86,10 +86,6 @@
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
if(m_pScene) {
|
||||
delete m_pScene;
|
||||
m_pScene = NULL;
|
||||
}
|
||||
if(renderEngine) {
|
||||
[renderEngine release];
|
||||
renderEngine = nil;
|
||||
@@ -102,9 +98,7 @@
|
||||
#pragma mark OpenGL drawing
|
||||
|
||||
- (BOOL)loadObjects
|
||||
{
|
||||
m_pScene = new KRScene("default");
|
||||
|
||||
{
|
||||
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
|
||||
NSFileManager* fileManager = [NSFileManager defaultManager];
|
||||
|
||||
@@ -149,7 +143,7 @@
|
||||
//m_scene.addInstance(pModelManager->getModel("HoganCombined"), KRMat4());
|
||||
//m_scene.addInstance(pModelManager->getModel("polySurface12848"), KRMat4(), "PillarLightmap2k");
|
||||
//m_scene.addInstance(pModelManager->getModel("Wall2"), KRMat4(), "Wall2_lightmap");
|
||||
|
||||
/*
|
||||
std::map<std::string, KRModel *> models = pModelManager->getModels();
|
||||
for(std::map<std::string, KRModel *>::iterator itr=models.begin(); itr != models.end(); itr++) {
|
||||
std::string lightmap = (*itr).first;
|
||||
@@ -157,6 +151,7 @@
|
||||
m_pScene->addInstance((*itr).second->getName(), (*itr).second->getName(), KRMat4(), lightmap);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
[renderEngine setNearZ: 25.0];
|
||||
[renderEngine setFarZ: 5000.0];
|
||||
@@ -262,7 +257,7 @@
|
||||
|
||||
- (KRScene *)getScene;
|
||||
{
|
||||
return m_pScene;
|
||||
return renderEngine.getSceneManager->getFirstScene();
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
@@ -213,47 +213,21 @@
|
||||
|
||||
if(bUpdateParam) {
|
||||
bUpdateParam = false;
|
||||
if(iParam == [engine getParameterCount] && dRightSlider > 0.9) {
|
||||
if(!bLoadedTestInstances) {
|
||||
bLoadedTestInstances = true;
|
||||
|
||||
KRModelManager *pModelManager = [engine getModelManager];
|
||||
|
||||
KRScene *scene =[glView getScene];
|
||||
|
||||
srand ( time(NULL) );
|
||||
for(int iHouse=1; iHouse < 12; iHouse++) {
|
||||
for(int iInstance=0; iInstance < 20; iInstance++) {
|
||||
char szName[100];
|
||||
sprintf(szName, "fachwerkhaus%i", iHouse);
|
||||
KRMat4 pos;
|
||||
|
||||
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(szName, szName, pos, "");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
double dValue = dRightSlider * ([engine getParameterMaxWithIndex: iParam] - [engine getParameterMinWithIndex: iParam]) + [engine getParameterMinWithIndex: iParam];
|
||||
switch([engine getParameterTypeWithIndex: iParam]) {
|
||||
case KRENGINE_PARAMETER_INT:
|
||||
dValue = dRightSlider * ([engine getParameterMaxWithIndex: iParam] + 0.5 - [engine getParameterMinWithIndex: iParam]) + [engine getParameterMinWithIndex: iParam];
|
||||
[engine setParameterValueWithIndex: iParam Value: dValue];
|
||||
break;
|
||||
case KRENGINE_PARAMETER_BOOL:
|
||||
[engine setParameterValueWithIndex: iParam Value: 1.0 - dValue];
|
||||
break;
|
||||
case KRENGINE_PARAMETER_FLOAT:
|
||||
[engine setParameterValueWithIndex: iParam Value: dValue];
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
double dValue = dRightSlider * ([engine getParameterMaxWithIndex: iParam] - [engine getParameterMinWithIndex: iParam]) + [engine getParameterMinWithIndex: iParam];
|
||||
switch([engine getParameterTypeWithIndex: iParam]) {
|
||||
case KRENGINE_PARAMETER_INT:
|
||||
dValue = dRightSlider * ([engine getParameterMaxWithIndex: iParam] + 0.5 - [engine getParameterMinWithIndex: iParam]) + [engine getParameterMinWithIndex: iParam];
|
||||
[engine setParameterValueWithIndex: iParam Value: dValue];
|
||||
break;
|
||||
case KRENGINE_PARAMETER_BOOL:
|
||||
[engine setParameterValueWithIndex: iParam Value: 1.0 - dValue];
|
||||
break;
|
||||
case KRENGINE_PARAMETER_FLOAT:
|
||||
[engine setParameterValueWithIndex: iParam Value: dValue];
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user