This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/public/game/client/iclientrendertargets.h
2020-08-04 13:13:01 -04:00

45 lines
1.6 KiB
C++

//========= 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