ID3DXTextureGutterHelper interface

The ID3DXTextureGutterHelper interface is used to build and manage gutter regions in a texture. Gutter regions separate textures and allow for bilinear interpolation to avoid rendering artifacts at texture boundaries.

The Get... methods provide access to the data structures used by the Apply... methods.


The ID3DXTextureGutterHelper interface inherits from the IUnknown interface. ID3DXTextureGutterHelper also has these types of members:


The ID3DXTextureGutterHelper interface has these methods.

Method Description
ApplyGuttersFloat Applies gutters to a FLOAT texture buffer.
ApplyGuttersPRT Applies gutters to an ID3DXPRTBuffer buffer object.
ApplyGuttersTex Applies gutters to an IDirect3DTexture9 texture object.
GetBaryMap Retrieves texel barycentric coordinates.
GetFaceMap Retrieves the index of the mesh face to which each texel belongs.
GetGutterMap Receives a texel class value that indicates texel class according to each texel's location.
GetHeight Retrieves the height of the texture, in pixels.
GetTexelMap Retrieves the (u, v) texture coordinates of each texel.
GetWidth Retrieves the width of the texture, in pixels.
ResampleTex Resamples a texture into this gutterhelper's parameterization.
SetBaryMap Sets texel barycentric coordinates.
SetFaceMap Sets the index of the mesh face to which each texel belongs.
SetGutterMap Sets a texel class value that indicates texel class according to each texel's location.
SetTexelMap Sets the (u, v) texture coordinates of each texel.




When used with precomputed radiance transfer (PRT), this interface requires a unique parameterization of the model. Every texel must correspond to a single point on the surface of the model and vice-versa. If the model includes multiple textures, it must be split into separate pieces that each contain one gutter helper object per texture.


This interface can be used to generate a map in texture space in which each texel is in one of four classes.

Texel Class Texel Location
0 Invalid point; texel will not be used.
1 Inside triangle.
2 Inside gutter.
4 Inside gutter; texel will be evaluated as a full sample in the ID3DXTextureGutterHelper::ApplyGuttersFloat, ID3DXTextureGutterHelper::ApplyGuttersTex, or ID3DXTextureGutterHelper::ApplyGuttersPRT methods.


For classes 1 and 2, a texel is stored with the face it belongs to, along with barycentric coordinates of the first two vertices of that face. Gutter vertices are assigned to the closest edge in texture space.

There is no texel class 3.

The ID3DXTextureGutterHelper interface is obtained by calling the D3DXCreateTextureGutterHelper function.

The LPD3DXTEXTUREGUTTERHELPER type is defined as a pointer to the ID3DXTextureGutterHelper interface.

typedef interface ID3DXTextureGutterHelper ID3DXTextureGutterHelper;
typedef interface ID3DXTextureGutterHelper *LPD3DXTEXTUREGUTTERHELPER;



See also

D3DX Interfaces