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.

48 lines
1.3 KiB

  1. //====== Copyright � 1996-2008, Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef ISUBDINTERNAL_H
  7. #define ISUBDINTERNAL_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "shaderapi/shareddefs.h"
  12. #include "itextureinternal.h"
  13. //-----------------------------------------------------------------------------
  14. // Forward declarations
  15. //-----------------------------------------------------------------------------
  16. class ITextureInternal;
  17. //-----------------------------------------------------------------------------
  18. // Subdivision surface manager class
  19. //-----------------------------------------------------------------------------
  20. abstract_class ISubDMgr
  21. {
  22. public:
  23. virtual bool ShouldAllocateTextures() = 0; //
  24. virtual void AllocateTextures() = 0; // Allocate & free textures
  25. virtual void FreeTextures() = 0; //
  26. virtual void ReleaseResources() = 0;
  27. virtual void ReacquireResources() = 0;
  28. virtual int GetWidth() = 0;
  29. virtual int GetHeight() = 0;
  30. virtual int GetOffsetGeometry() = 0;
  31. virtual int GetOffsetTangents() = 0;
  32. virtual float* Lock( int nNumRows ) = 0;
  33. virtual void Unlock() = 0;
  34. virtual ShaderAPITextureHandle_t SubDTexture() = 0; // Return the subd position texture
  35. };
  36. extern ISubDMgr *g_pSubDMgr;
  37. #endif // ISUBDINTERNAL_H