//----------------------------------------------------------------------------- // Purpose: Retrieve sprite object and set it up for rendering // Input : *pSpriteModel - // frame - // rendermode - // Output : CEngineSprite //----------------------------------------------------------------------------- CEngineSprite *Draw_SetSpriteTexture( const model_t *pSpriteModel, int frame, int rendermode ) { CEngineSprite *psprite; IMaterial *material; psprite = ( CEngineSprite * )modelinfo->GetModelExtraData( pSpriteModel ); Assert( psprite ); material = psprite->GetMaterial(); if( !material ) return NULL; CMatRenderContextPtr pRenderContext( materials ); if ( ShouldDrawInWireFrameMode() || r_DrawBeams.GetInt() == 2 ) { if ( !g_pBeamWireframeMaterial ) g_pBeamWireframeMaterial = materials->FindMaterial( "shadertest/wireframevertexcolor", TEXTURE_GROUP_OTHER ); pRenderContext->Bind( g_pBeamWireframeMaterial, NULL ); return psprite; } psprite->SetFrame( frame ); psprite->SetRenderMode( rendermode ); pRenderContext->Bind( material ); return psprite; }