/* -----------------------------------------------------------------;
 * $source   : c:/ $
 * $revision : 1.0 $
 * $author   : root@null.co.za $
 * $date     : 2004/12/18 15:03:00 $
 * $desc     : $
 * $log      : $
 *
 * -----------------------------------------------------------------;
 */

#if !defined(__E_D3D__)
#define	     __E_D3D__

//------------------------------------------------------------------;
//
//------------------------------------------------------------------;

struct c_d3d {

   public :

                          c_d3d         ();
      virtual            ~c_d3d         ();
      int                 m_d3d_init    ( void );

   // protected :

      LPDIRECT3D9                  l_d3d;
      LPDIRECT3DDEVICE9            l_d3d_device;
      LPDIRECT3DTEXTURE9           l_aniso_lookup;
      LPDIRECT3DVERTEXBUFFER9      l_vertex_buffer;
      LPDIRECT3DINDEXBUFFER9       l_index_buffer;
      D3DXATTRIBUTERANGE          *l_attributes;
      unsigned long                l_num_sections;

      LPDIRECT3DVERTEXDECLARATION9 l_vertex_declare;
      CGprofile                    l_cg_profile;
      CGcontext                    l_cg_context;
      CGprogram                    l_cg_program;
      CGparameter                  l_cgparam_wvproj;
      CGparameter                  l_cgparam_wvinv;
      CGparameter                  l_cgparam_w;
      CGparameter                  l_cgparam_l_vect;
      CGparameter                  l_cgparam_e_vect;

      D3DXMATRIX                   l_mat_world;
      D3DXMATRIX                   l_mat_view;
      D3DXMATRIX                   l_mat_proj;

      float                        l_spin_x;
      float                        l_spin_y;

};


#endif	/* !defined(__E_D3D__) */
