//--------------------------------------------------------------------------- // updateChannel //--------------------------------------------------------------------------- void updateChannel( MPKChannel *c, void *data ) { FrameData *framedata = (FrameData *)data; MPKWindow *w = mpkChannelGetWindow(c); void *wdata = mpkWindowGetUserData(w); r_context_t *r_context = (r_context_t *)wdata; glMatrixMode( GL_PROJECTION ); glLoadIdentity(); mpkChannelApplyFrustum( c ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); mpkChannelApplyTransformation( c ); mpkChannelGetRange( c, r_context->range ); r_context->r_frametime = framedata->time; r_context->r_eyecluster = framedata->r_eyecluster; r_context->r_eyepos[0] = framedata->r_eyepos[0]; r_context->r_eyepos[1] = framedata->r_eyepos[1]; r_context->r_eyepos[2] = framedata->r_eyepos[2]; r_context->r_eye_az = framedata->r_eye_az; r_context->r_eye_el = framedata->r_eye_el; render_draw(r_context); if (r_context->range[1] == 1.0) hud_render(r_context); }
int run_the_game(t_data *d) { while (d->run == 1) { if (d->pause == 0) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glScalef(0.001550f, 0.00350f, 0); game(d); render_draw(d); glfwSwapBuffers(d->windows); glFlush(); usleep(SPEED); } else usleep(100000); glfwPollEvents(); glLoadIdentity(); } render_close(d); return (0); }
void GLWindow::paintGL() { static unsigned int fps_time_ms = 0, fps_ticks = 0; static unsigned long last_time = 0L; unsigned long current_time = 0; current_time = get_current_time_ms(); frame_time_ms = current_time - last_time; update_options(); render_update(frame_time_ms / 1000.0); render_draw(); fps_ticks++; last_time = current_time; fps_time_ms += frame_time_ms; if(fps_time_ms >= 1000) { current_fps = fps_ticks; fps_ticks = 0; fps_time_ms = 0; } }
static void renderbuffer_commit(struct render_buffer * rb) { struct render *R = RS->R; render_draw(R, DRAW_TRIANGLE, 0, 6 * rb->object); }