Test App controls are now frame-rate independent
--HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%4037
This commit is contained in:
@@ -138,20 +138,6 @@
|
||||
}
|
||||
|
||||
KRModelManager *pModelManager = [renderEngine getModelManager];
|
||||
//m_scene.addInstance(pModelManager->getModel("fachwerkhaus12"), KRMat4());
|
||||
//m_scene.addInstance(pModelManager->getModel("ballroom"), KRMat4());
|
||||
//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;
|
||||
lightmap.append("_lightmap");
|
||||
m_pScene->addInstance((*itr).second->getName(), (*itr).second->getName(), KRMat4(), lightmap);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
[renderEngine setNearZ: 25.0];
|
||||
[renderEngine setFarZ: 5000.0];
|
||||
|
||||
@@ -65,6 +65,8 @@
|
||||
|
||||
|
||||
id displayLink;
|
||||
|
||||
CFTimeInterval _lastTime;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
|
||||
camera_position = KRVector3(-850, -10, -700);
|
||||
|
||||
_lastTime= CFAbsoluteTimeGetCurrent();
|
||||
|
||||
displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawView:)];
|
||||
[displayLink setFrameInterval:1]; // Maximum 60fps
|
||||
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
||||
@@ -177,6 +179,10 @@
|
||||
|
||||
- (void)drawView:(id)sender
|
||||
{
|
||||
CFTimeInterval time = CFAbsoluteTimeGetCurrent();
|
||||
float deltaTime = (time - _lastTime);
|
||||
_lastTime = time;
|
||||
|
||||
const GLfloat PI = 3.14159265;
|
||||
const GLfloat d2r = PI * 2 / 360;
|
||||
|
||||
@@ -237,13 +243,13 @@
|
||||
|
||||
|
||||
//double dScaleFactor = [engine getModelManager]->getFirstModel()->getMaxDimension() / 100.0f;
|
||||
double dScaleFactor = 10.0f;
|
||||
double dScaleFactor = 1000.0f * deltaTime;
|
||||
|
||||
camera_position.z += (-cos(camera_pitch) * cos(camera_yaw) * leftStickDeltaX + -cos(camera_pitch) * cos(camera_yaw - 90.0f * d2r) * -leftStickDeltaY) * dScaleFactor;
|
||||
camera_position.x += (cos(camera_pitch) * sin(camera_yaw) * leftStickDeltaX + cos(camera_pitch) * sin(camera_yaw - 90.0f * d2r) * -leftStickDeltaY) * dScaleFactor;
|
||||
camera_position.y += sin(camera_pitch) * leftStickDeltaX * dScaleFactor;
|
||||
camera_yaw += rightStickDeltaY * 4.0 * d2r;
|
||||
camera_pitch += rightStickDeltaX * 4.0 * d2r;
|
||||
camera_yaw += rightStickDeltaY * 180.0 * d2r * deltaTime;
|
||||
camera_pitch += rightStickDeltaX * 180.0 * d2r * deltaTime;
|
||||
|
||||
[engine renderScene: [glView getScene] WithPosition:camera_position Yaw: camera_yaw Pitch: camera_pitch Roll:0.0f];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user