#define BUFFEREDGLYPHS 32


class Font3DFx : public SM_DemoEffect
{
public:              
  struct Glyph
  {
    D3DGeometry* m_pGeometry;
    AABox        m_AABB;
  };

  Font3DFx(char const* pcName);
  ~Font3DFx();

  int      Init           (const char* pcCommand);
  int      Start          (float fTime);
  int      Stop           ();
  int      Reset          ();


  int      Shutdown();
  
  int      LoadChars();
  int      LoadFont(const char* pcToken);
  
  
  int      Command(float fTime, const char* pcCommand);
  
  MaxScene    m_Font;
  Glyph       m_Glyphs[256];
  float       m_fLineSeparation;
  bool        m_bLoaded;

  MeshElement m_Buffered[BUFFEREDGLYPHS];
  int         m_uBufferedOffset;
};
