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.

57 lines
1.9 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $Revision: $
  6. // $NoKeywords: $
  7. //
  8. // This file contains code to allow us to associate client data with bsp leaves.
  9. //
  10. //=============================================================================//
  11. #if !defined( ICLIENTLEAFSYSTEM_H )
  12. #define ICLIENTLEAFSYSTEM_H
  13. #ifdef _WIN32
  14. #pragma once
  15. #endif
  16. #include "tier0/platform.h"
  17. #include "client_render_handle.h"
  18. #include "engine/ivmodelinfo.h"
  19. #define CLIENTLEAFSYSTEM_INTERFACE_VERSION "ClientLeafSystem002"
  20. enum RenderableModelType_t
  21. {
  22. RENDERABLE_MODEL_UNKNOWN_TYPE = -1,
  23. RENDERABLE_MODEL_ENTITY = 0,
  24. RENDERABLE_MODEL_STUDIOMDL,
  25. RENDERABLE_MODEL_STATIC_PROP,
  26. RENDERABLE_MODEL_BRUSH,
  27. };
  28. //-----------------------------------------------------------------------------
  29. // The client leaf system
  30. //-----------------------------------------------------------------------------
  31. abstract_class IClientLeafSystemEngine
  32. {
  33. public:
  34. // Adds and removes renderables from the leaf lists
  35. // CreateRenderableHandle stores the handle inside pRenderable.
  36. virtual void CreateRenderableHandle( IClientRenderable* pRenderable, bool bRenderWithViewModels, RenderableTranslucencyType_t nType, RenderableModelType_t nModelType, uint32 nSplitscreenEnabled = 0xFFFFFFFF ) = 0; // = RENDERABLE_MODEL_UNKNOWN_TYPE ) = 0;
  37. virtual void RemoveRenderable( ClientRenderHandle_t handle ) = 0;
  38. virtual void AddRenderableToLeaves( ClientRenderHandle_t renderable, int nLeafCount, unsigned short *pLeaves ) = 0;
  39. virtual void SetTranslucencyType( ClientRenderHandle_t handle, RenderableTranslucencyType_t nType ) = 0;
  40. virtual void RenderInFastReflections( ClientRenderHandle_t handle, bool bRenderInFastReflections ) = 0;
  41. virtual void DisableShadowDepthRendering( ClientRenderHandle_t handle, bool bDisable ) = 0;
  42. virtual void DisableCSMRendering( ClientRenderHandle_t handle, bool bDisable ) = 0;
  43. };
  44. #endif // ICLIENTLEAFSYSTEM_H