struct tTextureLayerInfo

File      : API\rend\rendTypes.h
Namespace : rend
struct tTextureLayerInfo
{
  bool                    m_bEnabled;
  core::ePriority         m_priority;
  eUVSource               m_source;
  ZPtr<rend::ITexture>    m_pTexture;
  DWORD                   m_dwColorArg0;
  DWORD                   m_dwColorArg1;
  DWORD                   m_dwColorArg2;
  DWORD                   m_dwColorOp;
  DWORD                   m_dwAlphaArg0;
  DWORD                   m_dwAlphaArg1;
  DWORD                   m_dwAlphaArg2;
  DWORD                   m_dwAlphaOp;
  bool                    m_bResultToTemp;
  DWORD                   m_dwAddressModeU;
  DWORD                   m_dwAddressModeV;
  DWORD                   m_dwAddressModeW;
  DWORD                   m_dwMagFilter;
  DWORD                   m_dwMinFilter;
  DWORD                   m_dwMipFilter;
  ZColor                  m_colorBorder;
  // :FIXME: consider uv-transform
  DLL_LINKAGE             tTextureLayerInfo();
};
//sequence type
typedef ZSequence<tTextureLayerInfo> tTextureLayerInfoSeq;

Description

The struct for managing texture layers on material. It contains information about single texture layer, including a pointer to rend::ITexture interface.

This structure can be considered as a set of options for one texture stage (IDirect3DDevice9::SetTextureStageState).

Sequence of texture layers tTextureLayerInfoSeq is defined and maintained by IMaterial interface. You can add, remove, query for texture layers on material interface with according methods.

Data members:
m_bEnabled
Specifies whether according layer is enabled. If not, it's bypassed.
m_priority
Specifies layer priority. It's unneccessary to sort layers on your own, instead you can specify lower or higher priority for some layers.
m_source
UV-mapping coordinates source for texture on this layer, specified as a value of eUVSource enumerated type.
m_pTexture
Pointer to ITexture interface, associated with this texture layer.
m_dwColorArg0, m_dwColorArg1, m_dwColorArg2
Zero, first and second arguments for color operation on this texture stage specified as a value of D3DTA_* definitions from DirectX SDK.
m_dwColorOp
Color operation on this texture stage, specified as a value of D3DTOP_* enumeration from DirectX SDK.
m_dwAlphaArg0, m_dwAlphaArg1, m_dwAlphaArg2
Zero, first and second arguments for color operation on this texture stage specified as a value of D3DTA_* definitions from DirectX SDK.
m_dwAlphaOp
Alpha argument operation on this texture stage, specified as a value of D3DTOP_* enumeration from DirectX SDK.
m_bResultToTemp
Specifies whether result pixel operations on this stage is put into temporary register.
m_dwAddressModeU, m_dwAddressModeV, m_dwAddressModeW
Texture addressing mode for U,V and W coordiantes specified as a value of D3DTEXTUREADDRESS enumeration from DirectX SDK.
m_dwMagFilter
Magnification filter for texture specified as a value of D3DTEXTUREFILTERTYPE enumeration type from DirectX SDK.
m_dwMinFilter
Minification filter for texture specified as a value of D3DTEXTUREFILTERTYPE enumeration type from DirectX SDK.
m_dwMipFilter
Mip-mapping filter for texture specified as a value of D3DTEXTUREFILTERTYPE enumeration type from DirectX SDK.
m_colorBorder
Border color for texture in case of using D3DTADDRESS_BORDER addressing mode.

Remarks

Default constructor is available for this structure which initializes all data members with default (valid) values with according types. Texture interface is set to NULL; color and alpha operation is set to D3DTOP_MODULATE, texture addressing mode is "wrap" on all coordinates.

See Also:
overview of namespace rend
enum eUVSource
IMaterial interface
IMaterial::getTextureLayer method
IMaterial::setTextureLayer method
IMaterial::addTextureLayer method
ITexture interface