Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <materialsystem/imaterial.h>
- #include <materialsystem/itexture.h>
- #include <pixelwriter.h>
- #include <materialsystem/imaterialproxy.h>
- #include <materialsystem/imaterialproxyfactory.h>
- #include <materialsystem/imaterialvar.h>
- class CProceduralRegenerator : public ITextureRegenerator
- {
- public:
- CProceduralRegenerator( void ) {};
- virtual void RegenerateTextureBits( ITexture *pTexture, IVTFTexture *pVTFTexture, Rect_t *pSubRect );
- virtual void Release( void );
- };
- class CProceduralProxy: public IMaterialProxy
- {
- public:
- CProceduralProxy();
- virtual ~CProceduralProxy();
- virtual bool Init( IMaterial* pMaterial, KeyValues *pKeyValues );
- virtual void OnBind( void *pC_BaseEntity );
- virtual void Release( void ) { delete this; }
- virtual IMaterial* GetMaterial();
- private:
- IMaterialVar *m_pTextureVar; // The material variable
- ITexture *m_pTexture; // The texture
- ITextureRegenerator *m_pTextureRegen; // The regenerator
- };
- static void* __CreateCProceduralProxy_interface() {return static_cast<IMaterialProxy *>( new CProceduralProxy );}
- static InterfaceReg __g_CProceduralProxy_reg(__CreateCProceduralProxy_interface, "PixelRenderer" IMATERIAL_PROXY_INTERFACE_VERSION);
Add Comment
Please, Sign In to add comment