//=========== (C) Copyright 1999 Valve, L.L.C. All rights reserved. =========== // // The copyright to the contents herein is the property of Valve, L.L.C. // The contents may be used and/or copied only with the written permission of // Valve, L.L.C., or in accordance with the terms and conditions stipulated in // the agreement/contract under which the contents have been supplied. // // $Header: $ // $NoKeywords: $ // // Base texture interface for vertex textures //============================================================================= #ifndef IVERTEXTEXTURE_H #define IVERTEXTEXTURE_H #ifdef _WIN32 #pragma once #endif #include "tier0/platform.h" //----------------------------------------------------------------------------- // A vertex texture. //----------------------------------------------------------------------------- abstract_class IVertexTexture { public: // Returns the element + field count virtual int GetElementCount() const = 0; virtual int GetFieldCount() const = 0; // Locks the vertex texture for writing virtual void Lock() = 0; virtual void Unlock() = 0; // Writes elements into the vertex texture; can only be used when locked. // WriteElements write all fields of entire elements // WriteElementField writes a single field of an element virtual void WriteElements( int nFirstElement, const float* pValues, int nElementCount = 1 ) = 0; virtual void WriteElementField( int nElement, int nFieldIndex, float flValue ) = 0; // Uses for stats. . .get the approximate size of the texture in it's current format. virtual int GetApproximateVidMemBytes( void ) const = 0; }; #endif // IVERTEXTEXTURE_H
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 5821 | Knut Wikstrom |
Added Valve Source code. This is NOT to be commited to other than new code from Valve. |