You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.6 KiB
41 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Exposes interfaces to the engine which allow the client to setup their own render targets |
|
// during the proper period of material system's init. |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef ICLIENTRENDERTARGETS_H |
|
#define ICLIENTRENDERTARGETS_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "interface.h" // For base interface |
|
|
|
class IMaterialSystem; |
|
class IMaterialSystemHardwareConfig; |
|
|
|
//--------------------------------------------------------------------------------------------------- |
|
// Purpose: Exposes interfaces to the engine which allow the client to setup their own render targets |
|
// during the proper period of material system's init. |
|
//--------------------------------------------------------------------------------------------------- |
|
abstract_class IClientRenderTargets |
|
{ |
|
public: |
|
// Pass the material system interface to the client-- Their Material System singleton has not been created |
|
// at the time they receive this call. |
|
virtual void InitClientRenderTargets( IMaterialSystem* pMaterialSystem, IMaterialSystemHardwareConfig* pHardwareConfig ) = 0; |
|
|
|
// Call shutdown on every created refrence-- Clients keep track of this themselves |
|
// and should add shutdown code to this function whenever they add a new render target. |
|
virtual void ShutdownClientRenderTargets( void ) = 0; |
|
|
|
}; |
|
|
|
#define CLIENTRENDERTARGETS_INTERFACE_VERSION "ClientRenderTargets001" |
|
|
|
extern IClientRenderTargets * g_pClientRenderTargets; |
|
|
|
#endif // ICLIENTRENDERTARGETS_H
|
|
|