Counter Strike : Global Offensive Source Code
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.

53 lines
1.5 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $Header: $
  6. // $NoKeywords: $
  7. //=============================================================================//
  8. #ifndef SHADERDLL_H
  9. #define SHADERDLL_H
  10. #ifdef _WIN32
  11. #pragma once
  12. #endif
  13. #include <materialsystem/IShader.h>
  14. #include "shaderlib/shadercombosemantics.h"
  15. //-----------------------------------------------------------------------------
  16. // forward declarations
  17. //-----------------------------------------------------------------------------
  18. class IShader;
  19. class ICvar;
  20. struct ShaderComboInformation_t;
  21. //-----------------------------------------------------------------------------
  22. // The standard implementation of CShaderDLL
  23. //-----------------------------------------------------------------------------
  24. class IShaderDLL
  25. {
  26. public:
  27. // Adds a shader to the list of shaders
  28. virtual void InsertShader( IShader *pShader ) = 0;
  29. virtual void AddShaderComboInformation( const ShaderComboSemantics_t *pSemantics ) = 0;
  30. };
  31. //-----------------------------------------------------------------------------
  32. // Singleton interface
  33. //-----------------------------------------------------------------------------
  34. IShaderDLL *GetShaderDLL();
  35. //-----------------------------------------------------------------------------
  36. // Singleton interface for CVars
  37. //-----------------------------------------------------------------------------
  38. ICvar *GetCVar();
  39. #endif // SHADERDLL_H