/*=================HUD_DrawOrthoTrianglesOrthogonal Triangles -- (relative to resolution, smackdab on the screen) add them here=================*/void HUD_DrawOrthoTriangles( void ){}
redraw()
:HUD_DrawOrthoTriangles
is called from the HUD draw functions, because at this point the engine is already in orthogonal mode. Hence, the Z coord is a "magic 0", because it's not rendering in world space in ortho, it's 2D. ... pList = pList->pNext; } } //omega;draw orthogonal triangles HUD_DrawOrthoTriangles(); // are we in demo mode? do we need to // draw the logo in the top corner? if (m_iLogo) ...
#define ORTHOEXAMPLE#ifdef ORTHOEXAMPLEvoid OrthoExample(){ gEngfuncs.pTriAPI->RenderMode(kRenderTransAdd); //additive // use hotglow, or any other sprite for the texture gEngfuncs.pTriAPI->SpriteTexture( (struct model_s *) gEngfuncs.GetSpritePointer(SPR_Load("sprites/hotglow.spr")), 0); gEngfuncs.pTriAPI->CullFace( TRI_NONE ); //no culling gEngfuncs.pTriAPI->Begin(TRI_QUADS); //start our quad //remember, always list vertices in counter-clockwise // order, unless you want the quad to be backwards =) // the third value of vertex3f will always be 0 in ortho mode, // don't change it unless you wan't funny things to happen. //top left gEngfuncs.pTriAPI->TexCoord2f(0.0f, 1.0f); gEngfuncs.pTriAPI->Vertex3f(0, 0, 0); //bottom left gEngfuncs.pTriAPI->TexCoord2f(0.0f, 0.0f); gEngfuncs.pTriAPI->Vertex3f(0, ScreenHeight, 0); //bottom right gEngfuncs.pTriAPI->TexCoord2f(1.0f, 0.0f); gEngfuncs.pTriAPI->Vertex3f(ScreenWidth, ScreenHeight, 0); //top right gEngfuncs.pTriAPI->TexCoord2f(1.0f, 1.0f); gEngfuncs.pTriAPI->Vertex3f(ScreenWidth, 0, 0); gEngfuncs.pTriAPI->End(); //end our list of vertexes gEngfuncs.pTriAPI->RenderMode(kRenderNormal); //return to normal}#endifvoid HUD_DrawOrthoTriangles( void ){#ifdef ORTHOEXAMPLE OrthoExample();#endif}
You must log in to post a comment. You can login or register a new account.