Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmStateManager.h

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

Generated on Fri Feb 25 16:08:40 2005 for RenderMonkey SDK by doxygen 1.3.6