void SphereDisplay::DrawTargetMarker(const Vector& position, float trackSize)
{
    // Crosshair
    const float crossSize = 8.0;
    const float xcross = crossSize / g_game.x_resolution;
    const float ycross = crossSize / g_game.y_resolution;

    // The crosshair wiggles as it moves around. The wiggling is less noticable
    // when the crosshair is drawn with the smooth option.
    GFXEnable(SMOOTH);
    GFXLineWidth(trackSize);
    GFXBegin(GFXLINE);
    GFXVertex3f(position.x + xcross, position.y, 0.0f);
    GFXVertex3f(position.x - xcross, position.y, 0.0f);
    GFXVertex3f(position.x, position.y - ycross, 0.0f);
    GFXVertex3f(position.x, position.y + ycross, 0.0f);
    GFXEnd();
    GFXDisable(SMOOTH);
}
Esempio n. 2
0
void DrawSquare(float left,float right, float top, float bot) {
	GFXBegin (GFXQUAD);
	GFXVertex3f(left,top,0);
	GFXVertex3f(left,bot,0);
	GFXVertex3f(right,bot,0);
	GFXVertex3f(right,top,0);
	GFXVertex3f(right,top,0);
	GFXVertex3f(right,bot,0);
	GFXVertex3f(left,bot,0);
	GFXVertex3f(left,top,0);

	GFXEnd ();
}
Esempio n. 3
0
void Box::ProcessDrawQueue( int )
{
    if ( !draw_queue[0].size() ) return;
    GFXBlendMode( SRCALPHA, INVSRCALPHA );
    GFXColor( 0.0, .90, .3, .4 );
    GFXDisable( LIGHTING );
    GFXDisable( TEXTURE0 );
    GFXDisable( TEXTURE1 );
    GFXDisable( DEPTHWRITE );
    GFXDisable( CULLFACE );
    //GFXBlendMode(ONE, ONE);
    while ( draw_queue[0].size() ) {
        GFXLoadMatrixModel( draw_queue[0].back().mat );
        draw_queue[0].pop_back();

        GFXBegin( GFXQUAD );
        GFXColor4f( 0.0, 1.0, 0.0, 0.2 );

        GFXVertex3f( corner_max.i, corner_min.j, corner_max.k );
        GFXVertex3f( corner_max.i, corner_max.j, corner_max.k );
        GFXVertex3f( corner_min.i, corner_max.j, corner_max.k );
        GFXVertex3f( corner_min.i, corner_min.j, corner_max.k );

        GFXColor4f( 0.0, 1.0, 0.0, 0.2 );
        GFXVertex3f( corner_min.i, corner_min.j, corner_min.k );
        GFXVertex3f( corner_min.i, corner_max.j, corner_min.k );
        GFXVertex3f( corner_max.i, corner_max.j, corner_min.k );
        GFXVertex3f( corner_max.i, corner_min.j, corner_min.k );

        GFXColor4f( 0.0, .70, 0.0, 0.2 );

        GFXVertex3f( corner_max.i, corner_min.j, corner_max.k );
        GFXVertex3f( corner_min.i, corner_min.j, corner_max.k );
        GFXVertex3f( corner_min.i, corner_min.j, corner_min.k );
        GFXVertex3f( corner_max.i, corner_min.j, corner_min.k );

        GFXColor4f( 0.0, .70, 0.0, 0.2 );
        GFXVertex3f( corner_max.i, corner_max.j, corner_min.k );
        GFXVertex3f( corner_min.i, corner_max.j, corner_min.k );
        GFXVertex3f( corner_min.i, corner_max.j, corner_max.k );
        GFXVertex3f( corner_max.i, corner_max.j, corner_max.k );

        GFXColor4f( 0.0, .90, .3, 0.2 );
        GFXVertex3f( corner_max.i, corner_max.j, corner_max.k );
        GFXVertex3f( corner_max.i, corner_min.j, corner_max.k );
        GFXVertex3f( corner_max.i, corner_min.j, corner_min.k );
        GFXVertex3f( corner_max.i, corner_max.j, corner_min.k );

        GFXColor4f( 0.0, .90, .3, 0.2 );
        GFXVertex3f( corner_min.i, corner_max.j, corner_min.k );
        GFXVertex3f( corner_min.i, corner_min.j, corner_min.k );
        GFXVertex3f( corner_min.i, corner_min.j, corner_max.k );
        GFXVertex3f( corner_min.i, corner_max.j, corner_max.k );
        GFXEnd();

        /*
         *  vlist->Draw();
         *  if(quadstrips!=NULL) {
         *   for(int a=0; a<numQuadstrips; a++)
         *     quadstrips[a]->Draw()
         *       ;
         *       }
         */
    }
    GFXEnable( DEPTHWRITE );
}