blob: 60a144748e5dbf00a19aca0f69f2d4d6b0df7e3d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
//========= 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
|