hlsdk

PROC addendum2

Dec 31st, 2010
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.21 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <materialsystem/imaterial.h>
  4. #include <materialsystem/itexture.h>
  5. #include <pixelwriter.h>
  6. #include <materialsystem/imaterialproxy.h>
  7. #include <materialsystem/imaterialproxyfactory.h>
  8. #include <materialsystem/imaterialvar.h>
  9.  
  10. class CProceduralRegenerator : public ITextureRegenerator
  11. {
  12. public:
  13.     CProceduralRegenerator( void ) {};
  14.     virtual void RegenerateTextureBits( ITexture *pTexture, IVTFTexture *pVTFTexture, Rect_t *pSubRect );
  15.     virtual void Release( void );
  16. };
  17. class CProceduralProxy: public IMaterialProxy
  18. {
  19. public:
  20.     CProceduralProxy();
  21.     virtual ~CProceduralProxy();
  22.     virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues );
  23.     virtual void OnBind( void *pC_BaseEntity );
  24.     virtual void Release( void ) { delete this; }
  25.     virtual IMaterial* GetMaterial();
  26.  
  27. private:
  28.     IMaterialVar        *m_pTextureVar;   // The material variable
  29.     ITexture        *m_pTexture;      // The texture
  30.     ITextureRegenerator *m_pTextureRegen; // The regenerator
  31. };
  32. static void* __CreateCProceduralProxy_interface() {return static_cast<IMaterialProxy *>( new CProceduralProxy );}
  33. static InterfaceReg __g_CProceduralProxy_reg(__CreateCProceduralProxy_interface, "PixelRenderer" IMATERIAL_PROXY_INTERFACE_VERSION);
Add Comment
Please, Sign In to add comment