88 eVDUTextureCoordinate,
100 eVDUDirectTextureCoordinate0,
101 eVDUDirectTextureCoordinate1,
102 eVDUDirectTextureCoordinate2,
103 eVDUDirectTextureCoordinate3,
104 eVDUDirectTextureCoordinate4,
105 eVDUDirectTextureCoordinate5,
106 eVDUDirectTextureCoordinate6,
107 eVDUDirectTextureCoordinate7,
130 virtual bool Activate(
138 virtual void Deactivate(
void );
149 virtual float Transparency(
void )
const;
153 virtual void SetTransparency(
168 virtual bool TexturesVisible(
void )
const;
171 virtual void SetTexturesVisible(
181 virtual bool IsTCNeeded(
void )
const;
189 virtual bool IsTNBNeeded(
void )
const;
192 virtual unsigned int TextureCount(
void )
const;
196 unsigned int iTextureIndex
212 virtual bool SetTextureTileLive(
215 float fTCGrad = -1.0
f,
217 bool bLazyUpdate =
false
221 virtual bool IsTextureTileLive(
226 virtual unsigned int TextureTileCount()
const;
229 virtual void SetTextureTileLODBias(
238 virtual qint64 TileVideoMemoryUsage(
240 float fTCGrad = -1.0
f
245 unsigned int iTileIndex
260 virtual VertexDataUsage MapVertexData(
261 VertexDataUsage eUsage
266 virtual Layer *ImportPaintLayer(
292 virtual unsigned int BlendModeCount(
void )
const;
295 virtual QString BlendModeDisplayName(
307 virtual void SetBlendMode(
313 virtual void SetBlendModeParameters(
318 virtual void SetLayerCount(
319 unsigned int iLayerCount
323 virtual void SetLayerData(
324 unsigned int iLayerIndex,
328 float fMaskTransparency = 1.0
f
335 unsigned int iHeight,
361 class TileDescriptor {
363 TileDescriptor() : m_TileStateIndex(-1) {}
364 int m_TileStateIndex;
368 float m_UOrigin, m_VOrigin;
369 int m_USize, m_VSize;
371 TileDescriptor *m_Tiles;
375 TileDescriptor *tileFromUV(
float U,
float V)
const
377 U -= m_UOrigin; V -= m_VOrigin;
378 int u = (
int)U,
v = (
int)V;
379 return &m_Tiles[(
v * m_USize) + u];
383 void resizeArrayToInclude(
float U,
float V);
388 m_UOrigin, m_VOrigin = 0;
389 m_USize, m_VSize = 0;
406 float getMaxU()
const {
return m_UOrigin + (float)m_USize; }
409 float getMaxV()
const {
return m_VOrigin + (float)m_VSize; }
416 maxU = minU + (float)m_USize;
417 maxV = minV + (float)m_VSize;
424 return m_Tiles && U >= getMinU() && U < getMaxU() && V >= getMinV() && V < getMaxV();
430 if (!contains(U, V))
return -1;
else
431 return tileFromUV(U, V)->m_TileStateIndex;
436 if (!contains(U, V)) resizeArrayToInclude(U, V);
437 tileFromUV(U, V)->m_TileStateIndex = indx;
447 void clearTileStateIndices();
499 bool IsValid()
const;
501 virtual void Serialize(
Stream&
s );
508 renderModeVertexColor
529 virtual const TileDescriptor& DefaultTileDescriptor(
void )
const;
532 virtual void SetDefaultTileDescriptor(
const TileDescriptor& pDesc );
543 virtual enum Usage Usage()
const;
546 virtual void SetUsage(
enum Usage eUsage );
549 virtual QString Name(
void )
const;
552 virtual void SetName(
558 virtual unsigned int RenderMode(
void )
const;
561 virtual void SetRenderMode(
unsigned int iMode );
564 virtual void SetLocation(
unsigned int iLocation );
567 virtual unsigned int Location(
void )
const;
580 virtual int Width(
void )
const;
583 virtual void SetWidth(
int iWidth );
593 virtual void SetFileName(
599 virtual const QString& FileName(
void )
const;
626 virtual void SetDirty(
631 virtual bool IsDirty(
void )
const;
634 virtual void AddToDirtyArea(
639 virtual void SetTilesDirty(
void );
642 virtual void Reload(
void );
645 virtual void SetContentChanged(
void );
648 virtual bool IsContentChanged(
void );
651 virtual unsigned int TileCount(
void )
const;
655 unsigned int iTileIndex
669 virtual class Texture *Tile(
float U,
float V,
bool bAlloc =
true);
673 unsigned int iTileIndex
682 virtual int BlendMode(
void )
const;
685 virtual void SetBlendMode(
690 virtual void SetMaterial(
694 virtual Material *GetMaterial()
const;
702 virtual qint64 TileVideoMemoryUsage(
733 unsigned int iHeight,
734 unsigned int iChannelCount,
742 unsigned int iHeight,
743 unsigned int iChannelCount,
748 virtual bool CreateFromFile(
750 unsigned int iChannelCount = 0,
755 virtual const Image *AsImage(
void );
764 virtual unsigned int Width(
void )
const;
767 virtual unsigned int Height(
void )
const;
770 virtual unsigned int BitDepth(
void )
const;
779 virtual unsigned int ChannelCount(
void )
const;
785 virtual bool Activate(
void )
const;
789 virtual bool Deactivate(
void )
const;
792 virtual unsigned int OpenGLName(
void )
const;
795 virtual bool SetAsRenderTarget(
void );
798 virtual bool RestoreRenderTarget(
void );
800 virtual abool *getFilteringPref();
803 virtual void CopyFrom(
809 virtual void ReplaceWith(
827 virtual void SetLocation(
828 unsigned int iLocation
836 virtual unsigned int Location(
void )
const;
839 virtual int64 TotalMemoryUsage(
void )
const;
842 virtual qint64 VideoMemoryUsage(
float fTCGrad = -1.0
f )
const;
845 virtual void SetLive(
850 virtual bool IsLive(
void )
const;
863 virtual bool NewVersion();
871 virtual bool PrevVersion();
879 virtual bool NextVersion();
883 virtual int NumVersions();
889 virtual bool MergeOldestVersions();
898 virtual bool PurgeNewerVersions();
902 virtual bool PurgeAllButCurrentVersion();
909 virtual bool BeginUndoableOperation();
913 virtual bool EndUndoableOperation();
918 virtual void SetFiltered(
924 virtual void SetConvert32To16bitFloat(
934 virtual bool setProxyLevel(
936 bool bLazySet =
false
940 virtual void SyncContent();
943 virtual unsigned char getProxyLevel()
const;
948 virtual void Composite(
951 unsigned int iBlendMode = 0,
962 static unsigned char ProxyLevel(
964 unsigned int iTextureSize
971 virtual void CopyGLTextureToImage(
985 virtual bool IsDirty(
void )
const;
988 virtual void SetDirty(
bool bDirty );
1065 virtual void DrawTexture(
1071 virtual bool Attach(
1073 Slot eSlot = eSlotColor0
1077 virtual void Detach(
1078 Slot eSlot = eSlotColor0
1083 Slot eSlot = eSlotColor0
1087 virtual unsigned int Width(
void )
const;
1090 virtual unsigned int Height(
void )
const;
1093 virtual void SetSize(
1094 unsigned int iWidth,
1095 unsigned int iHeight
1099 virtual void Activate(
void );
1102 virtual void Restore(
void );
1105 virtual void SetMultisampling(
bool bMultisampling );
unsigned int(APIENTRYP PFNGLXGETAGPOFFSETMESAPROC)(const void *pointer)
float getMaxU() const
returns the maximum U coordinate.
Represents a 3D vector or point with S23E8 floating point elements.
int getTileStateIndex(float U, float V) const
A Mesh is a collection of vertices organized into faces, and optional Texture Coordinate information...
Represents a texture mixer.
bool contains(float U, float V) const
returns true if the array is big enough to contain the specified UV coordinates
This is a container class for simple textures.
ImgTile DirtyTile() const
Returns the dirty rectangle of the texture. Deprecated.
Format
Image channel datatype type.
This is the base class for anything which is an element of a list with a fixed order and a transparen...
ImgDirtyRegion * DirtyRegion()
returns the dirty region.
unsigned int m_iHeight
The default width, in pixels of new texture tiles.
Represents a bounding box whose axes are aligned with the coordinate system.
This is the base class for most classes in the Mudbox SDK.
void setTileStateIndex(float U, float V, int indx)
Implement a somewhat smarter image region that a simple rectangle.
virtual void AddDirtyTile(const ImgTile &t)
Notifies the texture that part of it has changed.
Color m_cFillColor
The default channel count of new texture tiles.
QString m_sFileFormat
The color used to fill new texture tiles.
Represents a color with four components: red, green, blue, alpha.
MemoryChannelOrder
Describe channel ordering for 4 channel images – these are the order of the channels in memory...
void ClearDirtyRegion()
clear the dirty region – resets it completely.
unsigned int m_iChannelCount
The default pixel format of new texture tiles.
void getTotalUVBounds(float &minU, float &minV, float &maxU, float &maxV) const
get the bounds of this texture tile array
ImgTile GetTotalBounds() const
return the total bounds of the dirty region as one rectangle.
This class describes a 2D array of texture tiles.
TextureTileArray * getTextureTileArray()
virtual void AddDirtyPixel(int x, int y)
Notifies the texture that part of it has changed.
void ResetDirtyTile()
Resets the dirty region to be empty.
Represents a texture tile inside a texture pool.
Class: ConvolutionKernel.
This class is the base of all node types that can be structured in a hierarchy.
This structure describes the default texture parameters used when creating texture tiles for this Tex...
Describes a material of a geometry including its surface colors, transparency and texture information...
Represents a rectangle. Used to specify rectangular regions of an image.
Streams are used to read information from a file, or to write it to a file.
float getMinU() const
returns the minimum U coordinate.
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
void AddToDirtyRegion(const ImgTile &dirtyTile)
add a imgTile to the dirty region If you are partway through iterating the tiles, this will reset tha...
float getMinV() const
returns the minimum V coordinate.
RenderTarget is an abstraction of an OpenGL renderbuffer object.
static int s_iCompositingFBO
This is the base image type defining the interface to images.
#define Q_DECLARE_TR_FUNCTIONS(context)
TextureTileArray m_TextureTileArray
ImgDirtyRegion m_DirtyRegion
float getMaxV() const
returns the maximum V coordinate.