/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// //@cpp #ifndef S3D_DRV_D3D9_UTIL_H #define S3D_DRV_D3D9_UTIL_H #include "drv_d3d9_types.h" #include "drv_d3d9_prog.h" #include "drv_d3d9_buf.h" #include "sys/core/sys_float.h" /////////////////////////////////////////////////////////////////////////////// void drv_d3d9_DbgPrintF(const s3d_CSysChar *FmtStr, ...); #ifdef S3D_GENERAL_DEBUG #define S3D_DRV_D3D9_DBGPRINTF drv_d3d9_DbgPrintF #else #define S3D_DRV_D3D9_DBGPRINTF #endif /////////////////////////////////////////////////////////////////////////////// #define S3D_DRV_D3D9_UTIL_COLORVALUE(r, g, b, a) \ D3DCOLOR_RGBA( \ s3d_SysIntOfFloatCoarse((r) * 255.f), \ s3d_SysIntOfFloatCoarse((g) * 255.f), \ s3d_SysIntOfFloatCoarse((b) * 255.f), \ s3d_SysIntOfFloatCoarse((a) * 255.f)) /////////////////////////////////////////////////////////////////////////////// //@ class s3d_CDrvD3d9Util { public: //@ static int ColBitsOfFmt(D3DFORMAT Fmt); //@ static int DepthBitsOfFmt(D3DFORMAT Fmt); //@ static bool IsDepthStencilFmt(D3DFORMAT Fmt); //@ static int StencilBitsOfFmt(D3DFORMAT Fmt); //@ static D3DFORMAT LinearFmtOfSwizzledFmt(D3DFORMAT Fmt); //@ static s3d_CUtilStr StrOfFmt(D3DFORMAT Fmt); //@ static s3d_CUtilStr StrOfMutliSampleType( D3DMULTISAMPLE_TYPE MultiSampleType); //@ static void ErrorD3d( s3d_CUtilMsgHandler *MsgHandler, HRESULT DxResult, const char *File, int Line); //@ static s3d_CUtilStr StrOfSemantic( const D3DXSEMANTIC &Semantic); //@ static s3d_CUtilStr StrOfProgDecl( const s3d_CDrvD3d9ProgDecl &ProgDecl); //@ static s3d_CUtilStr StrOfVertDecl( s3d_CDrvD3d9Env *Env, const s3d_CDrvD3d9VertDecl &VertDecl); //@ static s3d_CUtilStr StrOfVertElemArray( s3d_CSysIntps ElemCnt, const D3DVERTEXELEMENT9 *ElemArray); //@ static s3d_CSysIntps SizeOfDeclType(int Type); //@ static D3DRENDERSTATETYPE D3dWrapOfSamp(int Samp); }; /////////////////////////////////////////////////////////////////////////////// #endif