# osg::TexEnvCombine Class Reference

TexEnvCombine encapsulates the OpenGL glTexEnvCombine (texture environment) state. More...

Inheritance diagram for osg::TexEnvCombine:

[legend]
List of all members.

## Public Types

enum | CombineParam { REPLACE = GL_REPLACE, MODULATE = GL_MODULATE, ADD = GL_ADD, ADD_SIGNED = GL_ADD_SIGNED_ARB, INTERPOLATE = GL_INTERPOLATE_ARB, SUBTRACT = GL_SUBTRACT_ARB, DOT3_RGB = GL_DOT3_RGB_ARB, DOT3_RGBA = GL_DOT3_RGBA_ARB }
enum | SourceParam { CONSTANT = GL_CONSTANT_ARB, PRIMARY_COLOR = GL_PRIMARY_COLOR_ARB, PREVIOUS = GL_PREVIOUS_ARB, TEXTURE = GL_TEXTURE, TEXTURE0 = GL_TEXTURE0, TEXTURE1 = GL_TEXTURE0+1, TEXTURE2 = GL_TEXTURE0+2, TEXTURE3 = GL_TEXTURE0+3, TEXTURE4 = GL_TEXTURE0+4, TEXTURE5 = GL_TEXTURE0+5, TEXTURE6 = GL_TEXTURE0+6, TEXTURE7 = GL_TEXTURE0+7 }
enum | OperandParam { SRC_COLOR = GL_SRC_COLOR, ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR, SRC_ALPHA = GL_SRC_ALPHA, ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA }

## Public Member Functions

| TexEnvCombine ()
| TexEnvCombine (const TexEnvCombine &texenv, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| Copy constructor using CopyOp to manage deep vs shallow copy.
| META_StateAttribute (osg, TexEnvCombine, TEXENV)
virtual bool | isTextureAttribute () const
| Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit.
virtual int | compare (const StateAttribute &sa) const
| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
void | setCombine_RGB (GLint cm)
void | setCombine_Alpha (GLint cm)
GLint | getCombine_RGB () const
GLint | getCombine_Alpha () const
void | setSource0_RGB (GLint sp)
void | setSource1_RGB (GLint sp)
void | setSource2_RGB (GLint sp)
void | setSource0_Alpha (GLint sp)
void | setSource1_Alpha (GLint sp)
void | setSource2_Alpha (GLint sp)
GLint | getSource0_RGB () const
GLint | getSource1_RGB () const
GLint | getSource2_RGB () const
GLint | getSource0_Alpha () const
GLint | getSource1_Alpha () const
GLint | getSource2_Alpha () const
void | setOperand0_RGB (GLint op)
void | setOperand1_RGB (GLint op)
void | setOperand2_RGB (GLint op)
void | setOperand0_Alpha (GLint op)
void | setOperand1_Alpha (GLint op)
void | setOperand2_Alpha (GLint op)
GLint | getOperand0_RGB () const
GLint | getOperand1_RGB () const
GLint | getOperand2_RGB () const
GLint | getOperand0_Alpha () const
GLint | getOperand1_Alpha () const
GLint | getOperand2_Alpha () const
void | setScale_RGB (float scale)
void | setScale_Alpha (float scale)
float | getScale_RGB () const
float | getScale_Alpha () const
void | setConstantColor (const Vec4 &color)
const Vec4 & | getConstantColor () const
void | setConstantColorAsLightDirection (const Vec3 &direction)
| Set the constant color attribute to the given light direction for use with DOT3 combine operation.
Vec3 | getConstantColorAsLightDirection () const
virtual void | apply (State &state) const
| apply the OpenGL state attributes.

## Protected Member Functions

virtual | ~TexEnvCombine ()
bool | needsTexEnvCombiner (GLint value) const
void | computeNeedoForTexEnvCombiners ()

## Protected Attributes

bool | _needsTexEnvCrossbar
GLint | _combine_RGB
GLint | _combine_Alpha
GLint | _source0_RGB
GLint | _source1_RGB
GLint | _source2_RGB
GLint | _source0_Alpha
GLint | _source1_Alpha
GLint | _source2_Alpha
GLint | _operand0_RGB
GLint | _operand1_RGB
GLint | _operand2_RGB
GLint | _operand0_Alpha
GLint | _operand1_Alpha
GLint | _operand2_Alpha
float | _scale_RGB
float | _scale_Alpha
osg::Vec4 | _constantColor

## Detailed Description

TexEnvCombine encapsulates the OpenGL glTexEnvCombine (texture environment) state.

## Member Enumeration Documentation

enum osg::TexEnvCombine::CombineParam

Enumeration values:

  REPLACE |
  MODULATE |
  ADD |
  ADD_SIGNED |
  INTERPOLATE |
  SUBTRACT |
  DOT3_RGB |
  DOT3_RGBA |

enum osg::TexEnvCombine::OperandParam

Enumeration values:

  SRC_COLOR |
  ONE_MINUS_SRC_COLOR |
  SRC_ALPHA |
  ONE_MINUS_SRC_ALPHA |

enum osg::TexEnvCombine::SourceParam

Enumeration values:

  CONSTANT |
  PRIMARY_COLOR |
  PREVIOUS |
  TEXTURE |
  TEXTURE0 |
  TEXTURE1 |
  TEXTURE2 |
  TEXTURE3 |
  TEXTURE4 |
  TEXTURE5 |
  TEXTURE6 |
  TEXTURE7 |

## Constructor & Destructor Documentation

TexEnvCombine::TexEnvCombine | ( |  | ) |

osg::TexEnvCombine::TexEnvCombine | ( | const TexEnvCombine & | texenv,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) | `[inline]`

| Copy constructor using CopyOp to manage deep vs shallow copy.

TexEnvCombine::~TexEnvCombine | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

void TexEnvCombine::apply | ( | State & | state | ) | const`[virtual]`

| apply the OpenGL state attributes. The global state for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. Implements osg::StateAttribute.

virtual int osg::TexEnvCombine::compare | ( | const StateAttribute & | sa | ) | const`[inline, virtual]`

| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. Implements osg::StateAttribute.

void osg::TexEnvCombine::computeNeedoForTexEnvCombiners | ( |  | ) | `[inline, protected]`

GLint osg::TexEnvCombine::getCombine_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getCombine_RGB | ( |  | ) | const`[inline]`

const Vec4& osg::TexEnvCombine::getConstantColor | ( |  | ) | const`[inline]`

Vec3 osg::TexEnvCombine::getConstantColorAsLightDirection | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand0_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand0_RGB | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand1_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand1_RGB | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand2_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getOperand2_RGB | ( |  | ) | const`[inline]`

float osg::TexEnvCombine::getScale_Alpha | ( |  | ) | const`[inline]`

float osg::TexEnvCombine::getScale_RGB | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource0_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource0_RGB | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource1_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource1_RGB | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource2_Alpha | ( |  | ) | const`[inline]`

GLint osg::TexEnvCombine::getSource2_RGB | ( |  | ) | const`[inline]`

virtual bool osg::TexEnvCombine::isTextureAttribute | ( |  | ) | const`[inline, virtual]`

| Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit. Reimplemented from osg::StateAttribute.

osg::TexEnvCombine::META_StateAttribute | ( | osg | ,
|  | TexEnvCombine | ,
|  | TEXENV |
| ) |

bool osg::TexEnvCombine::needsTexEnvCombiner | ( | GLint | value | ) | const`[inline, protected]`

void TexEnvCombine::setCombine_Alpha | ( | GLint | cm | ) |

void TexEnvCombine::setCombine_RGB | ( | GLint | cm | ) |

void osg::TexEnvCombine::setConstantColor | ( | const Vec4 & | color | ) | `[inline]`

void osg::TexEnvCombine::setConstantColorAsLightDirection | ( | const Vec3 & | direction | ) | `[inline]`

| Set the constant color attribute to the given light direction for use with DOT3 combine operation.

void TexEnvCombine::setOperand0_Alpha | ( | GLint | op | ) |

void TexEnvCombine::setOperand0_RGB | ( | GLint | op | ) |

void TexEnvCombine::setOperand1_Alpha | ( | GLint | op | ) |

void TexEnvCombine::setOperand1_RGB | ( | GLint | op | ) |

void TexEnvCombine::setOperand2_Alpha | ( | GLint | op | ) |

void TexEnvCombine::setOperand2_RGB | ( | GLint | op | ) |

void TexEnvCombine::setScale_Alpha | ( | float | scale | ) |

void TexEnvCombine::setScale_RGB | ( | float | scale | ) |

void TexEnvCombine::setSource0_Alpha | ( | GLint | sp | ) |

void TexEnvCombine::setSource0_RGB | ( | GLint | sp | ) |

void TexEnvCombine::setSource1_Alpha | ( | GLint | sp | ) |

void TexEnvCombine::setSource1_RGB | ( | GLint | sp | ) |

void TexEnvCombine::setSource2_Alpha | ( | GLint | sp | ) |

void TexEnvCombine::setSource2_RGB | ( | GLint | sp | ) |

## Member Data Documentation

GLint osg::TexEnvCombine::_combine_Alpha `[protected]`

GLint osg::TexEnvCombine::_combine_RGB `[protected]`

osg::Vec4 osg::TexEnvCombine::_constantColor `[protected]`

bool osg::TexEnvCombine::_needsTexEnvCrossbar `[protected]`

GLint osg::TexEnvCombine::_operand0_Alpha `[protected]`

GLint osg::TexEnvCombine::_operand0_RGB `[protected]`

GLint osg::TexEnvCombine::_operand1_Alpha `[protected]`

GLint osg::TexEnvCombine::_operand1_RGB `[protected]`

GLint osg::TexEnvCombine::_operand2_Alpha `[protected]`

GLint osg::TexEnvCombine::_operand2_RGB `[protected]`

float osg::TexEnvCombine::_scale_Alpha `[protected]`

float osg::TexEnvCombine::_scale_RGB `[protected]`

GLint osg::TexEnvCombine::_source0_Alpha `[protected]`

GLint osg::TexEnvCombine::_source0_RGB `[protected]`

GLint osg::TexEnvCombine::_source1_Alpha `[protected]`

GLint osg::TexEnvCombine::_source1_RGB `[protected]`

GLint osg::TexEnvCombine::_source2_Alpha `[protected]`

GLint osg::TexEnvCombine::_source2_RGB `[protected]`

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

- TexEnvCombine
- TexEnvCombine.cpp