Go to
the documentation of this file.
00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIXSIGRAPHICSEQUENCER_H__
00018 #define __XSIXSIGRAPHICSEQUENCER_H__
00019
00020 #include <xsi_decl.h>
00021 #include <xsi_status.h>
00022 #include <xsi_ref.h>
00023 #include <xsi_material.h>
00024 #include <xsi_graphicdriver.h>
00025 #include <xsi_time.h>
00026 #include <xsi_camera.h>
00027
00028 namespace XSI {
00029
00030 class RendererContext;
00031 class Renderer;
00032
00033
00043
00044
00045 class SICPPSDKDECL CGraphicSequencer
00046 {
00047 public:
00049 CGraphicSequencer();
00050
00052 ~CGraphicSequencer();
00053
00064 CStatus RegisterDisplayCallback ( const CString& in_szName,
00065 const LONG in_lStateFlags,
00066 const siDisplayCallback in_eType,
00067 const siViewMode in_eViewMode,
00068 const CString& in_szCustomViewModeName) const;
00069
00080 CStatus RegisterPassCallback ( const CString& in_szPassName,
00081 const LONG in_lStateFlags,
00082 const LONG in_lPassFlags,
00083 const CString& in_szRelativePassName ) const;
00084
00092 CStatus RenderSceneUsingMode ( const siViewMode in_eViewMode, INT in_lRenderFlags) const;
00093
00101 CStatus RenderSceneUsingMaterial ( const CString& in_szShaderName, INT in_lRenderFlags ) const;
00102
00109 CStatus RenderListUsingMode ( const CRefArray& in_pObjectList,
00110 const siViewMode in_eViewMode ) const;
00111
00118 CStatus RenderListUsingMaterial ( const CRefArray& in_pObjectList,
00119 const CString& in_szShaderName ) const;
00120
00127 CStatus GetNbStates ( siXGSStateType in_eType, INT *out_pNbStates) const;
00128
00135 CStatus DeleteState ( siXGSStateType in_eType, const CString& in_pID ) const;
00136
00145 CStatus CreateState ( siXGSStateType in_eType, const CString& in_pID, void* in_pValuePtr, void** out_pStateHandle) const;
00146
00154 CStatus GetStateHandle ( siXGSStateType in_eType, const CString& in_pID, void** out_pStateHandle) const;
00155
00163 CStatus GetStateValue ( siXGSStateType in_eType, void* in_lStateHandle, void* out_pStateValue) const;
00164
00172 CStatus SetStateValue ( siXGSStateType in_eType, void* in_lStateHandle, void* in_pStateValue) const;
00173
00179 CStatus GetSceneDirtyFlag ( bool* out_bBool ) const;
00180
00188 CStatus GetContextFlags ( LONG* out_lFlags ) const;
00189
00204 CValueArray GetFramebufferInfo ( ) const;
00205
00216 CStatus PutFramebufferData( UINT in_uiFramebufferIndex,
00217 ULONG in_ulSizeInBytes,
00218 void* in_pData) const;
00219
00239 CValue GetSetting ( XSI::CString in_name ) const;
00240
00247 Property GetRendererProperty(const CTime &in_rTime) const;
00248
00253 CRef GetCamera () const;
00254
00264 CStatus RegisterViewportMode ( const CString& in_szName,
00265 const siGraphicDriver in_eAPI,
00266 LONG in_lFeatures
00267 ) const;
00268
00281 CStatus RegisterViewportCallback ( const CString& in_szName,
00282 const LONG in_lStateFlags,
00283 const siDisplayCallback in_eType,
00284 const siGraphicDriver in_eDriver,
00285 const siViewMode in_eViewMode,
00286 const CStringArray& in_szCustomViewModeList
00287 ) const;
00288
00293 CRef GetGraphicDriver () const;
00294
00303 CStatus GetViewportSize (UINT& out_uiStartX, UINT& out_uiStartY, UINT& out_Width, UINT& out_Height) const;
00304
00310 bool IsPlayback();
00311
00312 private:
00313
00314 CGraphicSequencer * operator&() const;
00315 CGraphicSequencer * operator&();
00316
00317 void* m_pImpl;
00318 };
00319
00320 }
00321
00322 #endif // __XSIXSIGRAPHICSEQUENCER_H__