ITextureRegenerator: Difference between revisions
Jump to navigation
Jump to search
ErdomViboc (talk | contribs) No edit summary |
m (revert) |
||
Line 1: | Line 1: | ||
[[Category:Interfaces]] | [[Category:Interfaces]] | ||
;Location:<code>public\materialsystem\itexture.h</code> | ;Location:<code>public\materialsystem\itexture.h</code> | ||
Line 51: | Line 50: | ||
#endif // ITEXTURE_H | #endif // ITEXTURE_H | ||
==See | == See also == | ||
* [[Procedural Materials]] | * [[Procedural Materials]] | ||
* {{doxygen|itexture_8h-source.html ITexture.h on HL2 SDK Doxygen}} | * {{doxygen|itexture_8h-source.html ITexture.h on HL2 SDK Doxygen}} |
Revision as of 08:14, 4 October 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