00001 //============================================================================= 00002 // filename: RmStateManager.h 00003 // 00004 // ATI Research, Inc. 00005 // 3D Application Research Group 00006 // 00007 // description: RenderMonkey state manager. 00008 // 00009 //============================================================================= 00010 // (C) 2004 ATI Research, Inc. All rights reserved. 00011 //============================================================================= 00012 00013 #ifndef _RM_CORE_STATE_MANAGER_H_ 00014 #define _RM_CORE_STATE_MANAGER_H_ 00015 00016 #if _MSC_VER > 1000 00017 #pragma once 00018 #endif // _MSC_VER > 1000 00019 00020 00021 //=========================================// 00022 // Forward definition of IRmStateManager // 00023 //=========================================// 00024 class RM_API IRmStateManager; 00025 00026 //=========================================// 00027 // Singleton accesor for the state manager // 00028 //=========================================// 00029 RM_API IRmStateManager* RmGetStateManager(); 00030 00031 //============================================================================= 00037 //============================================================================= 00038 class RM_API IRmStateManager 00039 { 00040 public: 00041 //-------------------------------------------------------------------------- 00046 //-------------------------------------------------------------------------- 00047 IRmStateManager(); 00048 00049 //-------------------------------------------------------------------------- 00054 //-------------------------------------------------------------------------- 00055 virtual ~IRmStateManager(); 00056 00057 public: 00058 00059 //-------------------------------------------------------------------------- 00065 //-------------------------------------------------------------------------- 00066 virtual int GetSamplerStateCount ( const RM_TCHAR *pStrAPI ) = 0; 00067 00068 //-------------------------------------------------------------------------- 00078 //-------------------------------------------------------------------------- 00079 virtual int AddSamplerStateToken ( const RM_TCHAR *pStrAPI, RM_TCHAR *token, unsigned long value, unsigned long type ) = 0; 00080 00081 //-------------------------------------------------------------------------- 00089 //-------------------------------------------------------------------------- 00090 virtual int GetSamplerStateValueByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00091 00092 //-------------------------------------------------------------------------- 00100 //-------------------------------------------------------------------------- 00101 virtual RM_TCHAR* GetSamplerStateNameByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00102 00103 //-------------------------------------------------------------------------- 00111 //-------------------------------------------------------------------------- 00112 virtual RM_TCHAR* GetSamplerStateName ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00113 00114 //-------------------------------------------------------------------------- 00122 //-------------------------------------------------------------------------- 00123 virtual int GetSamplerStateArgType ( const RM_TCHAR *pStrAPI, unsigned long rs ) = 0; 00124 00125 //-------------------------------------------------------------------------- 00134 //-------------------------------------------------------------------------- 00135 virtual RM_TCHAR* GetSamplerStateArgName ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long arg ) = 0; 00136 00137 //-------------------------------------------------------------------------- 00145 //-------------------------------------------------------------------------- 00146 virtual int GetSamplerStateArgCount ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00147 00148 //-------------------------------------------------------------------------- 00157 //-------------------------------------------------------------------------- 00158 virtual RM_TCHAR* GetSamplerStateArgNameByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00159 00160 //-------------------------------------------------------------------------- 00169 //-------------------------------------------------------------------------- 00170 virtual unsigned long GetSamplerStateArgValueByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00171 00172 //-------------------------------------------------------------------------- 00180 //-------------------------------------------------------------------------- 00181 virtual void OutputSamplerStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00182 00183 //-------------------------------------------------------------------------- 00190 //-------------------------------------------------------------------------- 00191 virtual void ReadInSamplerStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00192 00193 00194 //-------------------------------------------------------------------------- 00201 //-------------------------------------------------------------------------- 00202 virtual int GetTextureStateCount ( const RM_TCHAR *pStrAPI ) = 0; 00203 00204 //-------------------------------------------------------------------------- 00213 //-------------------------------------------------------------------------- 00214 virtual int AddTextureStateToken ( const RM_TCHAR *pStrAPI, RM_TCHAR *token, unsigned long value, unsigned long type ) = 0; 00215 00216 //-------------------------------------------------------------------------- 00224 //-------------------------------------------------------------------------- 00225 virtual int GetTextureStateValueByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00226 00227 //-------------------------------------------------------------------------- 00235 //-------------------------------------------------------------------------- 00236 virtual RM_TCHAR* GetTextureStateNameByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00237 00238 //-------------------------------------------------------------------------- 00246 //-------------------------------------------------------------------------- 00247 virtual RM_TCHAR* GetTextureStateName ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00248 00249 //-------------------------------------------------------------------------- 00257 //-------------------------------------------------------------------------- 00258 virtual int GetTextureStateArgType ( const RM_TCHAR *pStrAPI, unsigned long rs ) = 0; 00259 00260 //-------------------------------------------------------------------------- 00269 //-------------------------------------------------------------------------- 00270 virtual RM_TCHAR* GetTextureStateArgName ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long arg ) = 0; 00271 00272 //-------------------------------------------------------------------------- 00280 //-------------------------------------------------------------------------- 00281 virtual int GetTextureStateArgCount ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00282 00283 //-------------------------------------------------------------------------- 00292 //-------------------------------------------------------------------------- 00293 virtual RM_TCHAR* GetTextureStateArgNameByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00294 00295 //-------------------------------------------------------------------------- 00304 //-------------------------------------------------------------------------- 00305 virtual unsigned long GetTextureStateArgValueByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00306 00307 //-------------------------------------------------------------------------- 00315 //-------------------------------------------------------------------------- 00316 virtual void OutputTextureStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00317 00318 //-------------------------------------------------------------------------- 00326 //-------------------------------------------------------------------------- 00327 virtual void ReadInTextureStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00328 00329 00330 //-------------------------------------------------------------------------- 00337 //-------------------------------------------------------------------------- 00338 virtual int GetRenderStateCount ( const RM_TCHAR *pStrAPI ) = 0; 00339 00340 //-------------------------------------------------------------------------- 00349 //-------------------------------------------------------------------------- 00350 virtual int AddRenderStateToken ( const RM_TCHAR *pStrAPI, RM_TCHAR *token, unsigned long value, unsigned long type ) = 0; 00351 00352 //-------------------------------------------------------------------------- 00360 //-------------------------------------------------------------------------- 00361 virtual int GetRenderStateValueByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00362 00363 //-------------------------------------------------------------------------- 00371 //-------------------------------------------------------------------------- 00372 virtual RM_TCHAR* GetRenderStateNameByIndex ( const RM_TCHAR *pStrAPI, int nIndex ) = 0; 00373 00374 //-------------------------------------------------------------------------- 00382 //-------------------------------------------------------------------------- 00383 virtual RM_TCHAR* GetRenderStateName ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00384 00385 //-------------------------------------------------------------------------- 00393 //-------------------------------------------------------------------------- 00394 virtual int GetRenderStateArgType ( const RM_TCHAR *pStrAPI, unsigned long rs ) = 0; 00395 00396 //-------------------------------------------------------------------------- 00405 //-------------------------------------------------------------------------- 00406 virtual RM_TCHAR* GetRenderStateArgName ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long arg ) = 0; 00407 00408 //-------------------------------------------------------------------------- 00416 //-------------------------------------------------------------------------- 00417 virtual int GetRenderStateArgCount ( const RM_TCHAR *pStrAPI, unsigned long type ) = 0; 00418 00419 //-------------------------------------------------------------------------- 00428 //-------------------------------------------------------------------------- 00429 virtual RM_TCHAR* GetRenderStateArgNameByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00430 00431 //-------------------------------------------------------------------------- 00440 //-------------------------------------------------------------------------- 00441 virtual unsigned long GetRenderStateArgValueByIndex ( const RM_TCHAR *pStrAPI, unsigned long type, unsigned long argIndex ) = 0; 00442 00443 //-------------------------------------------------------------------------- 00451 //-------------------------------------------------------------------------- 00452 virtual void OutputRenderStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00453 00454 //-------------------------------------------------------------------------- 00462 //-------------------------------------------------------------------------- 00463 virtual void ReadInRenderStateBindings ( const RM_TCHAR *pStrAPI, RM_TCHAR *filename ) = 0; 00464 00465 }; // End of IRmStateManager 00466 00467 #endif
1.3.6