Exemple #1
0
/* Main rendering loop */
void gl_render()
{
	vector_t tmp;

	gl_3d();
	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

	cl_viewangles(tmp);
	v_invert(tmp);
	glRotatef(tmp[PITCH], 1, 0, 0);
	glRotatef(tmp[YAW], 0, 1, 0);
	glRotatef(tmp[ROLL], 0, 0, 1);

	cl_origin(tmp);
	v_invert(tmp);
	glTranslatef(tmp[X], tmp[Y], tmp[Z]);

	cl_render();

	/* Render 2d stuff (hud/console etc.) */
	gl_2d();
	blend_render();
	hud_render();

	/* w00t */
	SDL_GL_SwapBuffers();
}
Exemple #2
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);
}
Exemple #3
0
static void
display(void)
{
    double time;

    time = (double) SDL_GetTicks() / 1000.0 - starttime;
    ui_move(time);
    ui_display(r_context, time);
    hud_render(r_context);
    SDL_GL_SwapBuffers();
}