GLvoid update_world() { u_int dt; u_int i; if (++mutex_frames > 1) { --mutex_frames; printf("update already occuring\n"); return; } mutex_frames = 1; dt = timer_mark(timer_frames); gv = gv * GR + GQ * (float) dt; // printf("target: %d / elapsed: %d [avg: %0.3f] / CI: %d\n", TI, dt, gv, CI); CI += TI - ((int) gv); if (CI <= 0) CI = 1000; if (! state_paused) { for (i = 0; i < SPF; i++) { sample_world(); } } draw_gl(); glutTimerFunc(CI/1000, update_world, 0); mutex_frames = 0; }
int main(int argc, char **argv) { /* Initialize KOS */ pvr_init(¶ms); printf("bullet test beginning\n"); /* Get basic stuff initialized */ glKosInit(); glShadeModel(GL_SMOOTH); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); Logger::log("init..\n"); InitScene(); myTimer.start(); Logger::log("go\n"); mGamepad = new Gamepad(); while(1) { mGamepad->Update(); if(mGamepad->Button(GAMEPAD_BTN_START)) break; /* Begin frame */ glKosBeginFrame(); UpdatePhysics(); if (myTimer.getNumUpdates()%120==0) { printf("fps: %.4f\n",myTimer.getNumUpdates()/myTimer.totalSeconds()); printf("fps (immediate): %.4f\n",1.0/myTimer.lastUpdateSeconds()); } // printf("cam: %f,%f,%f\n",myCamera.position.x,myCamera.position.y,myCamera.position.z); // printf("target: %f,%f,%f\n",targetObj.controller().position.x,targetObj.controller().position.y,targetObj.controller().position.z); //printf("obj: %f,%f,%f\n",myRigidSceneObj.controller().position.x,myRigidSceneObj.controller().position.y,myRigidSceneObj.controller().position.z); /* Draw the "scene" */ draw_gl(); /* Finish the frame */ glKosFinishFrame(); } return 0; }
int main(int argc, char **argv) { maple_device_t *cont; cont_state_t *state; printf("nehe05 beginning\n"); /* Get basic stuff initialized */ glKosInit(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, 640.0f / 480.0f, 0.1f, 100.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glShadeModel(GL_SMOOTH); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); while(1) { cont = maple_enum_type(0, MAPLE_FUNC_CONTROLLER); /* Check key status */ state = (cont_state_t *)maple_dev_status(cont); if(!state) { printf("Error reading controller\n"); break; } if(state->buttons & CONT_START) break; /* Draw the "scene" */ draw_gl(); /* Finish the frame */ glutSwapBuffers(); } return 0; }
int main(int argc, char **argv) { cont_cond_t cond; uint8 c; /* Get basic stuff initialized */ pvr_init(¶ms); printf("nehe02 beginning\n"); glKosInit(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f,640.0f/480.0f,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); c = maple_first_controller(); while(1) { /* Check key status */ if (cont_get_cond(c, &cond) < 0) { printf("Error reading controller\n"); break; } if (!(cond.buttons & CONT_START)) break; /* Begin frame */ glKosBeginFrame(); /* Draw the "scene" */ draw_gl(); /* Finish the frame */ glKosFinishFrame(); } return 0; }
int main(int argc, char **argv) { maple_device_t *cont; cont_state_t *state; /* Get basic stuff initialized */ printf("nehe02 beginning\n"); /* Notice we do not init the PVR here, that is handled by OpenGL */ glKosInit(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, 640.0f / 480.0f, 0.1f, 100.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); while(1) { cont = maple_enum_type(0, MAPLE_FUNC_CONTROLLER); /* Check key status */ state = (cont_state_t *)maple_dev_status(cont); if(!state) { printf("Error reading controller\n"); break; } if(state->buttons & CONT_START) break; /* Draw the "scene" */ draw_gl(); /* Finish the frame - Notice there is no glKosBegin/FinshFrame */ glutSwapBuffers(); } return 0; }
int main(int argc, char **argv) { cont_cond_t cond; uint8 c; GLboolean yp = GL_FALSE; /* Initialize KOS */ pvr_init(¶ms); printf("nehe09 beginning\n"); /* Get basic stuff initialized */ glKosInit(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f,640.0f/480.0f,0.1f,100.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_TEXTURE_2D); glShadeModel(GL_SMOOTH); glClearColor(0.0f, 0.0f, 0.0f, 0.5f); glClearDepth(1.0f); glBlendFunc(GL_SRC_ALPHA,GL_ONE); //glEnable(GL_BLEND); for (loop=0; loop<NUM_STARS; loop++) { star[loop].angle=0.0f; star[loop].dist=((float)(loop)/NUM_STARS)*5.0f; star[loop].r=rand()%256; star[loop].g=rand()%256; star[loop].b=rand()%256; } /* Set up the texture */ loadtxr("/rd/Star.pcx", &texture[0]); c = maple_first_controller(); while(1) { /* Check key status */ if (cont_get_cond(c, &cond) < 0) { printf("Error reading controller\n"); break; } if (!(cond.buttons & CONT_START)) break; if (!(cond.buttons & CONT_DPAD_UP)) tilt -= 0.5f; if (!(cond.buttons & CONT_DPAD_DOWN)) tilt += 0.5f; if (!(cond.buttons & CONT_A)) zoom -= 0.2f; if (!(cond.buttons & CONT_B)) zoom += 0.2f; if (!(cond.buttons & CONT_Y) && !yp) { yp = GL_TRUE; twinkle = !twinkle; } if (cond.buttons & CONT_Y) yp = GL_FALSE; /* Begin frame */ glKosBeginFrame(); /* Switch to blended polygon list */ glKosFinishList(); /* Draw the GL "scene" */ draw_gl(); /* Finish the frame */ glKosFinishFrame(); } return 0; }