ITextureRegenerator
Jump to navigation
Jump to search
- Location
public\materialsystem\itexture.h
- Purpose
- The job ITextureRegenerator class is to change the pixel values of any procedural texture that uses a regenerator that implements this class.
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ // //=============================================================================// #ifndef ITEXTURE_H #define ITEXTURE_H #ifdef _WIN32 #pragma once #endif enum ImageFormat; class IVTFTexture; class ITexture; struct Rect_t; //----------------------------------------------------------------------------- // This will get called on procedural textures to re-fill the textures // with the appropriate bit pattern. Calling Download() will also // cause this interface to be called. It will also be called upon // mode switch, or on other occasions where the bits are discarded. //----------------------------------------------------------------------------- class ITextureRegenerator { public: // This will be called when the texture bits need to be regenerated. // Use the VTFTexture interface, which has been set up with the // appropriate texture size + format // The rect specifies which part of the texture needs to be updated // You can choose to update all of the bits if you prefer virtual void RegenerateTextureBits( ITexture *pTexture, IVTFTexture *pVTFTexture, Rect_t *pRect ) = 0; // This will be called when the regenerator needs to be deleted // which will happen when the texture is destroyed virtual void Release() = 0; }; inline bool IsErrorTexture( ITexture *pTex ) { return !pTex || pTex->IsError(); } #endif // ITEXTURE_H