Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# IdeRenderTexture Class Reference

`#include <deRenderStates.hpp>`

Inheritance diagram for IdeRenderTexture:

[legend]
Collaboration diagram for IdeRenderTexture:

[legend]
List of all members.

## Public Types
enum | TextureOp { TEXTUREOP_INVALID = -1, TEXTUREOP_DISABLE = 0, TEXTUREOP_SELECTARG1, TEXTUREOP_SELECTARG2, TEXTUREOP_MODULATE, TEXTUREOP_MODULATE2X, TEXTUREOP_MODULATE4X, TEXTUREOP_ADD, TEXTUREOP_ADDSIGNED, TEXTUREOP_ADDSIGNED2X, TEXTUREOP_SUBTRACT, TEXTUREOP_ADDSMOOTH, TEXTUREOP_BLENDDIFFUSEALPHA, TEXTUREOP_BLENDTEXTUREALPHA, TEXTUREOP_BLENDFACTORALPHA, TEXTUREOP_BLENDTEXTUREALPHAPM, TEXTUREOP_BLENDPREVIOUSALPHA, TEXTUREOP_PREMODULATE, TEXTUREOP_MODULATEALPHA_ADDCOLOR, TEXTUREOP_MODULATECOLOR_ADDALPHA, TEXTUREOP_MODULATEINVALPHA_ADDCOLOR, TEXTUREOP_MODULATEINVCOLOR_ADDALPHA, TEXTUREOP_BUMPENVMAP, TEXTUREOP_BUMPENVMAPLUMINANCE, TEXTUREOP_DOTPRODUCT3, TEXTUREOP_MULTIPLYADD, TEXTUREOP_LERP, TEXTUREOP_COUNT, TEXTUREOP_FORCE_32BIT = 0x7FFFFFFF }
| texture operations More...
enum | TextureArg { TEXTUREARG_INVALID = 0, TEXTUREARG_PREVIOUS = 0x0001, TEXTUREARG_DIFFUSE = 0x0002, TEXTUREARG_SPECULAR = 0x0004, TEXTUREARG_TEXTURE = 0x0010, TEXTUREARG_TFACTOR = 0x0020, TEXTUREARG_TEMPREG = 0x0040, TEXTUREARG_ALPHAREPLICATE = 0x0100, TEXTUREARG_COMPLEMENT = 0x0200, TEXTUREARG_COUNT, TEXTUREARG_FORCE_32BIT = 0x7FFFFFFF }
| texture arguments More...
enum | TextureAddress { TEXTUREADDRESS_INVALID = -1, TEXTUREADDRESS_WRAP = 0, TEXTUREADDRESS_MIRROR, TEXTUREADDRESS_CLAMP, TEXTUREADDRESS_COUNT, TEXTUREADDRESS_FORCE_32BIT = 0x7FFFFFFF }
| texture addressing modes More...
enum | TextureFilter { TEXTUREFILTER_INVALID = -1, TEXTUREFILTER_NONE = 0, TEXTUREFILTER_POINT, TEXTUREFILTER_LINEAR, TEXTUREFILTER_ANISOTROPIC, TEXTUREFILTER_COUNT, TEXTUREFILTER_FORCE_32BIT = 0x7FFFFFFF }
| texture filtering modes More...
enum | TextureCoordSource { TEXCOORD_INVALID = -1, TEXCOORD_NOPROCESSING = 0x00000000, TEXCOORD_VIEWSPACE_NORMAL = 0x00010000, TEXCOORD_VIEWSPACE_POSITION = 0x00020000, TEXCOORD_VIEWSPACE_REFLECTIONVECTOR = 0x00030000, TEXCOORD_FORCE_32BIT = 0x7FFFFFFF }
## Public Member Functions
virtual IdeRenderState::Type | GetRSType () const=0
virtual deBoolean | SetColorOperation (long Stage, TextureOp ColorOp)=0
| Set the Texture Stage's color operation.
virtual deBoolean | SetAlphaOperation (long Stage, TextureOp AlphaOp)=0
| Set the Texture Stage's alpha operation.
virtual deBoolean | SetResultTarget (long Stage, TextureArg Target)=0
| Set where the result of this operation will go - either PREVIOUS or TEMPREG.
virtual TextureOp | GetColorOperation (long Stage) const=0
virtual TextureOp | GetAlphaOperation (long Stage) const=0
virtual TextureArg | GetResultTarget (long Stage)=0
virtual deBoolean | SetColorArg (long Stage, long ArgNum, TextureArg Arg)=0
virtual deBoolean | SetAlphaArg (long Stage, long ArgNum, TextureArg Arg)=0
virtual TextureArg | GetColorArg (long Stage, long ArgNum) const=0
virtual TextureArg | GetAlphaArg (long Stage, long ArgNum) const=0
virtual deBoolean | SetBitmap (long Stage, IdeBitmapProxy *Bitmap)=0
| Set the Texture Stage's source bitmap.
virtual IdeBitmapProxy * | GetBitmap (long Stage) const=0
| Retrieve the Texture Stage's source bitmap.
virtual deBoolean | SetTextureAddressU (long Stage, TextureAddress Address)=0
| Set the Texture Stage's U (horizontal) addressing mode.
virtual deBoolean | SetTextureAddressV (long Stage, TextureAddress Address)=0
| Set the Texture Stage's V (vertical) addressing mode.
virtual TextureAddress | GetTextureAddressU (long Stage) const=0
virtual TextureAddress | GetTextureAddressV (long Stage) const=0
virtual deBoolean | SetTextureMinFilter (long Stage, TextureFilter Filter)=0
| Set the Texture Stage's minification filter (when more than 1 texel is in a screen pixel).
virtual deBoolean | SetTextureMagFilter (long Stage, TextureFilter Filter)=0
| Set the Texture Stage's magnification filter (when 1 texel affects more than 1 screen pixel).
virtual deBoolean | SetTextureMipFilter (long Stage, TextureFilter Filter)=0
| Set the Texture Stage's mipmap filter (when blending between two mipmaps).
virtual TextureFilter | GetTextureMinFilter (long Stage) const=0
virtual TextureFilter | GetTextureMagFilter (long Stage) const=0
virtual TextureFilter | GetTextureMipFilter (long Stage) const=0
virtual deBoolean | SetTexCoordSource (long Stage, long SourceStage)=0
virtual deBoolean | SetTexCoordGen (long Stage, TextureCoordSource SourcePipe, long CopyWrapModeStage=0)=0
virtual deBoolean | GetTexCoordSource (long Stage, long &SourceStage, TextureCoordSource &SourceFlags)=0
virtual long | GetTexCoordSourceCombined (long Stage)=0
virtual deBoolean | SetTextureProjection (long Stage, deBoolean Enable)=0
virtual deBoolean | GetTextureProjection (long Stage)=0
virtual deBoolean | CopyStageSettings (IdeRenderTexture *Target, long SourceStage, long TargetStage) const=0
## Protected Member Functions
virtual | ~IdeRenderTexture ()

## Detailed Description

the texture renderstate class

Todo:
  split IdeRenderTexture into 2 separate ones - TextureSet and FFPixel

## Member Enumeration Documentation

enum IdeRenderTexture::TextureAddress

  | texture addressing modes Enumeration values:
  TEXTUREADDRESS_INVALID |
  TEXTUREADDRESS_WRAP | wrap a texture for U or V
  TEXTUREADDRESS_MIRROR | mirror the texture for U or V
  TEXTUREADDRESS_CLAMP | clamp the texture
  TEXTUREADDRESS_COUNT |
  TEXTUREADDRESS_FORCE_32BIT |

enum IdeRenderTexture::TextureArg

  | texture arguments Enumeration values:
  TEXTUREARG_INVALID |
  TEXTUREARG_PREVIOUS | use result of previous blending
  TEXTUREARG_DIFFUSE | use diffuse color
  TEXTUREARG_SPECULAR | use specular color
  TEXTUREARG_TEXTURE | use texture itself
  TEXTUREARG_TFACTOR | use color argument supplied with RENDER_TEXTUREFACTOR renderstate
  TEXTUREARG_TEMPREG | can be used as a destination or source for intermediate calculations
  TEXTUREARG_ALPHAREPLICATE | replicate alpha to all color channels
  TEXTUREARG_COMPLEMENT | invert the argument
  TEXTUREARG_COUNT |
  TEXTUREARG_FORCE_32BIT |

enum IdeRenderTexture::TextureCoordSource

  | Enumeration values:
  TEXCOORD_INVALID |
  TEXCOORD_NOPROCESSING |
  TEXCOORD_VIEWSPACE_NORMAL |
  TEXCOORD_VIEWSPACE_POSITION |
  TEXCOORD_VIEWSPACE_REFLECTIONVECTOR |
  TEXCOORD_FORCE_32BIT |

enum IdeRenderTexture::TextureFilter

  | texture filtering modes Enumeration values:
  TEXTUREFILTER_INVALID |
  TEXTUREFILTER_NONE | no filterning (default for mip-maps)
  TEXTUREFILTER_POINT | Closest-point filter.
  TEXTUREFILTER_LINEAR | linear blending filter (bilinear, trilinear)
  TEXTUREFILTER_ANISOTROPIC | anisotropic blending filter
  TEXTUREFILTER_COUNT |
  TEXTUREFILTER_FORCE_32BIT |

enum IdeRenderTexture::TextureOp

  | texture operations Enumeration values:
  TEXTUREOP_INVALID |
  TEXTUREOP_DISABLE | no texture operation
  TEXTUREOP_SELECTARG1 | use texture arg1 as output
  TEXTUREOP_SELECTARG2 | use texture arg2 as output
  TEXTUREOP_MODULATE | S = A * B.
  TEXTUREOP_MODULATE2X | S = (A * B) << 1.
  TEXTUREOP_MODULATE4X | S = (A * B) << 2.
  TEXTUREOP_ADD | S = A + B.
  TEXTUREOP_ADDSIGNED | S = A + B - 0.5.
  TEXTUREOP_ADDSIGNED2X | S = (A + B - 0.5) << 1.
  TEXTUREOP_SUBTRACT | S = A - B.
  TEXTUREOP_ADDSMOOTH | S = A + B - (A * B).
  TEXTUREOP_BLENDDIFFUSEALPHA | blend based on alpha of all previous textures
  TEXTUREOP_BLENDTEXTUREALPHA | blend based on this texture's alpha
  TEXTUREOP_BLENDFACTORALPHA | blend based on scalar alpha
  TEXTUREOP_BLENDTEXTUREALPHAPM | blend based on this texture's alpha (alpha is pre-multiplied)
  TEXTUREOP_BLENDPREVIOUSALPHA | blend based on alpha of previous texture
  TEXTUREOP_PREMODULATE | modulate texture with next texture stage
  TEXTUREOP_MODULATEALPHA_ADDCOLOR | S = A.rgb + (A.a * B.rgb).
  TEXTUREOP_MODULATECOLOR_ADDALPHA | S = (A.rgb * B.rgb) + A.a.
  TEXTUREOP_MODULATEINVALPHA_ADDCOLOR | S = (1 - A.a) * B.rgb + A.rgb.
  TEXTUREOP_MODULATEINVCOLOR_ADDALPHA | S = (1 - A.rgb) * B.rgb + A.a.
  TEXTUREOP_BUMPENVMAP | bump mapping using environment of next texture stage without luminance
  TEXTUREOP_BUMPENVMAPLUMINANCE | bump mapping using environment of next texture stage with luminance
  TEXTUREOP_DOTPRODUCT3 | S = (A.r * B.r) + (A.g * B.g) + (A.b * B.b).
  TEXTUREOP_MULTIPLYADD | S = A + (B * C).
  TEXTUREOP_LERP | S = (A * B) + ((1 - A) * C).
  TEXTUREOP_COUNT |
  TEXTUREOP_FORCE_32BIT |

## Constructor & Destructor Documentation

virtual IdeRenderTexture::~IdeRenderTexture | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

virtual deBoolean IdeRenderTexture::CopyStageSettings | ( | IdeRenderTexture * | Target,
|  | long | SourceStage,
|  | long | TargetStage
| ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetAlphaArg | ( | long | Stage,
|  | long | ArgNum
| ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureOp IdeRenderTexture::GetAlphaOperation | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual IdeBitmapProxy* IdeRenderTexture::GetBitmap | ( | long | Stage | ) | const`[pure virtual]`

| Retrieve the Texture Stage's source bitmap. Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetColorArg | ( | long | Stage,
|  | long | ArgNum
| ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureOp IdeRenderTexture::GetColorOperation | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureArg IdeRenderTexture::GetResultTarget | ( | long | Stage | ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual IdeRenderState::Type IdeRenderTexture::GetRSType | ( |  | ) | const`[pure virtual]`

| Implements IdeRenderState. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::GetTexCoordSource | ( | long | Stage,
|  | long & | SourceStage,
|  | TextureCoordSource & | SourceFlags
| ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual long IdeRenderTexture::GetTexCoordSourceCombined | ( | long | Stage | ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureAddress IdeRenderTexture::GetTextureAddressU | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureAddress IdeRenderTexture::GetTextureAddressV | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMagFilter | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMinFilter | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual TextureFilter IdeRenderTexture::GetTextureMipFilter | ( | long | Stage | ) | const`[pure virtual]`

| Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::GetTextureProjection | ( | long | Stage | ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetAlphaArg | ( | long | Stage,
|  | long | ArgNum,
|  | TextureArg | Arg
| ) | `[pure virtual]`

  | Set the Texture Stage's alpha input argument Parameters:
  ArgNum | min:1 max:3
Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetAlphaOperation | ( | long | Stage,
|  | TextureOp | AlphaOp
| ) | `[pure virtual]`

| Set the Texture Stage's alpha operation. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetBitmap | ( | long | Stage,
|  | IdeBitmapProxy * | Bitmap
| ) | `[pure virtual]`

| Set the Texture Stage's source bitmap. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetColorArg | ( | long | Stage,
|  | long | ArgNum,
|  | TextureArg | Arg
| ) | `[pure virtual]`

  | Set the Texture Stage's color input argument Parameters:
  ArgNum | min:1 max:3
Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetColorOperation | ( | long | Stage,
|  | TextureOp | ColorOp
| ) | `[pure virtual]`

| Set the Texture Stage's color operation. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetResultTarget | ( | long | Stage,
|  | TextureArg | Target
| ) | `[pure virtual]`

| Set where the result of this operation will go - either PREVIOUS or TEMPREG. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTexCoordGen | ( | long | Stage,
|  | TextureCoordSource | SourcePipe,
|  | long | CopyWrapModeStage = 0
| ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTexCoordSource | ( | long | Stage,
|  | long | SourceStage
| ) | `[pure virtual]`

| Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureAddressU | ( | long | Stage,
|  | TextureAddress | Address
| ) | `[pure virtual]`

| Set the Texture Stage's U (horizontal) addressing mode. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureAddressV | ( | long | Stage,
|  | TextureAddress | Address
| ) | `[pure virtual]`

| Set the Texture Stage's V (vertical) addressing mode. Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMagFilter | ( | long | Stage,
|  | TextureFilter | Filter
| ) | `[pure virtual]`

| Set the Texture Stage's magnification filter (when 1 texel affects more than 1 screen pixel). Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMinFilter | ( | long | Stage,
|  | TextureFilter | Filter
| ) | `[pure virtual]`

| Set the Texture Stage's minification filter (when more than 1 texel is in a screen pixel). Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureMipFilter | ( | long | Stage,
|  | TextureFilter | Filter
| ) | `[pure virtual]`

| Set the Texture Stage's mipmap filter (when blending between two mipmaps). Implemented in deRenderTexture.

virtual deBoolean IdeRenderTexture::SetTextureProjection | ( | long | Stage,
|  | deBoolean | Enable
| ) | `[pure virtual]`

| Implemented in deRenderTexture.

The documentation for this class was generated from the following file:

- deRenderStates.hpp