ITextureRegenerator: Difference between revisions
Jump to navigation
Jump to search
ErdomViboc (talk | contribs) mNo edit summary |
m (Spam revert) |
||
Line 1: | Line 1: | ||
;Location:<code>public\materialsystem\itexture.h</code> | ;Location:<code>public\materialsystem\itexture.h</code> | ||
;Purpose:The job '''ITextureRegenerator''' class is to change the pixel values of any procedural texture that uses a regenerator that implements this class. | ;Purpose:The job '''ITextureRegenerator''' class is to change the pixel values of any procedural texture that uses a regenerator that implements this class. |
Revision as of 02:44, 1 December 2007
- 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