Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

osg::TexEnvCombine Class Reference

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

Inheritance diagram for osg::TexEnvCombine:

Inheritance graph
[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 Vec4getConstantColor () 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

osg::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.

virtual osg::TexEnvCombine::~TexEnvCombine  )  [protected, virtual]
 


Member Function Documentation

virtual void osg::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 osg::TexEnvCombine::setCombine_Alpha GLint  cm  ) 
 

void osg::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 osg::TexEnvCombine::setOperand0_Alpha GLint  op  ) 
 

void osg::TexEnvCombine::setOperand0_RGB GLint  op  ) 
 

void osg::TexEnvCombine::setOperand1_Alpha GLint  op  ) 
 

void osg::TexEnvCombine::setOperand1_RGB GLint  op  ) 
 

void osg::TexEnvCombine::setOperand2_Alpha GLint  op  ) 
 

void osg::TexEnvCombine::setOperand2_RGB GLint  op  ) 
 

void osg::TexEnvCombine::setScale_Alpha float  scale  ) 
 

void osg::TexEnvCombine::setScale_RGB float  scale  ) 
 

void osg::TexEnvCombine::setSource0_Alpha GLint  sp  ) 
 

void osg::TexEnvCombine::setSource0_RGB GLint  sp  ) 
 

void osg::TexEnvCombine::setSource1_Alpha GLint  sp  ) 
 

void osg::TexEnvCombine::setSource1_RGB GLint  sp  ) 
 

void osg::TexEnvCombine::setSource2_Alpha GLint  sp  ) 
 

void osg::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 file:
Generated at Thu Nov 24 16:23:52 2005 for the OpenSceneGraph by doxygen 1.3.6.