Beispiel #1
0
//---------------------------------------------------------------------------
//  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);
}
Beispiel #2
0
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);
}
Beispiel #3
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;
	}
}
Beispiel #4
0
static void 
renderbuffer_commit(struct render_buffer * rb) {
	struct render *R = RS->R;
	render_draw(R, DRAW_TRIANGLE, 0, 6 * rb->object);
}