osg::CubeTextureChunk Class Reference
[OpenGL State Handling]

State chunk for cubic textures. See CubeTextureChunk for a description. More...

#include <OSGCubeTextureChunk.h>

Inheritance diagram for osg::CubeTextureChunk:

osg::CubeTextureChunkBase osg::TextureChunk osg::TextureChunkBase osg::StateChunk osg::StateChunkBase osg::Attachment osg::FieldContainer

List of all members.

Public Types

enum  {
  PosZImageFieldId = Inherited::NextFieldId, PosXImageFieldId = PosZImageFieldId + 1, NegXImageFieldId = PosXImageFieldId + 1, PosYImageFieldId = NegXImageFieldId + 1,
  NegYImageFieldId = PosYImageFieldId + 1, IsReflectionMapFieldId = NegYImageFieldId + 1, NextFieldId = IsReflectionMapFieldId + 1
}
typedef CubeTextureChunkPtr Ptr
enum  NPOTMatrixScaleE {
  None_TT = 0, NPotTexScale_TT = 1, XFlip_TT = 2, YFlip_TT = 4,
  ZFlip_TT = 8
}
 Flags can be OR-ed, e.g. NPotTexScale for old gpu and YFlip for videos. More...
enum  {
  ImageFieldId = Inherited::NextFieldId, InternalFormatFieldId = ImageFieldId + 1, ExternalFormatFieldId = InternalFormatFieldId + 1, ScaleFieldId = ExternalFormatFieldId + 1,
  FrameFieldId = ScaleFieldId + 1, MinFilterFieldId = FrameFieldId + 1, MagFilterFieldId = MinFilterFieldId + 1, WrapSFieldId = MagFilterFieldId + 1,
  WrapTFieldId = WrapSFieldId + 1, WrapRFieldId = WrapTFieldId + 1, EnvModeFieldId = WrapRFieldId + 1, EnvColorFieldId = EnvModeFieldId + 1,
  EnvCombineRGBFieldId = EnvColorFieldId + 1, EnvCombineAlphaFieldId = EnvCombineRGBFieldId + 1, EnvScaleRGBFieldId = EnvCombineAlphaFieldId + 1, EnvScaleAlphaFieldId = EnvScaleRGBFieldId + 1,
  EnvSource0RGBFieldId = EnvScaleAlphaFieldId + 1, EnvSource1RGBFieldId = EnvSource0RGBFieldId + 1, EnvSource2RGBFieldId = EnvSource1RGBFieldId + 1, EnvSource0AlphaFieldId = EnvSource2RGBFieldId + 1,
  EnvSource1AlphaFieldId = EnvSource0AlphaFieldId + 1, EnvSource2AlphaFieldId = EnvSource1AlphaFieldId + 1, EnvOperand0RGBFieldId = EnvSource2AlphaFieldId + 1, EnvOperand1RGBFieldId = EnvOperand0RGBFieldId + 1,
  EnvOperand2RGBFieldId = EnvOperand1RGBFieldId + 1, EnvOperand0AlphaFieldId = EnvOperand2RGBFieldId + 1, EnvOperand1AlphaFieldId = EnvOperand0AlphaFieldId + 1, EnvOperand2AlphaFieldId = EnvOperand1AlphaFieldId + 1,
  GLIdFieldId = EnvOperand2AlphaFieldId + 1, IgnoreGLForAspectFieldId = GLIdFieldId + 1, PointSpriteFieldId = IgnoreGLForAspectFieldId + 1, PriorityFieldId = PointSpriteFieldId + 1,
  ShaderOperationFieldId = PriorityFieldId + 1, ShaderInputFieldId = ShaderOperationFieldId + 1, ShaderOffsetMatrixFieldId = ShaderInputFieldId + 1, ShaderOffsetScaleFieldId = ShaderOffsetMatrixFieldId + 1,
  ShaderOffsetBiasFieldId = ShaderOffsetScaleFieldId + 1, ShaderRGBADotProductFieldId = ShaderOffsetBiasFieldId + 1, ShaderCullModesFieldId = ShaderRGBADotProductFieldId + 1, ShaderConstEyeFieldId = ShaderCullModesFieldId + 1,
  LodBiasFieldId = ShaderConstEyeFieldId + 1, TargetFieldId = LodBiasFieldId + 1, DirtyLeftFieldId = TargetFieldId + 1, DirtyMinXFieldId = DirtyLeftFieldId + 1,
  DirtyMaxXFieldId = DirtyMinXFieldId + 1, DirtyMinYFieldId = DirtyMaxXFieldId + 1, DirtyMaxYFieldId = DirtyMinYFieldId + 1, DirtyMinZFieldId = DirtyMaxYFieldId + 1,
  DirtyMaxZFieldId = DirtyMinZFieldId + 1, AnisotropyFieldId = DirtyMaxZFieldId + 1, BorderColorFieldId = AnisotropyFieldId + 1, BorderWidthFieldId = BorderColorFieldId + 1,
  NPOTMatrixScaleFieldId = BorderWidthFieldId + 1, NextFieldId = NPOTMatrixScaleFieldId + 1
}
enum  { IgnoreFieldId = Inherited::NextFieldId, NextFieldId = IgnoreFieldId + 1 }
enum  { ParentsFieldId = Inherited::NextFieldId, InternalFieldId = ParentsFieldId + 1, NextFieldId = InternalFieldId + 1 }
enum  { NextFieldId = 1 }

Public Member Functions

Chunk Class Access


virtual const StateChunkClassgetClass (void) const
Sync


virtual void changed (BitVector whichField, UInt32 origin)
Output


virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
State


virtual void activate (DrawActionBase *action, UInt32 index=0)
virtual void changeFrom (DrawActionBase *action, StateChunk *old, UInt32 index=0)
virtual void deactivate (DrawActionBase *action, UInt32 index=0)
Comparison


virtual Real32 switchCost (StateChunk *chunk)
virtual bool operator< (const StateChunk &other) const
virtual bool operator== (const StateChunk &other) const
virtual bool operator!= (const StateChunk &other) const
Cube Texture specific


void setPosZImage (ImagePtr &value)
void setPosXImage (ImagePtr &value)
void setNegXImage (ImagePtr &value)
void setPosYImage (ImagePtr &value)
void setNegYImage (ImagePtr &value)
FieldContainer Get


virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get


SFImagePtrgetSFPosZImage (void)
 Get the CubeTextureChunk::_sfPosZImage field.
SFImagePtrgetSFPosXImage (void)
 Get the CubeTextureChunk::_sfPosXImage field.
SFImagePtrgetSFNegXImage (void)
 Get the CubeTextureChunk::_sfNegXImage field.
SFImagePtrgetSFPosYImage (void)
 Get the CubeTextureChunk::_sfPosYImage field.
SFImagePtrgetSFNegYImage (void)
 Get the CubeTextureChunk::_sfNegYImage field.
SFBoolgetSFIsReflectionMap (void)
 Get the CubeTextureChunk::_sfIsReflectionMap field.
ImagePtrgetPosZImage (void)
 Get the value of the CubeTextureChunk::_sfPosZImage field.
const ImagePtrgetPosZImage (void) const
 Get the value of the CubeTextureChunk::_sfPosZImage field.
ImagePtrgetPosXImage (void)
 Get the value of the CubeTextureChunk::_sfPosXImage field.
const ImagePtrgetPosXImage (void) const
 Get the value of the CubeTextureChunk::_sfPosXImage field.
ImagePtrgetNegXImage (void)
 Get the value of the CubeTextureChunk::_sfNegXImage field.
const ImagePtrgetNegXImage (void) const
 Get the value of the CubeTextureChunk::_sfNegXImage field.
ImagePtrgetPosYImage (void)
 Get the value of the CubeTextureChunk::_sfPosYImage field.
const ImagePtrgetPosYImage (void) const
 Get the value of the CubeTextureChunk::_sfPosYImage field.
ImagePtrgetNegYImage (void)
 Get the value of the CubeTextureChunk::_sfNegYImage field.
const ImagePtrgetNegYImage (void) const
 Get the value of the CubeTextureChunk::_sfNegYImage field.
bool & getIsReflectionMap (void)
 Get the value of the CubeTextureChunk::_sfIsReflectionMap field.
const bool & getIsReflectionMap (void) const
 Get the value of the CubeTextureChunk::_sfIsReflectionMap field.
Field Set


void setPosZImage (const ImagePtr &value)
 Set the value of the CubeTextureChunk::_sfPosZImage field.
void setPosXImage (const ImagePtr &value)
 Set the value of the CubeTextureChunk::_sfPosXImage field.
void setNegXImage (const ImagePtr &value)
 Set the value of the CubeTextureChunk::_sfNegXImage field.
void setPosYImage (const ImagePtr &value)
 Set the value of the CubeTextureChunk::_sfPosYImage field.
void setNegYImage (const ImagePtr &value)
 Set the value of the CubeTextureChunk::_sfNegYImage field.
void setIsReflectionMap (const bool &value)
 Set the value of the CubeTextureChunk::_sfIsReflectionMap field.
Binary Access
virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy


virtual FieldContainerPtr shallowCopy (void) const
State


virtual bool isTransparent (void) const
Texture specific


void imageContentChanged (Int32 minx=-1, Int32 maxx=-1, Int32 miny=-1, Int32 maxy=-1, Int32 minz=-1, Int32 maxz=-1)
void setImage (ImagePtr &pImage)
void setShaderOffsetMatrix (Real32 m11, Real32 m12, Real32 m21, Real32 m22)
Field Set


void setImage (const ImagePtr &value)
 Set the value of the TextureChunk::_sfImage field.
void setInternalFormat (const GLenum &value)
 Set the value of the TextureChunk::_sfInternalFormat field.
void setExternalFormat (const GLenum &value)
 Set the value of the TextureChunk::_sfExternalFormat field.
void setScale (const bool &value)
 Set the value of the TextureChunk::_sfScale field.
void setFrame (const UInt32 &value)
 Set the value of the TextureChunk::_sfFrame field.
void setMinFilter (const GLenum &value)
 Set the value of the TextureChunk::_sfMinFilter field.
void setMagFilter (const GLenum &value)
 Set the value of the TextureChunk::_sfMagFilter field.
void setWrapS (const GLenum &value)
 Set the value of the TextureChunk::_sfWrapS field.
void setWrapT (const GLenum &value)
 Set the value of the TextureChunk::_sfWrapT field.
void setWrapR (const GLenum &value)
 Set the value of the TextureChunk::_sfWrapR field.
void setEnvMode (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvMode field.
void setEnvColor (const Color4f &value)
 Set the value of the TextureChunk::_sfEnvColor field.
void setEnvCombineRGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvCombineRGB field.
void setEnvCombineAlpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvCombineAlpha field.
void setEnvScaleRGB (const Real32 &value)
 Set the value of the TextureChunk::_sfEnvScaleRGB field.
void setEnvScaleAlpha (const Real32 &value)
 Set the value of the TextureChunk::_sfEnvScaleAlpha field.
void setEnvSource0RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource0RGB field.
void setEnvSource1RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource1RGB field.
void setEnvSource2RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource2RGB field.
void setEnvSource0Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource0Alpha field.
void setEnvSource1Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource1Alpha field.
void setEnvSource2Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvSource2Alpha field.
void setEnvOperand0RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand0RGB field.
void setEnvOperand1RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand1RGB field.
void setEnvOperand2RGB (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand2RGB field.
void setEnvOperand0Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand0Alpha field.
void setEnvOperand1Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand1Alpha field.
void setEnvOperand2Alpha (const GLenum &value)
 Set the value of the TextureChunk::_sfEnvOperand2Alpha field.
void setGLId (const GLenum &value)
 Set the value of the TextureChunk::_sfGLId field.
void setIgnoreGLForAspect (const Int32 &value)
 Set the value of the TextureChunk::_sfIgnoreGLForAspect field.
void setPointSprite (const bool &value)
 Set the value of the TextureChunk::_sfPointSprite field.
void setPriority (const Real32 &value)
 Set the value of the TextureChunk::_sfPriority field.
void setShaderOperation (const GLenum &value)
 Set the value of the TextureChunk::_sfShaderOperation field.
void setShaderInput (const GLenum &value)
 Set the value of the TextureChunk::_sfShaderInput field.
void setShaderOffsetScale (const Real32 &value)
 Set the value of the TextureChunk::_sfShaderOffsetScale field.
void setShaderOffsetBias (const Real32 &value)
 Set the value of the TextureChunk::_sfShaderOffsetBias field.
void setShaderRGBADotProduct (const GLenum &value)
 Set the value of the TextureChunk::_sfShaderRGBADotProduct field.
void setShaderCullModes (const UInt8 &value)
 Set the value of the TextureChunk::_sfShaderCullModes field.
void setShaderConstEye (const Vec3f &value)
 Set the value of the TextureChunk::_sfShaderConstEye field.
void setLodBias (const Real32 &value)
 Set the value of the TextureChunk::_sfLodBias field.
void setTarget (const GLenum &value)
 Set the value of the TextureChunk::_sfTarget field.
void setDirtyLeft (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyLeft field.
void setDirtyMinX (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMinX field.
void setDirtyMaxX (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMaxX field.
void setDirtyMinY (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMinY field.
void setDirtyMaxY (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMaxY field.
void setDirtyMinZ (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMinZ field.
void setDirtyMaxZ (const Int32 &value)
 Set the value of the TextureChunk::_sfDirtyMaxZ field.
void setAnisotropy (const Real32 &value)
 Set the value of the TextureChunk::_sfAnisotropy field.
void setBorderColor (const Color4f &value)
 Set the value of the TextureChunk::_sfBorderColor field.
void setBorderWidth (const UInt32 &value)
 Set the value of the TextureChunk::_sfBorderWidth field.
void setNPOTMatrixScale (const UInt32 &value)
 Set the value of the TextureChunk::_sfNPOTMatrixScale field.
Field Get


SFImagePtrgetSFImage (void)
 Get the TextureChunk::_sfImage field.
SFGLenumgetSFInternalFormat (void)
 Get the TextureChunk::_sfInternalFormat field.
SFGLenumgetSFExternalFormat (void)
 Get the TextureChunk::_sfExternalFormat field.
SFBoolgetSFScale (void)
 Get the TextureChunk::_sfScale field.
SFUInt32getSFFrame (void)
 Get the TextureChunk::_sfFrame field.
SFGLenumgetSFMinFilter (void)
 Get the TextureChunk::_sfMinFilter field.
SFGLenumgetSFMagFilter (void)
 Get the TextureChunk::_sfMagFilter field.
SFGLenumgetSFWrapS (void)
 Get the TextureChunk::_sfWrapS field.
SFGLenumgetSFWrapT (void)
 Get the TextureChunk::_sfWrapT field.
SFGLenumgetSFWrapR (void)
 Get the TextureChunk::_sfWrapR field.
SFGLenumgetSFEnvMode (void)
 Get the TextureChunk::_sfEnvMode field.
SFColor4fgetSFEnvColor (void)
 Get the TextureChunk::_sfEnvColor field.
SFGLenumgetSFEnvCombineRGB (void)
 Get the TextureChunk::_sfEnvCombineRGB field.
SFGLenumgetSFEnvCombineAlpha (void)
 Get the TextureChunk::_sfEnvCombineAlpha field.
SFReal32getSFEnvScaleRGB (void)
 Get the TextureChunk::_sfEnvScaleRGB field.
SFReal32getSFEnvScaleAlpha (void)
 Get the TextureChunk::_sfEnvScaleAlpha field.
SFGLenumgetSFEnvSource0RGB (void)
 Get the TextureChunk::_sfEnvSource0RGB field.
SFGLenumgetSFEnvSource1RGB (void)
 Get the TextureChunk::_sfEnvSource1RGB field.
SFGLenumgetSFEnvSource2RGB (void)
 Get the TextureChunk::_sfEnvSource2RGB field.
SFGLenumgetSFEnvSource0Alpha (void)
 Get the TextureChunk::_sfEnvSource0Alpha field.
SFGLenumgetSFEnvSource1Alpha (void)
 Get the TextureChunk::_sfEnvSource1Alpha field.
SFGLenumgetSFEnvSource2Alpha (void)
 Get the TextureChunk::_sfEnvSource2Alpha field.
SFGLenumgetSFEnvOperand0RGB (void)
 Get the TextureChunk::_sfEnvOperand0RGB field.
SFGLenumgetSFEnvOperand1RGB (void)
 Get the TextureChunk::_sfEnvOperand1RGB field.
SFGLenumgetSFEnvOperand2RGB (void)
 Get the TextureChunk::_sfEnvOperand2RGB field.
SFGLenumgetSFEnvOperand0Alpha (void)
 Get the TextureChunk::_sfEnvOperand0Alpha field.
SFGLenumgetSFEnvOperand1Alpha (void)
 Get the TextureChunk::_sfEnvOperand1Alpha field.
SFGLenumgetSFEnvOperand2Alpha (void)
 Get the TextureChunk::_sfEnvOperand2Alpha field.
SFGLenumgetSFGLId (void)
 Get the TextureChunk::_sfGLId field.
SFInt32getSFIgnoreGLForAspect (void)
 Get the TextureChunk::_sfIgnoreGLForAspect field.
SFBoolgetSFPointSprite (void)
 Get the TextureChunk::_sfPointSprite field.
SFReal32getSFPriority (void)
 Get the TextureChunk::_sfPriority field.
SFGLenumgetSFShaderOperation (void)
 Get the TextureChunk::_sfShaderOperation field.
SFGLenumgetSFShaderInput (void)
 Get the TextureChunk::_sfShaderInput field.
MFReal32getMFShaderOffsetMatrix (void)
 Get the TextureChunk::_mfShaderOffsetMatrix field.
SFReal32getSFShaderOffsetScale (void)
 Get the TextureChunk::_sfShaderOffsetScale field.
SFReal32getSFShaderOffsetBias (void)
 Get the TextureChunk::_sfShaderOffsetBias field.
SFGLenumgetSFShaderRGBADotProduct (void)
 Get the TextureChunk::_sfShaderRGBADotProduct field.
SFUInt8getSFShaderCullModes (void)
 Get the TextureChunk::_sfShaderCullModes field.
SFVec3fgetSFShaderConstEye (void)
 Get the TextureChunk::_sfShaderConstEye field.
SFReal32getSFLodBias (void)
 Get the TextureChunk::_sfLodBias field.
SFGLenumgetSFTarget (void)
 Get the TextureChunk::_sfTarget field.
SFInt32getSFDirtyLeft (void)
 Get the TextureChunk::_sfDirtyLeft field.
SFInt32getSFDirtyMinX (void)
 Get the TextureChunk::_sfDirtyMinX field.
SFInt32getSFDirtyMaxX (void)
 Get the TextureChunk::_sfDirtyMaxX field.
SFInt32getSFDirtyMinY (void)
 Get the TextureChunk::_sfDirtyMinY field.
SFInt32getSFDirtyMaxY (void)
 Get the TextureChunk::_sfDirtyMaxY field.
SFInt32getSFDirtyMinZ (void)
 Get the TextureChunk::_sfDirtyMinZ field.
SFInt32getSFDirtyMaxZ (void)
 Get the TextureChunk::_sfDirtyMaxZ field.
SFReal32getSFAnisotropy (void)
 Get the TextureChunk::_sfAnisotropy field.
SFColor4fgetSFBorderColor (void)
 Get the TextureChunk::_sfBorderColor field.
SFUInt32getSFBorderWidth (void)
 Get the TextureChunk::_sfBorderWidth field.
SFUInt32getSFNPOTMatrixScale (void)
 Get the TextureChunk::_sfNPOTMatrixScale field.
ImagePtrgetImage (void)
 Get the value of the TextureChunk::_sfImage field.
const ImagePtrgetImage (void) const
 Get the value of the TextureChunk::_sfImage field.
GLenum & getInternalFormat (void)
 Get the value of the TextureChunk::_sfInternalFormat field.
const GLenum & getInternalFormat (void) const
 Get the value of the TextureChunk::_sfInternalFormat field.
GLenum & getExternalFormat (void)
 Get the value of the TextureChunk::_sfExternalFormat field.
const GLenum & getExternalFormat (void) const
 Get the value of the TextureChunk::_sfExternalFormat field.
bool & getScale (void)
 Get the value of the TextureChunk::_sfScale field.
const bool & getScale (void) const
 Get the value of the TextureChunk::_sfScale field.
UInt32getFrame (void)
 Get the value of the TextureChunk::_sfFrame field.
const UInt32getFrame (void) const
 Get the value of the TextureChunk::_sfFrame field.
GLenum & getMinFilter (void)
 Get the value of the TextureChunk::_sfMinFilter field.
const GLenum & getMinFilter (void) const
 Get the value of the TextureChunk::_sfMinFilter field.
GLenum & getMagFilter (void)
 Get the value of the TextureChunk::_sfMagFilter field.
const GLenum & getMagFilter (void) const
 Get the value of the TextureChunk::_sfMagFilter field.
GLenum & getWrapS (void)
 Get the value of the TextureChunk::_sfWrapS field.
const GLenum & getWrapS (void) const
 Get the value of the TextureChunk::_sfWrapS field.
GLenum & getWrapT (void)
 Get the value of the TextureChunk::_sfWrapT field.
const GLenum & getWrapT (void) const
 Get the value of the TextureChunk::_sfWrapT field.
GLenum & getWrapR (void)
 Get the value of the TextureChunk::_sfWrapR field.
const GLenum & getWrapR (void) const
 Get the value of the TextureChunk::_sfWrapR field.
GLenum & getEnvMode (void)
 Get the value of the TextureChunk::_sfEnvMode field.
const GLenum & getEnvMode (void) const
 Get the value of the TextureChunk::_sfEnvMode field.
Color4fgetEnvColor (void)
 Get the value of the TextureChunk::_sfEnvColor field.
const Color4fgetEnvColor (void) const
 Get the value of the TextureChunk::_sfEnvColor field.
GLenum & getEnvCombineRGB (void)
 Get the value of the TextureChunk::_sfEnvCombineRGB field.
const GLenum & getEnvCombineRGB (void) const
 Get the value of the TextureChunk::_sfEnvCombineRGB field.
GLenum & getEnvCombineAlpha (void)
 Get the value of the TextureChunk::_sfEnvCombineAlpha field.
const GLenum & getEnvCombineAlpha (void) const
 Get the value of the TextureChunk::_sfEnvCombineAlpha field.
Real32getEnvScaleRGB (void)
 Get the value of the TextureChunk::_sfEnvScaleRGB field.
const Real32getEnvScaleRGB (void) const
 Get the value of the TextureChunk::_sfEnvScaleRGB field.
Real32getEnvScaleAlpha (void)
 Get the value of the TextureChunk::_sfEnvScaleAlpha field.
const Real32getEnvScaleAlpha (void) const
 Get the value of the TextureChunk::_sfEnvScaleAlpha field.
GLenum & getEnvSource0RGB (void)
 Get the value of the TextureChunk::_sfEnvSource0RGB field.
const GLenum & getEnvSource0RGB (void) const
 Get the value of the TextureChunk::_sfEnvSource0RGB field.
GLenum & getEnvSource1RGB (void)
 Get the value of the TextureChunk::_sfEnvSource1RGB field.
const GLenum & getEnvSource1RGB (void) const
 Get the value of the TextureChunk::_sfEnvSource1RGB field.
GLenum & getEnvSource2RGB (void)
 Get the value of the TextureChunk::_sfEnvSource2RGB field.
const GLenum & getEnvSource2RGB (void) const
 Get the value of the TextureChunk::_sfEnvSource2RGB field.
GLenum & getEnvSource0Alpha (void)
 Get the value of the TextureChunk::_sfEnvSource0Alpha field.
const GLenum & getEnvSource0Alpha (void) const
 Get the value of the TextureChunk::_sfEnvSource0Alpha field.
GLenum & getEnvSource1Alpha (void)
 Get the value of the TextureChunk::_sfEnvSource1Alpha field.
const GLenum & getEnvSource1Alpha (void) const
 Get the value of the TextureChunk::_sfEnvSource1Alpha field.
GLenum & getEnvSource2Alpha (void)
 Get the value of the TextureChunk::_sfEnvSource2Alpha field.
const GLenum & getEnvSource2Alpha (void) const
 Get the value of the TextureChunk::_sfEnvSource2Alpha field.
GLenum & getEnvOperand0RGB (void)
 Get the value of the TextureChunk::_sfEnvOperand0RGB field.
const GLenum & getEnvOperand0RGB (void) const
 Get the value of the TextureChunk::_sfEnvOperand0RGB field.
GLenum & getEnvOperand1RGB (void)
 Get the value of the TextureChunk::_sfEnvOperand1RGB field.
const GLenum & getEnvOperand1RGB (void) const
 Get the value of the TextureChunk::_sfEnvOperand1RGB field.
GLenum & getEnvOperand2RGB (void)
 Get the value of the TextureChunk::_sfEnvOperand2RGB field.
const GLenum & getEnvOperand2RGB (void) const
 Get the value of the TextureChunk::_sfEnvOperand2RGB field.
GLenum & getEnvOperand0Alpha (void)
 Get the value of the TextureChunk::_sfEnvOperand0Alpha field.
const GLenum & getEnvOperand0Alpha (void) const
 Get the value of the TextureChunk::_sfEnvOperand0Alpha field.
GLenum & getEnvOperand1Alpha (void)
 Get the value of the TextureChunk::_sfEnvOperand1Alpha field.
const GLenum & getEnvOperand1Alpha (void) const
 Get the value of the TextureChunk::_sfEnvOperand1Alpha field.
GLenum & getEnvOperand2Alpha (void)
 Get the value of the TextureChunk::_sfEnvOperand2Alpha field.
const GLenum & getEnvOperand2Alpha (void) const
 Get the value of the TextureChunk::_sfEnvOperand2Alpha field.
GLenum & getGLId (void)
 Get the value of the TextureChunk::_sfGLId field.
const GLenum & getGLId (void) const
 Get the value of the TextureChunk::_sfGLId field.
Int32getIgnoreGLForAspect (void)
 Get the value of the TextureChunk::_sfIgnoreGLForAspect field.
const Int32getIgnoreGLForAspect (void) const
 Get the value of the TextureChunk::_sfIgnoreGLForAspect field.
bool & getPointSprite (void)
 Get the value of the TextureChunk::_sfPointSprite field.
const bool & getPointSprite (void) const
 Get the value of the TextureChunk::_sfPointSprite field.
Real32getPriority (void)
 Get the value of the TextureChunk::_sfPriority field.
const Real32getPriority (void) const
 Get the value of the TextureChunk::_sfPriority field.
GLenum & getShaderOperation (void)
 Get the value of the TextureChunk::_sfShaderOperation field.
const GLenum & getShaderOperation (void) const
 Get the value of the TextureChunk::_sfShaderOperation field.
GLenum & getShaderInput (void)
 Get the value of the TextureChunk::_sfShaderInput field.
const GLenum & getShaderInput (void) const
 Get the value of the TextureChunk::_sfShaderInput field.
Real32getShaderOffsetScale (void)
 Get the value of the TextureChunk::_sfShaderOffsetScale field.
const Real32getShaderOffsetScale (void) const
 Get the value of the TextureChunk::_sfShaderOffsetScale field.
Real32getShaderOffsetBias (void)
 Get the value of the TextureChunk::_sfShaderOffsetBias field.
const Real32getShaderOffsetBias (void) const
 Get the value of the TextureChunk::_sfShaderOffsetBias field.
GLenum & getShaderRGBADotProduct (void)
 Get the value of the TextureChunk::_sfShaderRGBADotProduct field.
const GLenum & getShaderRGBADotProduct (void) const
 Get the value of the TextureChunk::_sfShaderRGBADotProduct field.
UInt8getShaderCullModes (void)
 Get the value of the TextureChunk::_sfShaderCullModes field.
const UInt8getShaderCullModes (void) const
 Get the value of the TextureChunk::_sfShaderCullModes field.
Vec3fgetShaderConstEye (void)
 Get the value of the TextureChunk::_sfShaderConstEye field.
const Vec3fgetShaderConstEye (void) const
 Get the value of the TextureChunk::_sfShaderConstEye field.
Real32getLodBias (void)
 Get the value of the TextureChunk::_sfLodBias field.
const Real32getLodBias (void) const
 Get the value of the TextureChunk::_sfLodBias field.
GLenum & getTarget (void)
 Get the value of the TextureChunk::_sfTarget field.
const GLenum & getTarget (void) const
 Get the value of the TextureChunk::_sfTarget field.
Int32getDirtyLeft (void)
 Get the value of the TextureChunk::_sfDirtyLeft field.
const Int32getDirtyLeft (void) const
 Get the value of the TextureChunk::_sfDirtyLeft field.
Int32getDirtyMinX (void)
 Get the value of the TextureChunk::_sfDirtyMinX field.
const Int32getDirtyMinX (void) const
 Get the value of the TextureChunk::_sfDirtyMinX field.
Int32getDirtyMaxX (void)
 Get the value of the TextureChunk::_sfDirtyMaxX field.
const Int32getDirtyMaxX (void) const
 Get the value of the TextureChunk::_sfDirtyMaxX field.
Int32getDirtyMinY (void)
 Get the value of the TextureChunk::_sfDirtyMinY field.
const Int32getDirtyMinY (void) const
 Get the value of the TextureChunk::_sfDirtyMinY field.
Int32getDirtyMaxY (void)
 Get the value of the TextureChunk::_sfDirtyMaxY field.
const Int32getDirtyMaxY (void) const
 Get the value of the TextureChunk::_sfDirtyMaxY field.
Int32getDirtyMinZ (void)
 Get the value of the TextureChunk::_sfDirtyMinZ field.
const Int32getDirtyMinZ (void) const
 Get the value of the TextureChunk::_sfDirtyMinZ field.
Int32getDirtyMaxZ (void)
 Get the value of the TextureChunk::_sfDirtyMaxZ field.
const Int32getDirtyMaxZ (void) const
 Get the value of the TextureChunk::_sfDirtyMaxZ field.
Real32getAnisotropy (void)
 Get the value of the TextureChunk::_sfAnisotropy field.
const Real32getAnisotropy (void) const
 Get the value of the TextureChunk::_sfAnisotropy field.
Color4fgetBorderColor (void)
 Get the value of the TextureChunk::_sfBorderColor field.
const Color4fgetBorderColor (void) const
 Get the value of the TextureChunk::_sfBorderColor field.
UInt32getBorderWidth (void)
 Get the value of the TextureChunk::_sfBorderWidth field.
const UInt32getBorderWidth (void) const
 Get the value of the TextureChunk::_sfBorderWidth field.
UInt32getNPOTMatrixScale (void)
 Get the value of the TextureChunk::_sfNPOTMatrixScale field.
const UInt32getNPOTMatrixScale (void) const
 Get the value of the TextureChunk::_sfNPOTMatrixScale field.
Real32getShaderOffsetMatrix (const UInt32 index)
 Get the value of the index element the TextureChunk::_mfShaderOffsetMatrix field.
MFReal32getShaderOffsetMatrix (void)
 Get the TextureChunk::_mfShaderOffsetMatrix field.
const MFReal32getShaderOffsetMatrix (void) const
 Get the TextureChunk::_mfShaderOffsetMatrix field.
Chunk Class Access


UInt32 getClassId (void) const
State


virtual void update (DrawActionBase *action)
Field Get


SFBoolgetSFIgnore (void)
 Get the StateChunk::_sfIgnore field.
bool & getIgnore (void)
 Get the value of the StateChunk::_sfIgnore field.
const bool & getIgnore (void) const
 Get the value of the StateChunk::_sfIgnore field.
Field Set


void setIgnore (const bool &value)
 Set the value of the StateChunk::_sfIgnore field.
Parents


MFFieldContainerPtrgetParents (void)
const MFFieldContainerPtrgetParents (void) const
MFFieldContainerPtrgetMFParents (void)
void addParent (FieldContainerPtr parent)
void subParent (FieldContainerPtr parent)
Int32 findParent (FieldContainerPtr parent)
Parents


SFBoolgetInternal (void)
const SFBoolgetInternal (void) const
SFBoolgetSFInternal (void)
void setInternal (bool bVal)
Get Instance Type Information


UInt32 getTypeId (void) const
UInt16 getGroupId (void) const
const Char8getTypeName (void) const


FieldgetField (UInt32 fieldId)
FieldgetField (const Char8 *fieldName)

Static Public Member Functions

Static Chunk Class Access


static UInt32 getStaticClassId (void)
static const StateChunkClassgetStaticClass (void)
Class Get


static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction


static CubeTextureChunkPtr create (void)
 create a new instance of the class
static CubeTextureChunkPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Multitexture handling


static bool hasMultiTexture (Window *win)
static void activeTexture (Window *win, UInt16 texture)
 call glActiveTexture via the extension mechanism
static bool activateTexture (Window *win, UInt16 texture)
Get Class Type Information


static UInt16 getClassGroupId (void)

Static Public Attributes

static const osg::BitVector PosZImageFieldMask
static const osg::BitVector PosXImageFieldMask
static const osg::BitVector NegXImageFieldMask
static const osg::BitVector PosYImageFieldMask
static const osg::BitVector NegYImageFieldMask
static const osg::BitVector IsReflectionMapFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector ImageFieldMask
static const osg::BitVector InternalFormatFieldMask
static const osg::BitVector ExternalFormatFieldMask
static const osg::BitVector ScaleFieldMask
static const osg::BitVector FrameFieldMask
static const osg::BitVector MinFilterFieldMask
static const osg::BitVector MagFilterFieldMask
static const osg::BitVector WrapSFieldMask
static const osg::BitVector WrapTFieldMask
static const osg::BitVector WrapRFieldMask
static const osg::BitVector EnvModeFieldMask
static const osg::BitVector EnvColorFieldMask
static const osg::BitVector EnvCombineRGBFieldMask
static const osg::BitVector EnvCombineAlphaFieldMask
static const osg::BitVector EnvScaleRGBFieldMask
static const osg::BitVector EnvScaleAlphaFieldMask
static const osg::BitVector EnvSource0RGBFieldMask
static const osg::BitVector EnvSource1RGBFieldMask
static const osg::BitVector EnvSource2RGBFieldMask
static const osg::BitVector EnvSource0AlphaFieldMask
static const osg::BitVector EnvSource1AlphaFieldMask
static const osg::BitVector EnvSource2AlphaFieldMask
static const osg::BitVector EnvOperand0RGBFieldMask
static const osg::BitVector EnvOperand1RGBFieldMask
static const osg::BitVector EnvOperand2RGBFieldMask
static const osg::BitVector EnvOperand0AlphaFieldMask
static const osg::BitVector EnvOperand1AlphaFieldMask
static const osg::BitVector EnvOperand2AlphaFieldMask
static const osg::BitVector GLIdFieldMask
static const osg::BitVector IgnoreGLForAspectFieldMask
static const osg::BitVector PointSpriteFieldMask
static const osg::BitVector PriorityFieldMask
static const osg::BitVector ShaderOperationFieldMask
static const osg::BitVector ShaderInputFieldMask
static const osg::BitVector ShaderOffsetMatrixFieldMask
static const osg::BitVector ShaderOffsetScaleFieldMask
static const osg::BitVector ShaderOffsetBiasFieldMask
static const osg::BitVector ShaderRGBADotProductFieldMask
static const osg::BitVector ShaderCullModesFieldMask
static const osg::BitVector ShaderConstEyeFieldMask
static const osg::BitVector LodBiasFieldMask
static const osg::BitVector TargetFieldMask
static const osg::BitVector DirtyLeftFieldMask
static const osg::BitVector DirtyMinXFieldMask
static const osg::BitVector DirtyMaxXFieldMask
static const osg::BitVector DirtyMinYFieldMask
static const osg::BitVector DirtyMaxYFieldMask
static const osg::BitVector DirtyMinZFieldMask
static const osg::BitVector DirtyMaxZFieldMask
static const osg::BitVector AnisotropyFieldMask
static const osg::BitVector BorderColorFieldMask
static const osg::BitVector BorderWidthFieldMask
static const osg::BitVector NPOTMatrixScaleFieldMask
static const osg::BitVector IgnoreFieldMask
static const BitVector InternalFieldMask = (1 << Attachment::InternalFieldId)
static const BitVector ParentsFieldMask = (1 << Attachment::ParentsFieldId)
static const BitVector NextFieldMask
CoredNodePtr helper


static const bool isNodeCore = false

Protected Member Functions

Init


void onCreate (const CubeTextureChunk *source=NULL)
void onDestroy (void)
Constructors


 CubeTextureChunk (void)
 CubeTextureChunk (const CubeTextureChunk &source)
Destructors


virtual ~CubeTextureChunk (void)
Sync


void executeSyncImpl (CubeTextureChunkBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Sync


void executeSyncImpl (TextureChunkBase *pOther, const BitVector &whichField)
Sync


void executeSyncImpl (StateChunkBase *pOther, const BitVector &whichField)
Sync


void executeSyncImpl (Attachment *pOther, const BitVector &whichField)
Sync


void executeSyncImpl (FieldContainer *pOther, const BitVector &whichField)
Init


void onCreate (const TextureChunk *source=NULL)
MT Construction


void onCreate (const FieldContainer *source=NULL)
void onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL)
GL


void handleTexture (Window *win, UInt32 id, GLenum bindtarget, GLenum paramtarget, GLenum imgtarget, Window::GLObjectStatusE mode, ImagePtr img, int side=0)
void handleTextureShader (Window *win, GLenum bindtarget)
MT Edit


template<class FieldTypeT>
void beginEditX (const BitVector &whichField, FieldTypeT &field)
template<class FieldTypeT>
void endEditX (const BitVector &whichField, FieldTypeT &field)

Static Protected Member Functions

static void initMethod (void)
Create Fieldcontainer


template<class ObjectPtrT>
static void newPtr (ObjectPtrT &result, const typename ObjectPtrT::StoredObjectType *prototypeP)
template<class ObjectPtrT>
static void newPtr (ObjectPtrT &result)

Protected Attributes

Fields


SFImagePtr _sfPosZImage
SFImagePtr _sfPosXImage
SFImagePtr _sfNegXImage
SFImagePtr _sfPosYImage
SFImagePtr _sfNegYImage
SFBool _sfIsReflectionMap
Fields


SFImagePtr _sfImage
SFGLenum _sfInternalFormat
SFGLenum _sfExternalFormat
SFBool _sfScale
SFUInt32 _sfFrame
SFGLenum _sfMinFilter
SFGLenum _sfMagFilter
SFGLenum _sfWrapS
SFGLenum _sfWrapT
SFGLenum _sfWrapR
SFGLenum _sfEnvMode
SFColor4f _sfEnvColor
SFGLenum _sfEnvCombineRGB
SFGLenum _sfEnvCombineAlpha
SFReal32 _sfEnvScaleRGB
SFReal32 _sfEnvScaleAlpha
SFGLenum _sfEnvSource0RGB
SFGLenum _sfEnvSource1RGB
SFGLenum _sfEnvSource2RGB
SFGLenum _sfEnvSource0Alpha
SFGLenum _sfEnvSource1Alpha
SFGLenum _sfEnvSource2Alpha
SFGLenum _sfEnvOperand0RGB
SFGLenum _sfEnvOperand1RGB
SFGLenum _sfEnvOperand2RGB
SFGLenum _sfEnvOperand0Alpha
SFGLenum _sfEnvOperand1Alpha
SFGLenum _sfEnvOperand2Alpha
SFGLenum _sfGLId
SFInt32 _sfIgnoreGLForAspect
SFBool _sfPointSprite
SFReal32 _sfPriority
SFGLenum _sfShaderOperation
SFGLenum _sfShaderInput
MFReal32 _mfShaderOffsetMatrix
SFReal32 _sfShaderOffsetScale
SFReal32 _sfShaderOffsetBias
SFGLenum _sfShaderRGBADotProduct
SFUInt8 _sfShaderCullModes
SFVec3f _sfShaderConstEye
SFReal32 _sfLodBias
SFGLenum _sfTarget
SFInt32 _sfDirtyLeft
SFInt32 _sfDirtyMinX
SFInt32 _sfDirtyMaxX
SFInt32 _sfDirtyMinY
SFInt32 _sfDirtyMaxY
SFInt32 _sfDirtyMinZ
SFInt32 _sfDirtyMaxZ
SFReal32 _sfAnisotropy
SFColor4f _sfBorderColor
SFUInt32 _sfBorderWidth
SFUInt32 _sfNPOTMatrixScale
Fields


SFBool _sfIgnore
Fields


SFBool _sfInternal
MFFieldContainerPtr _parents
Member


UInt32 _shares

Static Protected Attributes

static UInt32 _extTex3D
static UInt32 _arbMultiTex
static UInt32 _nvPointSprite
static UInt32 _nvTextureShader
static UInt32 _nvTextureShader2
static UInt32 _nvTextureShader3
static UInt32 _sgisGenerateMipmap
static UInt32 _extTextureLodBias
static UInt32 _arbTextureCompression
static UInt32 _arbTextureRectangle
static UInt32 _arbTextureNonPowerOfTwo
static UInt32 _extTextureFilterAnisotropic
static UInt32 _funcTexImage3D = Window::invalidFunctionID
static UInt32 _funcTexSubImage3D = Window::invalidFunctionID
static UInt32 _funcActiveTexture = Window::invalidFunctionID
static UInt32 _arbCubeTex
static UInt32 _funcCompressedTexImage1D = Window::invalidFunctionID
static UInt32 _funcCompressedTexSubImage1D = Window::invalidFunctionID
static UInt32 _funcCompressedTexImage2D = Window::invalidFunctionID
static UInt32 _funcCompressedTexSubImage2D = Window::invalidFunctionID
static UInt32 _funcCompressedTexImage3D = Window::invalidFunctionID
static UInt32 _funcCompressedTexSubImage3D = Window::invalidFunctionID
static StateChunkClass _class

Private Types

typedef CubeTextureChunkBase Inherited

Private Member Functions

void operator= (const CubeTextureChunk &source)
GL


void handleGL (Window *win, UInt32 id)

Friends

class FieldContainer
class CubeTextureChunkBase


Detailed Description

See CubeTextureChunk for a description.

The CubeTexture is defined by 6 separate texture images. As it is derived from the standard texture chunk it already has an image, which is used for the negative Z direction. The other 5 images are stored in variables that are named according to the direction they represent (osg::CubeTextureChunk::_sfPosZImage, osg::CubeTextureChunk::_sfNegYImage, osg::CubeTextureChunk::_sfPosYImage, osg::CubeTextureChunk::_sfNegXImage, osg::CubeTextureChunk::_sfPosXImage).

Definition at line 56 of file OSGCubeTextureChunk.h.


Member Typedef Documentation

Reimplemented from osg::CubeTextureChunkBase.

Definition at line 162 of file OSGCubeTextureChunk.h.

Reimplemented from osg::TextureChunkBase.

Definition at line 95 of file OSGCubeTextureChunkBase.h.


Member Enumeration Documentation

anonymous enum [inherited]

Enumerator:
PosZImageFieldId 
PosXImageFieldId 
NegXImageFieldId 
PosYImageFieldId 
NegYImageFieldId 
IsReflectionMapFieldId 
NextFieldId 

Definition at line 97 of file OSGCubeTextureChunkBase.h.

00098     {
00099         PosZImageFieldId       = Inherited::NextFieldId,
00100         PosXImageFieldId       = PosZImageFieldId       + 1,
00101         NegXImageFieldId       = PosXImageFieldId       + 1,
00102         PosYImageFieldId       = NegXImageFieldId       + 1,
00103         NegYImageFieldId       = PosYImageFieldId       + 1,
00104         IsReflectionMapFieldId = NegYImageFieldId       + 1,
00105         NextFieldId            = IsReflectionMapFieldId + 1
00106     };

Enumerator:
None_TT 
NPotTexScale_TT 
XFlip_TT 
YFlip_TT 
ZFlip_TT 

Definition at line 66 of file OSGTextureChunk.h.

00067     { 
00068         None_TT = 0, 
00069         NPotTexScale_TT = 1, 
00070         XFlip_TT = 2, 
00071         YFlip_TT = 4, 
00072         ZFlip_TT = 8 
00073     };

anonymous enum [inherited]

Enumerator:
ImageFieldId 
InternalFormatFieldId 
ExternalFormatFieldId 
ScaleFieldId 
FrameFieldId 
MinFilterFieldId 
MagFilterFieldId 
WrapSFieldId 
WrapTFieldId 
WrapRFieldId 
EnvModeFieldId 
EnvColorFieldId 
EnvCombineRGBFieldId 
EnvCombineAlphaFieldId 
EnvScaleRGBFieldId 
EnvScaleAlphaFieldId 
EnvSource0RGBFieldId 
EnvSource1RGBFieldId 
EnvSource2RGBFieldId 
EnvSource0AlphaFieldId 
EnvSource1AlphaFieldId 
EnvSource2AlphaFieldId 
EnvOperand0RGBFieldId 
EnvOperand1RGBFieldId 
EnvOperand2RGBFieldId 
EnvOperand0AlphaFieldId 
EnvOperand1AlphaFieldId 
EnvOperand2AlphaFieldId 
GLIdFieldId 
IgnoreGLForAspectFieldId 
PointSpriteFieldId 
PriorityFieldId 
ShaderOperationFieldId 
ShaderInputFieldId 
ShaderOffsetMatrixFieldId 
ShaderOffsetScaleFieldId 
ShaderOffsetBiasFieldId 
ShaderRGBADotProductFieldId 
ShaderCullModesFieldId 
ShaderConstEyeFieldId 
LodBiasFieldId 
TargetFieldId 
DirtyLeftFieldId 
DirtyMinXFieldId 
DirtyMaxXFieldId 
DirtyMinYFieldId 
DirtyMaxYFieldId 
DirtyMinZFieldId 
DirtyMaxZFieldId 
AnisotropyFieldId 
BorderColorFieldId 
BorderWidthFieldId 
NPOTMatrixScaleFieldId 
NextFieldId 

Definition at line 144 of file OSGTextureChunkBase.h.

00145     {
00146         ImageFieldId                = Inherited::NextFieldId,
00147         InternalFormatFieldId       = ImageFieldId                + 1,
00148         ExternalFormatFieldId       = InternalFormatFieldId       + 1,
00149         ScaleFieldId                = ExternalFormatFieldId       + 1,
00150         FrameFieldId                = ScaleFieldId                + 1,
00151         MinFilterFieldId            = FrameFieldId                + 1,
00152         MagFilterFieldId            = MinFilterFieldId            + 1,
00153         WrapSFieldId                = MagFilterFieldId            + 1,
00154         WrapTFieldId                = WrapSFieldId                + 1,
00155         WrapRFieldId                = WrapTFieldId                + 1,
00156         EnvModeFieldId              = WrapRFieldId                + 1,
00157         EnvColorFieldId             = EnvModeFieldId              + 1,
00158         EnvCombineRGBFieldId        = EnvColorFieldId             + 1,
00159         EnvCombineAlphaFieldId      = EnvCombineRGBFieldId        + 1,
00160         EnvScaleRGBFieldId          = EnvCombineAlphaFieldId      + 1,
00161         EnvScaleAlphaFieldId        = EnvScaleRGBFieldId          + 1,
00162         EnvSource0RGBFieldId        = EnvScaleAlphaFieldId        + 1,
00163         EnvSource1RGBFieldId        = EnvSource0RGBFieldId        + 1,
00164         EnvSource2RGBFieldId        = EnvSource1RGBFieldId        + 1,
00165         EnvSource0AlphaFieldId      = EnvSource2RGBFieldId        + 1,
00166         EnvSource1AlphaFieldId      = EnvSource0AlphaFieldId      + 1,
00167         EnvSource2AlphaFieldId      = EnvSource1AlphaFieldId      + 1,
00168         EnvOperand0RGBFieldId       = EnvSource2AlphaFieldId      + 1,
00169         EnvOperand1RGBFieldId       = EnvOperand0RGBFieldId       + 1,
00170         EnvOperand2RGBFieldId       = EnvOperand1RGBFieldId       + 1,
00171         EnvOperand0AlphaFieldId     = EnvOperand2RGBFieldId       + 1,
00172         EnvOperand1AlphaFieldId     = EnvOperand0AlphaFieldId     + 1,
00173         EnvOperand2AlphaFieldId     = EnvOperand1AlphaFieldId     + 1,
00174         GLIdFieldId                 = EnvOperand2AlphaFieldId     + 1,
00175         IgnoreGLForAspectFieldId    = GLIdFieldId                 + 1,
00176         PointSpriteFieldId          = IgnoreGLForAspectFieldId    + 1,
00177         PriorityFieldId             = PointSpriteFieldId          + 1,
00178         ShaderOperationFieldId      = PriorityFieldId             + 1,
00179         ShaderInputFieldId          = ShaderOperationFieldId      + 1,
00180         ShaderOffsetMatrixFieldId   = ShaderInputFieldId          + 1,
00181         ShaderOffsetScaleFieldId    = ShaderOffsetMatrixFieldId   + 1,
00182         ShaderOffsetBiasFieldId     = ShaderOffsetScaleFieldId    + 1,
00183         ShaderRGBADotProductFieldId = ShaderOffsetBiasFieldId     + 1,
00184         ShaderCullModesFieldId      = ShaderRGBADotProductFieldId + 1,
00185         ShaderConstEyeFieldId       = ShaderCullModesFieldId      + 1,
00186         LodBiasFieldId              = ShaderConstEyeFieldId       + 1,
00187         TargetFieldId               = LodBiasFieldId              + 1,
00188         DirtyLeftFieldId            = TargetFieldId               + 1,
00189         DirtyMinXFieldId            = DirtyLeftFieldId            + 1,
00190         DirtyMaxXFieldId            = DirtyMinXFieldId            + 1,
00191         DirtyMinYFieldId            = DirtyMaxXFieldId            + 1,
00192         DirtyMaxYFieldId            = DirtyMinYFieldId            + 1,
00193         DirtyMinZFieldId            = DirtyMaxYFieldId            + 1,
00194         DirtyMaxZFieldId            = DirtyMinZFieldId            + 1,
00195         AnisotropyFieldId           = DirtyMaxZFieldId            + 1,
00196         BorderColorFieldId          = AnisotropyFieldId           + 1,
00197         BorderWidthFieldId          = BorderColorFieldId          + 1,
00198         NPOTMatrixScaleFieldId      = BorderWidthFieldId          + 1,
00199         NextFieldId                 = NPOTMatrixScaleFieldId      + 1
00200     };

anonymous enum [inherited]

Enumerator:
IgnoreFieldId 
NextFieldId 

Definition at line 92 of file OSGStateChunkBase.h.

00093     {
00094         IgnoreFieldId = Inherited::NextFieldId,
00095         NextFieldId   = IgnoreFieldId + 1
00096     };

anonymous enum [inherited]

Enumerator:
ParentsFieldId 
InternalFieldId 
NextFieldId 

Definition at line 86 of file OSGAttachmentImpl.h.

00087     { 
00088         ParentsFieldId     = Inherited::NextFieldId, 
00089         InternalFieldId    = ParentsFieldId  + 1,
00090         NextFieldId        = InternalFieldId + 1
00091     };

anonymous enum [inherited]

Enumerator:
NextFieldId 

Definition at line 73 of file OSGFieldContainerImpl.h.

00073 { NextFieldId = 1 };


Constructor & Destructor Documentation

CubeTextureChunk::CubeTextureChunk ( void   )  [protected]

Definition at line 89 of file OSGCubeTextureChunk.cpp.

00089                                        :
00090     Inherited()
00091 {
00092 }

CubeTextureChunk::CubeTextureChunk ( const CubeTextureChunk source  )  [protected]

Definition at line 94 of file OSGCubeTextureChunk.cpp.

00094                                                                  :
00095     Inherited(source)
00096 {
00097 }

CubeTextureChunk::~CubeTextureChunk ( void   )  [protected, virtual]

Definition at line 99 of file OSGCubeTextureChunk.cpp.

00100 {
00101 }


Member Function Documentation

const StateChunkClass * CubeTextureChunk::getClass ( void   )  const [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 105 of file OSGCubeTextureChunk.cpp.

References osg::TextureChunk::getClass().

00106 {
00107     return TextureChunk::getClass();
00108 }

UInt32 osg::CubeTextureChunk::getStaticClassId ( void   )  [inline, static]

Reimplemented from osg::TextureChunk.

Definition at line 46 of file OSGCubeTextureChunk.inl.

References osg::StateChunkClass::getId(), and getStaticClass().

00047 {
00048     return getStaticClass()->getId();
00049 }

const StateChunkClass * osg::CubeTextureChunk::getStaticClass ( void   )  [inline, static]

Reimplemented from osg::TextureChunk.

Definition at line 52 of file OSGCubeTextureChunk.inl.

References osg::TextureChunk::_class.

Referenced by getStaticClassId().

00053 {
00054     return &TextureChunk::_class;
00055 }

void CubeTextureChunk::changed ( BitVector  whichField,
UInt32  origin 
) [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 112 of file OSGCubeTextureChunk.cpp.

References osg::CubeTextureChunkBase::_sfNegXImage, osg::CubeTextureChunkBase::_sfNegYImage, osg::CubeTextureChunkBase::_sfPosXImage, osg::CubeTextureChunkBase::_sfPosYImage, osg::CubeTextureChunkBase::_sfPosZImage, osg::ChangedOrigin::Abstract, osg::ChangedOrigin::AbstrIncRefCount, osg::addRefCP(), osg::TextureChunk::changed(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::CubeTextureChunkBase::NegXImageFieldMask, osg::CubeTextureChunkBase::NegYImageFieldMask, osg::NullFC, osg::CubeTextureChunkBase::PosXImageFieldMask, osg::CubeTextureChunkBase::PosYImageFieldMask, osg::CubeTextureChunkBase::PosZImageFieldMask, setNegXImage(), setNegYImage(), setPosXImage(), setPosYImage(), setPosZImage(), and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00113 {
00114     if(whichField & PosZImageFieldMask)
00115     {
00116         if(origin & ChangedOrigin::Abstract)
00117         {
00118             if(origin & ChangedOrigin::AbstrIncRefCount)
00119             {
00120                 addRefCP(_sfPosZImage.getValue());
00121             }
00122             else
00123             {
00124                 ImagePtr pImage = _sfPosZImage.getValue();
00125 
00126                 _sfPosZImage.setValue(NullFC);
00127 
00128                 setPosZImage(pImage);
00129             }
00130         }
00131     }
00132 
00133     if(whichField & PosXImageFieldMask)
00134     {
00135         if(origin & ChangedOrigin::Abstract)
00136         {
00137             if(origin & ChangedOrigin::AbstrIncRefCount)
00138             {
00139                 addRefCP(_sfPosXImage.getValue());
00140             }
00141             else
00142             {
00143                 ImagePtr pImage = _sfPosXImage.getValue();
00144 
00145                 _sfPosXImage.setValue(NullFC);
00146 
00147                 setPosXImage(pImage);
00148             }
00149         }
00150     }
00151     
00152     if(whichField & NegXImageFieldMask)
00153     {
00154         if(origin & ChangedOrigin::Abstract)
00155         {
00156             if(origin & ChangedOrigin::AbstrIncRefCount)
00157             {
00158                 addRefCP(_sfNegXImage.getValue());
00159             }
00160             else
00161             {
00162                 ImagePtr pImage = _sfNegXImage.getValue();
00163 
00164                 _sfNegXImage.setValue(NullFC);
00165 
00166                 setNegXImage(pImage);
00167             }
00168         }
00169     }
00170     
00171     if(whichField & PosYImageFieldMask)
00172     {
00173         if(origin & ChangedOrigin::Abstract)
00174         {
00175             if(origin & ChangedOrigin::AbstrIncRefCount)
00176             {
00177                 addRefCP(_sfPosYImage.getValue());
00178             }
00179             else
00180             {
00181                 ImagePtr pImage = _sfPosYImage.getValue();
00182 
00183                 _sfPosYImage.setValue(NullFC);
00184 
00185                 setPosYImage(pImage);
00186             }
00187         }
00188     }
00189     
00190     if(whichField & NegYImageFieldMask)
00191     {
00192         if(origin & ChangedOrigin::Abstract)
00193         {
00194             if(origin & ChangedOrigin::AbstrIncRefCount)
00195             {
00196                 addRefCP(_sfNegYImage.getValue());
00197             }
00198             else
00199             {
00200                 ImagePtr pImage = _sfNegYImage.getValue();
00201 
00202                 _sfNegYImage.setValue(NullFC);
00203 
00204                 setNegYImage(pImage);
00205             }
00206         }
00207     }
00208     Inherited::changed(whichField, origin);
00209 }

void CubeTextureChunk::dump ( UInt32  uiIndent = 0,
const BitVector  bvFlags = 0 
) const [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 257 of file OSGCubeTextureChunk.cpp.

References SLOG.

00259 {
00260     SLOG << "Dump CubeTextureChunk NI" << std::endl;
00261 }

void CubeTextureChunk::activate ( DrawActionBase action,
UInt32  index = 0 
) [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 371 of file OSGCubeTextureChunk.cpp.

References osg::TextureChunk::_arbCubeTex, osg::TextureChunk::_extTextureLodBias, osg::TextureChunk::_nvPointSprite, osg::TextureChunk::_nvTextureShader, osg::TextureChunk::activateTexture(), FDEBUG, FWARNING, osg::Window::getConstantValue(), osg::StatCollector::getElem(), osg::TextureChunkBase::getEnvColor(), osg::TextureChunkBase::getEnvCombineAlpha(), osg::TextureChunkBase::getEnvCombineRGB(), osg::TextureChunkBase::getEnvMode(), osg::TextureChunkBase::getEnvOperand0Alpha(), osg::TextureChunkBase::getEnvOperand0RGB(), osg::TextureChunkBase::getEnvOperand1Alpha(), osg::TextureChunkBase::getEnvOperand1RGB(), osg::TextureChunkBase::getEnvOperand2Alpha(), osg::TextureChunkBase::getEnvOperand2RGB(), osg::TextureChunkBase::getEnvScaleAlpha(), osg::TextureChunkBase::getEnvScaleRGB(), osg::TextureChunkBase::getEnvSource0Alpha(), osg::TextureChunkBase::getEnvSource0RGB(), osg::TextureChunkBase::getEnvSource1Alpha(), osg::TextureChunkBase::getEnvSource1RGB(), osg::TextureChunkBase::getEnvSource2Alpha(), osg::TextureChunkBase::getEnvSource2RGB(), osg::TextureChunkBase::getGLId(), osg::Window::getGLObjectId(), osg::TextureChunkBase::getImage(), osg::TextureChunkBase::getLodBias(), osg::TextureChunkBase::getPointSprite(), osg::TextureChunkBase::getShaderOperation(), osg::DrawActionBase::getStatistics(), osg::DrawActionBase::getWindow(), GL_COMBINE_ALPHA_EXT, GL_COMBINE_EXT, GL_COMBINE_RGB_EXT, GL_COORD_REPLACE_NV, GL_MAX_TEXTURE_COORDS_ARB, GL_MAX_TEXTURE_IMAGE_UNITS_ARB, GL_MAX_TEXTURE_UNITS_ARB, GL_OPERAND0_ALPHA_EXT, GL_OPERAND0_RGB_EXT, GL_OPERAND1_ALPHA_EXT, GL_OPERAND1_RGB_EXT, GL_OPERAND2_ALPHA_EXT, GL_OPERAND2_RGB_EXT, GL_POINT_SPRITE_NV, GL_RGB_SCALE_EXT, GL_SOURCE0_ALPHA_EXT, GL_SOURCE0_RGB_EXT, GL_SOURCE1_ALPHA_EXT, GL_SOURCE1_RGB_EXT, GL_SOURCE2_ALPHA_EXT, GL_SOURCE2_RGB_EXT, GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, GL_TEXTURE_SHADER_NV, glErr, osg::TextureChunk::handleTextureShader(), osg::Window::hasExtension(), osg::NullFC, osg::RenderAction::statNTexBytes, osg::RenderAction::statNTextures, osg::Window::unknownConstant, and osg::Window::validateGLObject().

Referenced by changeFrom().

00372 {   
00373     // does the window support cubemaps?
00374     if(action->getWindow()->hasExtension(_arbCubeTex) == false)
00375         return;
00376         
00377     Window *win = action->getWindow();
00378     
00379     Real32 nteximages, ntexcoords;
00380     if((nteximages = win->getConstantValue(GL_MAX_TEXTURE_IMAGE_UNITS_ARB)) ==
00381        Window::unknownConstant
00382       )
00383     {
00384         nteximages = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00385         // sgi doesn't support GL_MAX_TEXTURE_UNITS_ARB!
00386         if(nteximages == Window::unknownConstant)
00387             nteximages = 1.0f;
00388     }
00389     if((ntexcoords = win->getConstantValue(GL_MAX_TEXTURE_COORDS_ARB)) ==
00390        Window::unknownConstant
00391       )
00392     {
00393         ntexcoords = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00394         // sgi doesn't support GL_MAX_TEXTURE_UNITS_ARB!
00395         if(ntexcoords == Window::unknownConstant)
00396             ntexcoords = 1.0f;
00397     }
00398 
00399     if(idx >= static_cast<UInt32>(nteximages))
00400     {
00401 #ifdef OSG_DEBUG
00402         FWARNING(("CubeTextureChunk::activate: Trying to bind image unit %d,"
00403                   " but Window %p only supports %d!\n",
00404                   idx, win, nteximages));
00405 #endif
00406         return;        
00407     }
00408     
00409     TextureChunk::activateTexture(win, idx);
00410     
00411     win->validateGLObject(getGLId());
00412 
00413     glErr("CubeTextureChunk::activate precheck");
00414   
00415     FDEBUG(("CubeTextureChunk::activate - %d\n", getGLId()));
00416 
00417     action->getStatistics()->getElem(RenderAction::statNTextures)->inc(idx);
00418     // all 6 images are forced (by opengl) to be of the same size and type so we can
00419     // multiply the size of the first image by 6.
00420     if(getImage() != NullFC)
00421     {
00422         action->getStatistics()->getElem(RenderAction::statNTexBytes)->add(
00423             getGLId(), getImage()->getSize() * 6);
00424     }
00425 
00426     glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, win->getGLObjectId(getGLId()));
00427 
00428 #ifdef GL_NV_point_sprite
00429     if(idx < static_cast<UInt32>(ntexcoords))
00430     {
00431         if(getPointSprite() &&
00432            win->hasExtension(_nvPointSprite))
00433         {
00434             glTexEnvi(GL_POINT_SPRITE_NV, GL_COORD_REPLACE_NV, GL_TRUE);
00435         }
00436     }
00437 #endif
00438 
00439     if(idx < static_cast<UInt32>(nteximages))
00440     {
00441         if(getLodBias() != 0.0f &&
00442            win->hasExtension(_extTextureLodBias))
00443         {
00444             glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT,
00445                   getLodBias());
00446         }
00447     }
00448 
00449     Real32 ntexunits = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00450 
00451     // sgi doesn't support GL_MAX_TEXTURE_UNITS_ARB!
00452     if(ntexunits == Window::unknownConstant)
00453         ntexunits = 1.0f;
00454 
00455     if(idx < static_cast<UInt32>(ntexunits))
00456     {
00457         // texture env
00458         glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, getEnvMode());
00459         glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,
00460                     (GLfloat*)getEnvColor().getValuesRGBA());
00461 
00462         if(getEnvMode() == GL_COMBINE_EXT)
00463         {
00464             glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT,  getEnvCombineRGB ());
00465             glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT,    getEnvScaleRGB   ());
00466             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT,  getEnvSource0RGB ());
00467             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT,  getEnvSource1RGB ());
00468             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB_EXT,  getEnvSource2RGB ());
00469             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB_EXT, getEnvOperand0RGB());
00470             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_EXT, getEnvOperand1RGB());
00471             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB_EXT, getEnvOperand2RGB());
00472 
00473             glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA_EXT, getEnvCombineAlpha ());
00474             glTexEnvf(GL_TEXTURE_ENV, GL_ALPHA_SCALE,       getEnvScaleAlpha   ());
00475             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_EXT, getEnvSource0Alpha ());
00476             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA_EXT, getEnvSource1Alpha ());
00477             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA_EXT, getEnvSource2Alpha ());
00478             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_EXT,getEnvOperand0Alpha());
00479             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA_EXT,getEnvOperand1Alpha());
00480             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA_EXT,getEnvOperand2Alpha());
00481         }
00482 
00483         TextureChunk::handleTextureShader(win, GL_TEXTURE_CUBE_MAP_ARB);
00484 
00485         if(getShaderOperation() != GL_NONE &&
00486            win->hasExtension(_nvTextureShader) &&
00487            idx == 0)
00488         {
00489             glEnable(GL_TEXTURE_SHADER_NV);
00490         }
00491         glEnable(GL_TEXTURE_CUBE_MAP_ARB);
00492     }
00493     
00494     glErr("CubeTextureChunk::activate");
00495 }

void CubeTextureChunk::changeFrom ( DrawActionBase action,
StateChunk old,
UInt32  index = 0 
) [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 497 of file OSGCubeTextureChunk.cpp.

References osg::TextureChunk::_arbCubeTex, osg::TextureChunk::_extTextureLodBias, osg::TextureChunk::_nvPointSprite, osg::TextureChunk::_nvTextureShader, activate(), osg::TextureChunk::activateTexture(), osg::StateChunk::deactivate(), FDEBUG, FWARNING, osg::Window::getConstantValue(), osg::StatCollector::getElem(), osg::TextureChunkBase::getEnvColor(), osg::TextureChunkBase::getEnvCombineAlpha(), osg::TextureChunkBase::getEnvCombineRGB(), osg::TextureChunkBase::getEnvMode(), osg::TextureChunkBase::getEnvOperand0Alpha(), osg::TextureChunkBase::getEnvOperand0RGB(), osg::TextureChunkBase::getEnvOperand1Alpha(), osg::TextureChunkBase::getEnvOperand1RGB(), osg::TextureChunkBase::getEnvOperand2Alpha(), osg::TextureChunkBase::getEnvOperand2RGB(), osg::TextureChunkBase::getEnvScaleAlpha(), osg::TextureChunkBase::getEnvScaleRGB(), osg::TextureChunkBase::getEnvSource0Alpha(), osg::TextureChunkBase::getEnvSource0RGB(), osg::TextureChunkBase::getEnvSource1Alpha(), osg::TextureChunkBase::getEnvSource1RGB(), osg::TextureChunkBase::getEnvSource2Alpha(), osg::TextureChunkBase::getEnvSource2RGB(), osg::TextureChunkBase::getGLId(), osg::Window::getGLObjectId(), osg::TextureChunkBase::getImage(), osg::TextureChunkBase::getLodBias(), osg::TextureChunkBase::getPointSprite(), osg::TextureChunkBase::getShaderOperation(), osg::DrawActionBase::getStatistics(), osg::FieldContainer::getTypeId(), osg::DrawActionBase::getWindow(), GL_COMBINE_ALPHA_EXT, GL_COMBINE_EXT, GL_COMBINE_RGB_EXT, GL_COORD_REPLACE_NV, GL_MAX_TEXTURE_COORDS_ARB, GL_MAX_TEXTURE_IMAGE_UNITS_ARB, GL_MAX_TEXTURE_UNITS_ARB, GL_OPERAND0_ALPHA_EXT, GL_OPERAND0_RGB_EXT, GL_OPERAND1_ALPHA_EXT, GL_OPERAND1_RGB_EXT, GL_OPERAND2_ALPHA_EXT, GL_OPERAND2_RGB_EXT, GL_POINT_SPRITE_NV, GL_RGB_SCALE_EXT, GL_SHADER_OPERATION_NV, GL_SOURCE0_ALPHA_EXT, GL_SOURCE0_RGB_EXT, GL_SOURCE1_ALPHA_EXT, GL_SOURCE1_RGB_EXT, GL_SOURCE2_ALPHA_EXT, GL_SOURCE2_RGB_EXT, GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, GL_TEXTURE_SHADER_NV, glErr, osg::TextureChunk::handleTextureShader(), osg::Window::hasExtension(), osg::NullFC, osg::RenderAction::statNTexBytes, osg::RenderAction::statNTextures, osg::Window::unknownConstant, and osg::Window::validateGLObject().

00500 {
00501     // does the window support cubemaps?
00502     if(action->getWindow()->hasExtension(_arbCubeTex) == false)
00503         return;
00504         
00505     // change from me to me?
00506     // this assumes I haven't changed in the meantime. 
00507     // is that a valid assumption?
00508     if(old == this)
00509         return;
00510     
00511     // If the old one is not a cube texture chunk, deactivate it and
00512     // activate ourselves
00513     if(getTypeId() != old->getTypeId())
00514     {
00515         old->deactivate(action, idx);
00516         activate(action, idx);
00517         return;
00518     }
00519 
00520     CubeTextureChunk *oldp      = dynamic_cast<CubeTextureChunk *>(old);
00521 
00522     glErr("CubeTextureChunk::changeFrom precheck");
00523 
00524     Window *win = action->getWindow();   
00525 
00526     if(TextureChunk::activateTexture(win, idx))
00527         return; // trying to use too many textures
00528 
00529     UInt32 nteximages, ntexcoords, ntexunits;
00530     
00531     Real32 dummy = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00532 
00533     if(dummy == Window::unknownConstant)
00534     {
00535         ntexunits = 1;
00536     }
00537     else
00538     {
00539         ntexunits = static_cast<UInt32>(dummy);
00540     }
00541 
00542     if((dummy = win->getConstantValue(GL_MAX_TEXTURE_IMAGE_UNITS_ARB)) ==
00543        Window::unknownConstant
00544       )
00545     {
00546         nteximages = ntexunits;
00547     }
00548     else
00549     {
00550         nteximages = static_cast<UInt32>(dummy);
00551     }
00552     
00553     if((dummy = win->getConstantValue(GL_MAX_TEXTURE_COORDS_ARB)) ==
00554        Window::unknownConstant
00555       )
00556     {
00557         ntexcoords = ntexunits;
00558     }
00559     else
00560     {
00561         ntexcoords = static_cast<UInt32>(dummy);
00562     }
00563 
00564     if(idx >= nteximages)
00565     {
00566 #ifdef OSG_DEBUG
00567         FWARNING(("TextureChunk::activate: Trying to bind image unit %d,"
00568                   " but Window %p only supports %d!\n",
00569                   idx, win, nteximages));
00570 #endif
00571         return;        
00572     }
00573 
00574     win->validateGLObject(getGLId());
00575     
00576     FDEBUG(("CubeTextureChunk::activate - %d\n", getGLId()));
00577 
00578     action->getStatistics()->getElem(RenderAction::statNTextures)->inc(getGLId());
00579     // all 6 images are forced (by opengl) to be of the same size and type so we can
00580     // multiply the size of the first image by 6.
00581     if(getImage() != NullFC)
00582     {
00583         action->getStatistics()->getElem(RenderAction::statNTexBytes)->add(
00584             getGLId(), getImage()->getSize() * 6);
00585     }
00586 
00587     glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, win->getGLObjectId(getGLId()));
00588 
00589 #ifdef GL_NV_point_sprite
00590     if(idx < ntexcoords)
00591     {
00592         if(oldp->getPointSprite() != getPointSprite() &&
00593            win->hasExtension(_nvPointSprite)
00594           )
00595         {
00596             glTexEnvi(GL_POINT_SPRITE_NV, GL_COORD_REPLACE_NV, getPointSprite());
00597         }
00598     }
00599 #endif
00600 
00601     if(idx < nteximages)
00602     {
00603         if(oldp->getLodBias() != getLodBias() &&
00604            win->hasExtension(_extTextureLodBias)
00605           )
00606         {
00607             glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT,
00608                   getLodBias());
00609         }
00610     }
00611 
00612     if(idx < ntexunits)
00613     {
00614         if(oldp->getEnvMode() != getEnvMode())
00615             glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, getEnvMode());
00616 
00617         glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR,
00618                         (GLfloat*)getEnvColor().getValuesRGBA());
00619 
00620         if(getEnvMode() == GL_COMBINE_EXT)
00621         {
00622             glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT,  getEnvCombineRGB ());
00623             glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT,    getEnvScaleRGB   ());
00624             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT,  getEnvSource0RGB ());
00625             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT,  getEnvSource1RGB ());
00626             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB_EXT,  getEnvSource2RGB ());
00627             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB_EXT, getEnvOperand0RGB());
00628             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_EXT, getEnvOperand1RGB());
00629             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB_EXT, getEnvOperand2RGB());
00630 
00631             glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA_EXT, getEnvCombineAlpha ());
00632             glTexEnvf(GL_TEXTURE_ENV, GL_ALPHA_SCALE,       getEnvScaleAlpha   ());
00633             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_EXT, getEnvSource0Alpha ());
00634             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA_EXT, getEnvSource1Alpha ());
00635             glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA_EXT, getEnvSource2Alpha ());
00636             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA_EXT,getEnvOperand0Alpha());
00637             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA_EXT,getEnvOperand1Alpha());
00638             glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA_EXT,getEnvOperand2Alpha());
00639         }
00640 
00641         if(win->hasExtension(_nvTextureShader))
00642         {
00643             if(      getShaderOperation() != GL_NONE &&
00644                oldp->getShaderOperation() == GL_NONE
00645               )
00646             {
00647                 handleTextureShader(win, GL_TEXTURE_CUBE_MAP_ARB);
00648                 if(idx == 0)
00649                     glEnable(GL_TEXTURE_SHADER_NV);
00650             }
00651             else if(      getShaderOperation() == GL_NONE &&
00652                     oldp->getShaderOperation() != GL_NONE
00653                    )
00654             {
00655                 glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_NONE);
00656                 if(idx == 0)
00657                     glDisable(GL_TEXTURE_SHADER_NV);
00658             }
00659         }
00660     }
00661 
00662     glErr("CubeTextureChunk::changeFrom");
00663 }

void CubeTextureChunk::deactivate ( DrawActionBase action,
UInt32  index = 0 
) [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 665 of file OSGCubeTextureChunk.cpp.

References osg::TextureChunk::_arbCubeTex, osg::TextureChunk::_extTextureLodBias, osg::TextureChunk::_nvPointSprite, osg::TextureChunk::_nvTextureShader, osg::TextureChunk::activateTexture(), FWARNING, osg::Window::getConstantValue(), osg::TextureChunkBase::getLodBias(), osg::TextureChunkBase::getPointSprite(), osg::TextureChunkBase::getShaderOperation(), osg::DrawActionBase::getWindow(), GL_COORD_REPLACE_NV, GL_MAX_TEXTURE_COORDS_ARB, GL_MAX_TEXTURE_IMAGE_UNITS_ARB, GL_MAX_TEXTURE_UNITS_ARB, GL_POINT_SPRITE_NV, GL_SHADER_OPERATION_NV, GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, GL_TEXTURE_SHADER_NV, glErr, osg::Window::hasExtension(), and osg::Window::unknownConstant.

00666 {
00667     // does the window support cubemaps?
00668     if(action->getWindow()->hasExtension(_arbCubeTex) == false)
00669         return;
00670         
00671     Window *win = action->getWindow();   
00672 
00673     Real32 nteximages, ntexcoords;
00674     if((nteximages = win->getConstantValue(GL_MAX_TEXTURE_IMAGE_UNITS_ARB)) ==
00675        Window::unknownConstant
00676       )
00677     {
00678         nteximages = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00679         // sgi doesn't support GL_MAX_TEXTURE_UNITS_ARB!
00680         if(nteximages == Window::unknownConstant)
00681             nteximages = 1.0f;
00682     }
00683     if((ntexcoords = win->getConstantValue(GL_MAX_TEXTURE_COORDS_ARB)) ==
00684        Window::unknownConstant
00685       )
00686     {
00687         ntexcoords = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00688         // sgi doesn't support GL_MAX_TEXTURE_UNITS_ARB!
00689         if(ntexcoords == Window::unknownConstant)
00690             ntexcoords = 1.0f;
00691     }
00692 
00693     if(idx >= static_cast<UInt32>(nteximages))
00694     {
00695 #ifdef OSG_DEBUG
00696         FWARNING(("CubeTextureChunk::deactivate: Trying to bind image unit %d,"
00697                   " but Window %p only supports %d!\n",
00698                   idx, win, nteximages));
00699 #endif
00700         return;        
00701     }
00702 
00703 
00704     bool isActive = false;
00705 
00706 #ifdef GL_NV_point_sprite
00707     if(getPointSprite() &&
00708        win->hasExtension(_nvPointSprite) &&
00709        idx < static_cast<UInt32>(ntexcoords)
00710       )
00711     {
00712         if(!isActive)
00713         {
00714             TextureChunk::activateTexture(win, idx);
00715             isActive = true;
00716         }
00717         glTexEnvi(GL_POINT_SPRITE_NV, GL_COORD_REPLACE_NV, GL_FALSE);
00718     }
00719 #endif
00720 
00721     if(getLodBias() != 0.0f &&
00722        win->hasExtension(_extTextureLodBias))
00723     {
00724         if(!isActive)
00725             TextureChunk::activateTexture(win, idx);
00726         glTexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT,
00727               0.0f);
00728     }
00729 
00730     Real32 ntexunits = win->getConstantValue(GL_MAX_TEXTURE_UNITS_ARB);
00731     if(ntexunits == Window::unknownConstant)
00732         ntexunits = 1.0f;
00733 
00734     if(idx >= static_cast<UInt32>(ntexunits))
00735         return; // tetxures >= MTU are not enabled and don't have an env
00736         
00737     if(!isActive)
00738         TextureChunk::activateTexture(win, idx);
00739 
00740     if(getShaderOperation() != GL_NONE &&
00741        win->hasExtension(_nvTextureShader))
00742     {
00743         glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_NONE);
00744 
00745         if(idx == 0)
00746             glDisable(GL_TEXTURE_SHADER_NV);
00747     }
00748 
00749     glDisable(GL_TEXTURE_CUBE_MAP_ARB);
00750 
00751     glErr("CubeTextureChunk::deactivate");
00752 }

Real32 CubeTextureChunk::switchCost ( StateChunk chunk  )  [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 756 of file OSGCubeTextureChunk.cpp.

00757 {
00758     return 0;
00759 }

bool CubeTextureChunk::operator< ( const StateChunk other  )  const [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 761 of file OSGCubeTextureChunk.cpp.

00762 {
00763     return this < &other;
00764 }

bool CubeTextureChunk::operator== ( const StateChunk other  )  const [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 766 of file OSGCubeTextureChunk.cpp.

References osg::CubeTextureChunkBase::getNegXImage(), osg::CubeTextureChunkBase::getNegYImage(), osg::CubeTextureChunkBase::getPosXImage(), osg::CubeTextureChunkBase::getPosYImage(), osg::CubeTextureChunkBase::getPosZImage(), and osg::operator==().

00767 {
00768     CubeTextureChunk const *tother = 
00769             dynamic_cast<CubeTextureChunk const*>(&other);
00770 
00771     if(!tother)
00772         return false;
00773 
00774     if(tother == this)
00775         return true;
00776 
00777     return  TextureChunk::operator==(other) &&
00778             getPosZImage()  == tother->getPosZImage() &&
00779             getPosYImage()  == tother->getPosYImage() &&
00780             getNegYImage()  == tother->getNegYImage() &&
00781             getPosXImage()  == tother->getPosXImage() &&
00782             getNegXImage()  == tother->getNegXImage();
00783 }

bool CubeTextureChunk::operator!= ( const StateChunk other  )  const [virtual]

Reimplemented from osg::TextureChunk.

Definition at line 785 of file OSGCubeTextureChunk.cpp.

00786 {
00787     return ! (*this == other);
00788 }

void osg::CubeTextureChunk::setPosZImage ( ImagePtr value  )  [inline]

void osg::CubeTextureChunk::setPosXImage ( ImagePtr value  )  [inline]

void osg::CubeTextureChunk::setNegXImage ( ImagePtr value  )  [inline]

void osg::CubeTextureChunk::setPosYImage ( ImagePtr value  )  [inline]

void osg::CubeTextureChunk::setNegYImage ( ImagePtr value  )  [inline]

void CubeTextureChunk::onCreate ( const CubeTextureChunk source = NULL  )  [protected]

Definition at line 213 of file OSGCubeTextureChunk.cpp.

References osg::beginEditCP(), osg::endEditCP(), osg::TextureChunkBase::GLIdFieldMask, osg::GlobalSystemState, handleGL(), osg::osgTypedMethodVoidFunctor2ObjCPtrPtr(), osg::Window::registerGLObject(), osg::TextureChunkBase::setGLId(), and osg::Startup.

00214 {
00215     if(GlobalSystemState == Startup)
00216         return;
00217 
00218     // !!! this temporary is needed to work around compiler problems (sgi)
00219     // CHECK CHECK
00220     //  TextureChunkPtr tmpPtr = FieldContainer::getPtr<TextureChunkPtr>(*this);
00221     CubeTextureChunkPtr tmpPtr(*this);
00222 
00223     beginEditCP(tmpPtr, CubeTextureChunk::GLIdFieldMask);
00224 
00225     setGLId(
00226         Window::registerGLObject(
00227             osgTypedMethodVoidFunctor2ObjCPtrPtr<CubeTextureChunkPtr, 
00228                                                  Window , 
00229                                                  UInt32>(
00230                                                 tmpPtr, 
00231                                                 &CubeTextureChunk::handleGL),
00232             1));
00233 
00234     endEditCP(tmpPtr, CubeTextureChunk::GLIdFieldMask);
00235 }

void CubeTextureChunk::onDestroy ( void   )  [protected, virtual]

void CubeTextureChunk::handleGL ( Window win,
UInt32  id 
) [private]

Reimplemented from osg::TextureChunk.

Definition at line 266 of file OSGCubeTextureChunk.cpp.

References osg::TextureChunk::_arbCubeTex, osg::Window::destroy, osg::Window::finaldestroy, osg::Window::getGLObjectId(), osg::TextureChunkBase::getImage(), osg::CubeTextureChunkBase::getNegXImage(), osg::CubeTextureChunkBase::getNegYImage(), osg::CubeTextureChunkBase::getPosXImage(), osg::CubeTextureChunkBase::getPosYImage(), osg::CubeTextureChunkBase::getPosZImage(), GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, GLuint(), osg::TextureChunk::handleTexture(), osg::Window::hasExtension(), osg::Window::initialize, osg::Window::needrefresh, osg::Window::reinitialize, osg::Window::setGLObjectId(), SWARNING, and osg::Window::unpackIdStatus().

Referenced by onCreate().

00267 {
00268     Window::GLObjectStatusE mode;
00269     UInt32 osgid;
00270     GLuint id;
00271     
00272     // does the window support cubemaps?
00273     if(win->hasExtension(_arbCubeTex) == false)
00274         return;
00275         
00276     Window::unpackIdStatus(idstatus, osgid, mode);
00277 
00278     id = win->getGLObjectId(osgid);
00279     
00280     if(mode == Window::destroy)
00281     {
00282         glDeleteTextures(1, &id);
00283     }
00284     else if(mode == Window::finaldestroy)
00285     {
00286         //SWARNING << "Last texture user destroyed" << std::endl;
00287     }
00288     else if(mode == Window::initialize || mode == Window::reinitialize)
00289     {
00290         if(mode == Window::initialize)
00291         {
00292             glGenTextures(1, &id);
00293             win->setGLObjectId(osgid, id);
00294         }
00295 
00296         handleTexture(win, id, 
00297                       GL_TEXTURE_CUBE_MAP_ARB, 
00298                       GL_TEXTURE_CUBE_MAP_ARB, 
00299                       GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, 
00300                       mode, getImage());        
00301         handleTexture(win, id, 
00302                       GL_TEXTURE_CUBE_MAP_ARB, 
00303                       GL_NONE, 
00304                       GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, 
00305                       Window::initialize, getPosZImage());        
00306         handleTexture(win, id, 
00307                       GL_TEXTURE_CUBE_MAP_ARB, 
00308                       GL_NONE, 
00309                       GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, 
00310                       Window::initialize, getNegYImage());        
00311         handleTexture(win, id, 
00312                       GL_TEXTURE_CUBE_MAP_ARB, 
00313                       GL_NONE, 
00314                       GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, 
00315                       Window::initialize, getPosYImage());        
00316         handleTexture(win, id, 
00317                       GL_TEXTURE_CUBE_MAP_ARB, 
00318                       GL_NONE, 
00319                       GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, 
00320                       Window::initialize, getNegXImage());        
00321         handleTexture(win, id, 
00322                       GL_TEXTURE_CUBE_MAP_ARB, 
00323                       GL_NONE, 
00324                       GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, 
00325                       Window::initialize, getPosXImage());        
00326     }
00327     else if(mode == Window::needrefresh)
00328     {
00329         handleTexture(win, id, 
00330                       GL_TEXTURE_CUBE_MAP_ARB, 
00331                       GL_TEXTURE_CUBE_MAP_ARB, 
00332                       GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, 
00333                       mode, getImage());        
00334         handleTexture(win, id, 
00335                       GL_TEXTURE_CUBE_MAP_ARB, 
00336                       GL_NONE, 
00337                       GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, 
00338                       mode, getPosZImage());        
00339         handleTexture(win, id, 
00340                       GL_TEXTURE_CUBE_MAP_ARB, 
00341                       GL_NONE, 
00342                       GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, 
00343                       mode, getNegYImage());        
00344         handleTexture(win, id, 
00345                       GL_TEXTURE_CUBE_MAP_ARB, 
00346                       GL_NONE, 
00347                       GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, 
00348                       mode, getPosYImage());        
00349         handleTexture(win, id, 
00350                       GL_TEXTURE_CUBE_MAP_ARB, 
00351                       GL_NONE, 
00352                       GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, 
00353                       mode, getNegXImage());        
00354         handleTexture(win, id, 
00355                       GL_TEXTURE_CUBE_MAP_ARB, 
00356                       GL_NONE, 
00357                       GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, 
00358                       mode, getPosXImage());        
00359     }
00360     else
00361     {
00362         SWARNING << "Win:" << win << "TextureChunk(" << this 
00363                  << "::handleGL: Illegal mode: "
00364                  << mode << " for id " << id << std::endl;
00365     }
00366 }

void osg::CubeTextureChunk::operator= ( const CubeTextureChunk source  )  [private]

osg::FieldContainerType & osg::CubeTextureChunkBase::getClassType ( void   )  [inline, static, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 58 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_type.

Referenced by osg::CubeTextureChunkBase::create(), and osg::RemoteAspect::RemoteAspect().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::CubeTextureChunkBase::getClassTypeId ( void   )  [inline, static, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 65 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_type, and osg::TypeBase::getId().

00066 {
00067     return _type.getId(); 
00068 } 

FieldContainerType & CubeTextureChunkBase::getType ( void   )  [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 161 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_type.

00162 {
00163     return _type; 
00164 } 

const FieldContainerType & CubeTextureChunkBase::getType ( void   )  const [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 166 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_type.

00167 {
00168     return _type;
00169 } 

UInt32 CubeTextureChunkBase::getContainerSize ( void   )  const [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 181 of file OSGCubeTextureChunkBase.cpp.

00182 { 
00183     return sizeof(CubeTextureChunk); 
00184 }

SFImagePtr * osg::CubeTextureChunkBase::getSFPosZImage ( void   )  [inline, inherited]

Definition at line 101 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosZImage.

00102 {
00103     return &_sfPosZImage;
00104 }

SFImagePtr * osg::CubeTextureChunkBase::getSFPosXImage ( void   )  [inline, inherited]

Definition at line 108 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosXImage.

00109 {
00110     return &_sfPosXImage;
00111 }

SFImagePtr * osg::CubeTextureChunkBase::getSFNegXImage ( void   )  [inline, inherited]

Definition at line 115 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegXImage.

00116 {
00117     return &_sfNegXImage;
00118 }

SFImagePtr * osg::CubeTextureChunkBase::getSFPosYImage ( void   )  [inline, inherited]

Definition at line 122 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosYImage.

00123 {
00124     return &_sfPosYImage;
00125 }

SFImagePtr * osg::CubeTextureChunkBase::getSFNegYImage ( void   )  [inline, inherited]

Definition at line 129 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegYImage.

00130 {
00131     return &_sfNegYImage;
00132 }

SFBool * osg::CubeTextureChunkBase::getSFIsReflectionMap ( void   )  [inline, inherited]

Definition at line 136 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfIsReflectionMap.

00137 {
00138     return &_sfIsReflectionMap;
00139 }

ImagePtr & osg::CubeTextureChunkBase::getPosZImage ( void   )  [inline, inherited]

Definition at line 144 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosZImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by handleGL(), and operator==().

00145 {
00146     return _sfPosZImage.getValue();
00147 }

const ImagePtr & osg::CubeTextureChunkBase::getPosZImage ( void   )  const [inline, inherited]

Definition at line 151 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosZImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00152 {
00153     return _sfPosZImage.getValue();
00154 }

ImagePtr & osg::CubeTextureChunkBase::getPosXImage ( void   )  [inline, inherited]

Definition at line 165 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosXImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by handleGL(), and operator==().

00166 {
00167     return _sfPosXImage.getValue();
00168 }

const ImagePtr & osg::CubeTextureChunkBase::getPosXImage ( void   )  const [inline, inherited]

Definition at line 172 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosXImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00173 {
00174     return _sfPosXImage.getValue();
00175 }

ImagePtr & osg::CubeTextureChunkBase::getNegXImage ( void   )  [inline, inherited]

Definition at line 186 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegXImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by handleGL(), and operator==().

00187 {
00188     return _sfNegXImage.getValue();
00189 }

const ImagePtr & osg::CubeTextureChunkBase::getNegXImage ( void   )  const [inline, inherited]

Definition at line 193 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegXImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00194 {
00195     return _sfNegXImage.getValue();
00196 }

ImagePtr & osg::CubeTextureChunkBase::getPosYImage ( void   )  [inline, inherited]

Definition at line 207 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosYImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by handleGL(), and operator==().

00208 {
00209     return _sfPosYImage.getValue();
00210 }

const ImagePtr & osg::CubeTextureChunkBase::getPosYImage ( void   )  const [inline, inherited]

Definition at line 214 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfPosYImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00215 {
00216     return _sfPosYImage.getValue();
00217 }

ImagePtr & osg::CubeTextureChunkBase::getNegYImage ( void   )  [inline, inherited]

Definition at line 228 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegYImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by handleGL(), and operator==().

00229 {
00230     return _sfNegYImage.getValue();
00231 }

const ImagePtr & osg::CubeTextureChunkBase::getNegYImage ( void   )  const [inline, inherited]

Definition at line 235 of file OSGCubeTextureChunkBase.inl.

References osg::CubeTextureChunkBase::_sfNegYImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00236 {
00237     return _sfNegYImage.getValue();
00238 }

bool & osg::CubeTextureChunkBase::getIsReflectionMap ( void   )  [inline, inherited]

const bool & osg::CubeTextureChunkBase::getIsReflectionMap ( void   )  const [inline, inherited]

void osg::CubeTextureChunkBase::setPosZImage ( const ImagePtr value  )  [inline, inherited]

void osg::CubeTextureChunkBase::setPosXImage ( const ImagePtr value  )  [inline, inherited]

void osg::CubeTextureChunkBase::setNegXImage ( const ImagePtr value  )  [inline, inherited]

void osg::CubeTextureChunkBase::setPosYImage ( const ImagePtr value  )  [inline, inherited]

void osg::CubeTextureChunkBase::setNegYImage ( const ImagePtr value  )  [inline, inherited]

void osg::CubeTextureChunkBase::setIsReflectionMap ( const bool &  value  )  [inline, inherited]

UInt32 CubeTextureChunkBase::getBinSize ( const BitVector whichField  )  [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 253 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_sfIsReflectionMap, osg::CubeTextureChunkBase::_sfNegXImage, osg::CubeTextureChunkBase::_sfNegYImage, osg::CubeTextureChunkBase::_sfPosXImage, osg::CubeTextureChunkBase::_sfPosYImage, osg::CubeTextureChunkBase::_sfPosZImage, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::TextureChunkBase::getBinSize(), osg::CubeTextureChunkBase::IsReflectionMapFieldMask, osg::CubeTextureChunkBase::NegXImageFieldMask, osg::CubeTextureChunkBase::NegYImageFieldMask, osg::FieldBits::NoField, osg::CubeTextureChunkBase::PosXImageFieldMask, osg::CubeTextureChunkBase::PosYImageFieldMask, and osg::CubeTextureChunkBase::PosZImageFieldMask.

00254 {
00255     UInt32 returnValue = Inherited::getBinSize(whichField);
00256 
00257     if(FieldBits::NoField != (PosZImageFieldMask & whichField))
00258     {
00259         returnValue += _sfPosZImage.getBinSize();
00260     }
00261 
00262     if(FieldBits::NoField != (PosXImageFieldMask & whichField))
00263     {
00264         returnValue += _sfPosXImage.getBinSize();
00265     }
00266 
00267     if(FieldBits::NoField != (NegXImageFieldMask & whichField))
00268     {
00269         returnValue += _sfNegXImage.getBinSize();
00270     }
00271 
00272     if(FieldBits::NoField != (PosYImageFieldMask & whichField))
00273     {
00274         returnValue += _sfPosYImage.getBinSize();
00275     }
00276 
00277     if(FieldBits::NoField != (NegYImageFieldMask & whichField))
00278     {
00279         returnValue += _sfNegYImage.getBinSize();
00280     }
00281 
00282     if(FieldBits::NoField != (IsReflectionMapFieldMask & whichField))
00283     {
00284         returnValue += _sfIsReflectionMap.getBinSize();
00285     }
00286 
00287 
00288     return returnValue;
00289 }

void CubeTextureChunkBase::copyToBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 291 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_sfIsReflectionMap, osg::CubeTextureChunkBase::_sfNegXImage, osg::CubeTextureChunkBase::_sfNegYImage, osg::CubeTextureChunkBase::_sfPosXImage, osg::CubeTextureChunkBase::_sfPosYImage, osg::CubeTextureChunkBase::_sfPosZImage, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::TextureChunkBase::copyToBin(), osg::CubeTextureChunkBase::IsReflectionMapFieldMask, osg::CubeTextureChunkBase::NegXImageFieldMask, osg::CubeTextureChunkBase::NegYImageFieldMask, osg::FieldBits::NoField, osg::CubeTextureChunkBase::PosXImageFieldMask, osg::CubeTextureChunkBase::PosYImageFieldMask, and osg::CubeTextureChunkBase::PosZImageFieldMask.

00293 {
00294     Inherited::copyToBin(pMem, whichField);
00295 
00296     if(FieldBits::NoField != (PosZImageFieldMask & whichField))
00297     {
00298         _sfPosZImage.copyToBin(pMem);
00299     }
00300 
00301     if(FieldBits::NoField != (PosXImageFieldMask & whichField))
00302     {
00303         _sfPosXImage.copyToBin(pMem);
00304     }
00305 
00306     if(FieldBits::NoField != (NegXImageFieldMask & whichField))
00307     {
00308         _sfNegXImage.copyToBin(pMem);
00309     }
00310 
00311     if(FieldBits::NoField != (PosYImageFieldMask & whichField))
00312     {
00313         _sfPosYImage.copyToBin(pMem);
00314     }
00315 
00316     if(FieldBits::NoField != (NegYImageFieldMask & whichField))
00317     {
00318         _sfNegYImage.copyToBin(pMem);
00319     }
00320 
00321     if(FieldBits::NoField != (IsReflectionMapFieldMask & whichField))
00322     {
00323         _sfIsReflectionMap.copyToBin(pMem);
00324     }
00325 
00326 
00327 }

void CubeTextureChunkBase::copyFromBin ( BinaryDataHandler pMem,
const BitVector whichField 
) [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 329 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_sfIsReflectionMap, osg::CubeTextureChunkBase::_sfNegXImage, osg::CubeTextureChunkBase::_sfNegYImage, osg::CubeTextureChunkBase::_sfPosXImage, osg::CubeTextureChunkBase::_sfPosYImage, osg::CubeTextureChunkBase::_sfPosZImage, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::TextureChunkBase::copyFromBin(), osg::CubeTextureChunkBase::IsReflectionMapFieldMask, osg::CubeTextureChunkBase::NegXImageFieldMask, osg::CubeTextureChunkBase::NegYImageFieldMask, osg::FieldBits::NoField, osg::CubeTextureChunkBase::PosXImageFieldMask, osg::CubeTextureChunkBase::PosYImageFieldMask, and osg::CubeTextureChunkBase::PosZImageFieldMask.

00331 {
00332     Inherited::copyFromBin(pMem, whichField);
00333 
00334     if(FieldBits::NoField != (PosZImageFieldMask & whichField))
00335     {
00336         _sfPosZImage.copyFromBin(pMem);
00337     }
00338 
00339     if(FieldBits::NoField != (PosXImageFieldMask & whichField))
00340     {
00341         _sfPosXImage.copyFromBin(pMem);
00342     }
00343 
00344     if(FieldBits::NoField != (NegXImageFieldMask & whichField))
00345     {
00346         _sfNegXImage.copyFromBin(pMem);
00347     }
00348 
00349     if(FieldBits::NoField != (PosYImageFieldMask & whichField))
00350     {
00351         _sfPosYImage.copyFromBin(pMem);
00352     }
00353 
00354     if(FieldBits::NoField != (NegYImageFieldMask & whichField))
00355     {
00356         _sfNegYImage.copyFromBin(pMem);
00357     }
00358 
00359     if(FieldBits::NoField != (IsReflectionMapFieldMask & whichField))
00360     {
00361         _sfIsReflectionMap.copyFromBin(pMem);
00362     }
00363 
00364 
00365 }

CubeTextureChunkPtr osg::CubeTextureChunkBase::create ( void   )  [inline, static, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 72 of file OSGCubeTextureChunkBase.inl.

References osg::AttachmentPtr::dcast(), osg::CubeTextureChunkBase::getClassType(), osg::NullFC, and osg::CubeTextureChunkBase::shallowCopy().

00073 {
00074     CubeTextureChunkPtr fc; 
00075 
00076     if(getClassType().getPrototype() != OSG::NullFC) 
00077     {
00078         fc = CubeTextureChunkPtr::dcast(
00079             getClassType().getPrototype()-> shallowCopy()); 
00080     }
00081     
00082     return fc; 
00083 }

CubeTextureChunkPtr osg::CubeTextureChunkBase::createEmpty ( void   )  [inline, static, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 87 of file OSGCubeTextureChunkBase.inl.

References osg::FieldContainer::newPtr().

00088 { 
00089     CubeTextureChunkPtr returnValue; 
00090     
00091     newPtr(returnValue); 
00092 
00093     return returnValue; 
00094 }

FieldContainerPtr CubeTextureChunkBase::shallowCopy ( void   )  const [virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 172 of file OSGCubeTextureChunkBase.cpp.

References osg::FieldContainer::newPtr().

Referenced by osg::CubeTextureChunkBase::create().

00173 { 
00174     CubeTextureChunkPtr returnValue; 
00175 
00176     newPtr(returnValue, dynamic_cast<const CubeTextureChunk *>(this)); 
00177 
00178     return returnValue; 
00179 }

void CubeTextureChunkBase::executeSyncImpl ( CubeTextureChunkBase pOther,
const BitVector whichField 
) [protected, inherited]

Definition at line 368 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::_sfIsReflectionMap, osg::CubeTextureChunkBase::_sfNegXImage, osg::CubeTextureChunkBase::_sfNegYImage, osg::CubeTextureChunkBase::_sfPosXImage, osg::CubeTextureChunkBase::_sfPosYImage, osg::CubeTextureChunkBase::_sfPosZImage, osg::TextureChunkBase::executeSyncImpl(), osg::CubeTextureChunkBase::IsReflectionMapFieldMask, osg::CubeTextureChunkBase::NegXImageFieldMask, osg::CubeTextureChunkBase::NegYImageFieldMask, osg::FieldBits::NoField, osg::CubeTextureChunkBase::PosXImageFieldMask, osg::CubeTextureChunkBase::PosYImageFieldMask, osg::CubeTextureChunkBase::PosZImageFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().

Referenced by osg::CubeTextureChunkBase::executeSync().

00370 {
00371 
00372     Inherited::executeSyncImpl(pOther, whichField);
00373 
00374     if(FieldBits::NoField != (PosZImageFieldMask & whichField))
00375         _sfPosZImage.syncWith(pOther->_sfPosZImage);
00376 
00377     if(FieldBits::NoField != (PosXImageFieldMask & whichField))
00378         _sfPosXImage.syncWith(pOther->_sfPosXImage);
00379 
00380     if(FieldBits::NoField != (NegXImageFieldMask & whichField))
00381         _sfNegXImage.syncWith(pOther->_sfNegXImage);
00382 
00383     if(FieldBits::NoField != (PosYImageFieldMask & whichField))
00384         _sfPosYImage.syncWith(pOther->_sfPosYImage);
00385 
00386     if(FieldBits::NoField != (NegYImageFieldMask & whichField))
00387         _sfNegYImage.syncWith(pOther->_sfNegYImage);
00388 
00389     if(FieldBits::NoField != (IsReflectionMapFieldMask & whichField))
00390         _sfIsReflectionMap.syncWith(pOther->_sfIsReflectionMap);
00391 
00392 
00393 }

void osg::TextureChunkBase::executeSyncImpl ( TextureChunkBase pOther,
const BitVector whichField 
) [protected, inherited]

Definition at line 1712 of file OSGTextureChunkBase.cpp.

References osg::TextureChunkBase::_mfShaderOffsetMatrix, osg::TextureChunkBase::_sfAnisotropy, osg::TextureChunkBase::_sfBorderColor, osg::TextureChunkBase::_sfBorderWidth, osg::TextureChunkBase::_sfDirtyLeft, osg::TextureChunkBase::_sfDirtyMaxX, osg::TextureChunkBase::_sfDirtyMaxY, osg::TextureChunkBase::_sfDirtyMaxZ, osg::TextureChunkBase::_sfDirtyMinX, osg::TextureChunkBase::_sfDirtyMinY, osg::TextureChunkBase::_sfDirtyMinZ, osg::TextureChunkBase::_sfEnvColor, osg::TextureChunkBase::_sfEnvCombineAlpha, osg::TextureChunkBase::_sfEnvCombineRGB, osg::TextureChunkBase::_sfEnvMode, osg::TextureChunkBase::_sfEnvOperand0Alpha, osg::TextureChunkBase::_sfEnvOperand0RGB, osg::TextureChunkBase::_sfEnvOperand1Alpha, osg::TextureChunkBase::_sfEnvOperand1RGB, osg::TextureChunkBase::_sfEnvOperand2Alpha, osg::TextureChunkBase::_sfEnvOperand2RGB, osg::TextureChunkBase::_sfEnvScaleAlpha, osg::TextureChunkBase::_sfEnvScaleRGB, osg::TextureChunkBase::_sfEnvSource0Alpha, osg::TextureChunkBase::_sfEnvSource0RGB, osg::TextureChunkBase::_sfEnvSource1Alpha, osg::TextureChunkBase::_sfEnvSource1RGB, osg::TextureChunkBase::_sfEnvSource2Alpha, osg::TextureChunkBase::_sfEnvSource2RGB, osg::TextureChunkBase::_sfExternalFormat, osg::TextureChunkBase::_sfFrame, osg::TextureChunkBase::_sfGLId, osg::TextureChunkBase::_sfIgnoreGLForAspect, osg::TextureChunkBase::_sfImage, osg::TextureChunkBase::_sfInternalFormat, osg::TextureChunkBase::_sfLodBias, osg::TextureChunkBase::_sfMagFilter, osg::TextureChunkBase::_sfMinFilter, osg::TextureChunkBase::_sfNPOTMatrixScale, osg::TextureChunkBase::_sfPointSprite, osg::TextureChunkBase::_sfPriority, osg::TextureChunkBase::_sfScale, osg::TextureChunkBase::_sfShaderConstEye, osg::TextureChunkBase::_sfShaderCullModes, osg::TextureChunkBase::_sfShaderInput, osg::TextureChunkBase::_sfShaderOffsetBias, osg::TextureChunkBase::_sfShaderOffsetScale, osg::TextureChunkBase::_sfShaderOperation, osg::TextureChunkBase::_sfShaderRGBADotProduct, osg::TextureChunkBase::_sfTarget, osg::TextureChunkBase::_sfWrapR, osg::TextureChunkBase::_sfWrapS, osg::TextureChunkBase::_sfWrapT, osg::TextureChunkBase::AnisotropyFieldMask, osg::TextureChunkBase::BorderColorFieldMask, osg::TextureChunkBase::BorderWidthFieldMask, osg::TextureChunkBase::DirtyLeftFieldMask, osg::TextureChunkBase::DirtyMaxXFieldMask, osg::TextureChunkBase::DirtyMaxYFieldMask, osg::TextureChunkBase::DirtyMaxZFieldMask, osg::TextureChunkBase::DirtyMinXFieldMask, osg::TextureChunkBase::DirtyMinYFieldMask, osg::TextureChunkBase::DirtyMinZFieldMask, osg::TextureChunkBase::EnvColorFieldMask, osg::TextureChunkBase::EnvCombineAlphaFieldMask, osg::TextureChunkBase::EnvCombineRGBFieldMask, osg::TextureChunkBase::EnvModeFieldMask, osg::TextureChunkBase::EnvOperand0AlphaFieldMask, osg::TextureChunkBase::EnvOperand0RGBFieldMask, osg::TextureChunkBase::EnvOperand1AlphaFieldMask, osg::TextureChunkBase::EnvOperand1RGBFieldMask, osg::TextureChunkBase::EnvOperand2AlphaFieldMask, osg::TextureChunkBase::EnvOperand2RGBFieldMask, osg::TextureChunkBase::EnvScaleAlphaFieldMask, osg::TextureChunkBase::EnvScaleRGBFieldMask, osg::TextureChunkBase::EnvSource0AlphaFieldMask, osg::TextureChunkBase::EnvSource0RGBFieldMask, osg::TextureChunkBase::EnvSource1AlphaFieldMask, osg::TextureChunkBase::EnvSource1RGBFieldMask, osg::TextureChunkBase::EnvSource2AlphaFieldMask, osg::TextureChunkBase::EnvSource2RGBFieldMask, osg::StateChunkBase::executeSyncImpl(), osg::TextureChunkBase::ExternalFormatFieldMask, osg::TextureChunkBase::FrameFieldMask, osg::TextureChunkBase::GLIdFieldMask, osg::TextureChunkBase::IgnoreGLForAspectFieldMask, osg::TextureChunkBase::ImageFieldMask, osg::TextureChunkBase::InternalFormatFieldMask, osg::TextureChunkBase::LodBiasFieldMask, osg::TextureChunkBase::MagFilterFieldMask, osg::TextureChunkBase::MinFilterFieldMask, osg::FieldBits::NoField, osg::TextureChunkBase::NPOTMatrixScaleFieldMask, osg::TextureChunkBase::PointSpriteFieldMask, osg::TextureChunkBase::PriorityFieldMask, osg::TextureChunkBase::ScaleFieldMask, osg::TextureChunkBase::ShaderConstEyeFieldMask, osg::TextureChunkBase::ShaderCullModesFieldMask, osg::TextureChunkBase::ShaderInputFieldMask, osg::TextureChunkBase::ShaderOffsetBiasFieldMask, osg::TextureChunkBase::ShaderOffsetMatrixFieldMask, osg::TextureChunkBase::ShaderOffsetScaleFieldMask, osg::TextureChunkBase::ShaderOperationFieldMask, osg::TextureChunkBase::ShaderRGBADotProductFieldMask, osg::MField< FieldTypeT, fieldNameSpace >::syncWith(), osg::SField< FieldTypeT, fieldNameSpace >::syncWith(), osg::TextureChunkBase::TargetFieldMask, osg::TextureChunkBase::WrapRFieldMask, osg::TextureChunkBase::WrapSFieldMask, and osg::TextureChunkBase::WrapTFieldMask.

Referenced by osg::TextureChunkBase::executeSync(), and osg::CubeTextureChunkBase::executeSyncImpl().

01714 {
01715 
01716     Inherited::executeSyncImpl(pOther, whichField);
01717 
01718     if(FieldBits::NoField != (ImageFieldMask & whichField))
01719         _sfImage.syncWith(pOther->_sfImage);
01720 
01721     if(FieldBits::NoField != (InternalFormatFieldMask & whichField))
01722         _sfInternalFormat.syncWith(pOther->_sfInternalFormat);
01723 
01724     if(FieldBits::NoField != (ExternalFormatFieldMask & whichField))
01725         _sfExternalFormat.syncWith(pOther->_sfExternalFormat);
01726 
01727     if(FieldBits::NoField != (ScaleFieldMask & whichField))
01728         _sfScale.syncWith(pOther->_sfScale);
01729 
01730     if(FieldBits::NoField != (FrameFieldMask & whichField))
01731         _sfFrame.syncWith(pOther->_sfFrame);
01732 
01733     if(FieldBits::NoField != (MinFilterFieldMask & whichField))
01734         _sfMinFilter.syncWith(pOther->_sfMinFilter);
01735 
01736     if(FieldBits::NoField != (MagFilterFieldMask & whichField))
01737         _sfMagFilter.syncWith(pOther->_sfMagFilter);
01738 
01739     if(FieldBits::NoField != (WrapSFieldMask & whichField))
01740         _sfWrapS.syncWith(pOther->_sfWrapS);
01741 
01742     if(FieldBits::NoField != (WrapTFieldMask & whichField))
01743         _sfWrapT.syncWith(pOther->_sfWrapT);
01744 
01745     if(FieldBits::NoField != (WrapRFieldMask & whichField))
01746         _sfWrapR.syncWith(pOther->_sfWrapR);
01747 
01748     if(FieldBits::NoField != (EnvModeFieldMask & whichField))
01749         _sfEnvMode.syncWith(pOther->_sfEnvMode);
01750 
01751     if(FieldBits::NoField != (EnvColorFieldMask & whichField))
01752         _sfEnvColor.syncWith(pOther->_sfEnvColor);
01753 
01754     if(FieldBits::NoField != (EnvCombineRGBFieldMask & whichField))
01755         _sfEnvCombineRGB.syncWith(pOther->_sfEnvCombineRGB);
01756 
01757     if(FieldBits::NoField != (EnvCombineAlphaFieldMask & whichField))
01758         _sfEnvCombineAlpha.syncWith(pOther->_sfEnvCombineAlpha);
01759 
01760     if(FieldBits::NoField != (EnvScaleRGBFieldMask & whichField))
01761         _sfEnvScaleRGB.syncWith(pOther->_sfEnvScaleRGB);
01762 
01763     if(FieldBits::NoField != (EnvScaleAlphaFieldMask & whichField))
01764         _sfEnvScaleAlpha.syncWith(pOther->_sfEnvScaleAlpha);
01765 
01766     if(FieldBits::NoField != (EnvSource0RGBFieldMask & whichField))
01767         _sfEnvSource0RGB.syncWith(pOther->_sfEnvSource0RGB);
01768 
01769     if(FieldBits::NoField != (EnvSource1RGBFieldMask & whichField))
01770         _sfEnvSource1RGB.syncWith(pOther->_sfEnvSource1RGB);
01771 
01772     if(FieldBits::NoField != (EnvSource2RGBFieldMask & whichField))
01773         _sfEnvSource2RGB.syncWith(pOther->_sfEnvSource2RGB);
01774 
01775     if(FieldBits::NoField != (EnvSource0AlphaFieldMask & whichField))
01776         _sfEnvSource0Alpha.syncWith(pOther->_sfEnvSource0Alpha);
01777 
01778     if(FieldBits::NoField != (EnvSource1AlphaFieldMask & whichField))
01779         _sfEnvSource1Alpha.syncWith(pOther->_sfEnvSource1Alpha);
01780 
01781     if(FieldBits::NoField != (EnvSource2AlphaFieldMask & whichField))
01782         _sfEnvSource2Alpha.syncWith(pOther->_sfEnvSource2Alpha);
01783 
01784     if(FieldBits::NoField != (EnvOperand0RGBFieldMask & whichField))
01785         _sfEnvOperand0RGB.syncWith(pOther->_sfEnvOperand0RGB);
01786 
01787     if(FieldBits::NoField != (EnvOperand1RGBFieldMask & whichField))
01788         _sfEnvOperand1RGB.syncWith(pOther->_sfEnvOperand1RGB);
01789 
01790     if(FieldBits::NoField != (EnvOperand2RGBFieldMask & whichField))
01791         _sfEnvOperand2RGB.syncWith(pOther->_sfEnvOperand2RGB);
01792 
01793     if(FieldBits::NoField != (EnvOperand0AlphaFieldMask & whichField))
01794         _sfEnvOperand0Alpha.syncWith(pOther->_sfEnvOperand0Alpha);
01795 
01796     if(FieldBits::NoField != (EnvOperand1AlphaFieldMask & whichField))
01797         _sfEnvOperand1Alpha.syncWith(pOther->_sfEnvOperand1Alpha);
01798 
01799     if(FieldBits::NoField != (EnvOperand2AlphaFieldMask & whichField))
01800         _sfEnvOperand2Alpha.syncWith(pOther->_sfEnvOperand2Alpha);
01801 
01802     if(FieldBits::NoField != (GLIdFieldMask & whichField))
01803         _sfGLId.syncWith(pOther->_sfGLId);
01804 
01805     if(FieldBits::NoField != (IgnoreGLForAspectFieldMask & whichField))
01806         _sfIgnoreGLForAspect.syncWith(pOther->_sfIgnoreGLForAspect);
01807 
01808     if(FieldBits::NoField != (PointSpriteFieldMask & whichField))
01809         _sfPointSprite.syncWith(pOther->_sfPointSprite);
01810 
01811     if(FieldBits::NoField != (PriorityFieldMask & whichField))
01812         _sfPriority.syncWith(pOther->_sfPriority);
01813 
01814     if(FieldBits::NoField != (ShaderOperationFieldMask & whichField))
01815         _sfShaderOperation.syncWith(pOther->_sfShaderOperation);
01816 
01817     if(FieldBits::NoField != (ShaderInputFieldMask & whichField))
01818         _sfShaderInput.syncWith(pOther->_sfShaderInput);
01819 
01820     if(FieldBits::NoField != (ShaderOffsetMatrixFieldMask & whichField))
01821         _mfShaderOffsetMatrix.syncWith(pOther->_mfShaderOffsetMatrix);
01822 
01823     if(FieldBits::NoField != (ShaderOffsetScaleFieldMask & whichField))
01824         _sfShaderOffsetScale.syncWith(pOther->_sfShaderOffsetScale);
01825 
01826     if(FieldBits::NoField != (ShaderOffsetBiasFieldMask & whichField))
01827         _sfShaderOffsetBias.syncWith(pOther->_sfShaderOffsetBias);
01828 
01829     if(FieldBits::NoField != (ShaderRGBADotProductFieldMask & whichField))
01830         _sfShaderRGBADotProduct.syncWith(pOther->_sfShaderRGBADotProduct);
01831 
01832     if(FieldBits::NoField != (ShaderCullModesFieldMask & whichField))
01833         _sfShaderCullModes.syncWith(pOther->_sfShaderCullModes);
01834 
01835     if(FieldBits::NoField != (ShaderConstEyeFieldMask & whichField))
01836         _sfShaderConstEye.syncWith(pOther->_sfShaderConstEye);
01837 
01838     if(FieldBits::NoField != (LodBiasFieldMask & whichField))
01839         _sfLodBias.syncWith(pOther->_sfLodBias);
01840 
01841     if(FieldBits::NoField != (TargetFieldMask & whichField))
01842         _sfTarget.syncWith(pOther->_sfTarget);
01843 
01844     if(FieldBits::NoField != (DirtyLeftFieldMask & whichField))
01845         _sfDirtyLeft.syncWith(pOther->_sfDirtyLeft);
01846 
01847     if(FieldBits::NoField != (DirtyMinXFieldMask & whichField))
01848         _sfDirtyMinX.syncWith(pOther->_sfDirtyMinX);
01849 
01850     if(FieldBits::NoField != (DirtyMaxXFieldMask & whichField))
01851         _sfDirtyMaxX.syncWith(pOther->_sfDirtyMaxX);
01852 
01853     if(FieldBits::NoField != (DirtyMinYFieldMask & whichField))
01854         _sfDirtyMinY.syncWith(pOther->_sfDirtyMinY);
01855 
01856     if(FieldBits::NoField != (DirtyMaxYFieldMask & whichField))
01857         _sfDirtyMaxY.syncWith(pOther->_sfDirtyMaxY);
01858 
01859     if(FieldBits::NoField != (DirtyMinZFieldMask & whichField))
01860         _sfDirtyMinZ.syncWith(pOther->_sfDirtyMinZ);
01861 
01862     if(FieldBits::NoField != (DirtyMaxZFieldMask & whichField))
01863         _sfDirtyMaxZ.syncWith(pOther->_sfDirtyMaxZ);
01864 
01865     if(FieldBits::NoField != (AnisotropyFieldMask & whichField))
01866         _sfAnisotropy.syncWith(pOther->_sfAnisotropy);
01867 
01868     if(FieldBits::NoField != (BorderColorFieldMask & whichField))
01869         _sfBorderColor.syncWith(pOther->_sfBorderColor);
01870 
01871     if(FieldBits::NoField != (BorderWidthFieldMask & whichField))
01872         _sfBorderWidth.syncWith(pOther->_sfBorderWidth);
01873 
01874     if(FieldBits::NoField != (NPOTMatrixScaleFieldMask & whichField))
01875         _sfNPOTMatrixScale.syncWith(pOther->_sfNPOTMatrixScale);
01876 
01877 
01878 }

void osg::StateChunkBase::executeSyncImpl ( StateChunkBase pOther,
const BitVector whichField 
) [protected, inherited]

void Attachment::executeSyncImpl ( Attachment pOther,
const BitVector whichField 
) [protected, inherited]

void osg::FieldContainer::executeSyncImpl ( FieldContainer pOther,
const BitVector whichField 
) [inline, protected, inherited]

void CubeTextureChunkBase::executeSync ( FieldContainer other,
const BitVector whichField 
) [protected, virtual, inherited]

Reimplemented from osg::TextureChunkBase.

Definition at line 188 of file OSGCubeTextureChunkBase.cpp.

References osg::CubeTextureChunkBase::executeSyncImpl().

00190 {
00191     this->executeSyncImpl((CubeTextureChunkBase *) &other, whichField);
00192 }

bool TextureChunk::isTransparent ( void   )  const [virtual, inherited]

Reimplemented from osg::StateChunk.

Definition at line 338 of file OSGTextureChunk.cpp.

00339 {
00340     // Even if the texture has alpha, the Blending makes the sorting
00341     // important, thus textures per se are not transparent
00342     return false;
00343 }

void osg::TextureChunk::imageContentChanged ( Int32  minx = -1,
Int32  maxx = -1,
Int32  miny = -1,
Int32  maxy = -1,
Int32  minz = -1,
Int32  maxz = -1 
) [inline, inherited]

Utility function to be called whenever the contents of the image change. Forces efficient update of the texture. Should not be called when the size of the texture changes, in that case setImage() should be called to renew the texture.

Definition at line 75 of file OSGTextureChunk.inl.

References osg::beginEditCP(), osg::TextureChunkBase::DirtyMaxXFieldMask, osg::TextureChunkBase::DirtyMaxYFieldMask, osg::TextureChunkBase::DirtyMaxZFieldMask, osg::TextureChunkBase::DirtyMinXFieldMask, osg::TextureChunkBase::DirtyMinYFieldMask, osg::TextureChunkBase::DirtyMinZFieldMask, and osg::endEditCP().

Referenced by osg::TextureChunk::changed().

00078 {
00079     TextureChunkPtr tc(*this);
00080     
00081     beginEditCP(tc, DirtyMinXFieldMask | DirtyMaxXFieldMask |
00082                     DirtyMinYFieldMask | DirtyMaxYFieldMask |
00083                     DirtyMinZFieldMask | DirtyMaxZFieldMask);
00084     
00085     tc->setDirtyMinX(minx);
00086     tc->setDirtyMaxX(maxx);
00087     tc->setDirtyMinY(miny);
00088     tc->setDirtyMaxY(maxy);
00089     tc->setDirtyMinZ(minz);
00090     tc->setDirtyMaxZ(maxz);
00091     
00092     endEditCP(  tc, DirtyMinXFieldMask | DirtyMaxXFieldMask |
00093                     DirtyMinYFieldMask | DirtyMaxYFieldMask |
00094                     DirtyMinZFieldMask | DirtyMaxZFieldMask);
00095 }

void osg::TextureChunk::setImage ( ImagePtr pImage  )  [inline, inherited]

Utility function to be called whenever the contents of the image change. Forces efficient update of the texture. Should not be called when the size of the texture changes, in that case setImage() should be called to renew the texture.

Definition at line 59 of file OSGTextureChunk.inl.

References osg::TextureChunkBase::_sfImage, osg::addRefCP(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::SField< FieldTypeT, fieldNameSpace >::setValue(), and osg::subRefCP().

Referenced by osg::TextureChunk::changed().

00060 {
00061      addRefCP(pImage);
00062 
00063      subRefCP(_sfImage.getValue());
00064 
00065     _sfImage.setValue(pImage);
00066 }

void osg::TextureChunkBase::setImage ( const ImagePtr value  )  [inline, inherited]

Definition at line 487 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfImage, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00488 {
00489     _sfImage.setValue(value);
00490 }

void osg::TextureChunk::setShaderOffsetMatrix ( Real32  m11,
Real32  m12,
Real32  m21,
Real32  m22 
) [inline, inherited]

Utility function to be called whenever the contents of the image change. Forces efficient update of the texture. Should not be called when the size of the texture changes, in that case setImage() should be called to renew the texture.

Definition at line 140 of file OSGTextureChunk.inl.

References osg::TextureChunkBase::getShaderOffsetMatrix(), and osg::MField< FieldTypeT, fieldNameSpace >::resize().

00142 {
00143     getShaderOffsetMatrix().resize(4);
00144 
00145     getShaderOffsetMatrix()[0] = m11;
00146     getShaderOffsetMatrix()[1] = m12;
00147     getShaderOffsetMatrix()[2] = m21;
00148     getShaderOffsetMatrix()[3] = m22;
00149 }

bool osg::TextureChunk::hasMultiTexture ( Window win  )  [inline, static, inherited]

Definition at line 99 of file OSGTextureChunk.inl.

References osg::TextureChunk::_arbMultiTex, and osg::Window::hasExtension().

Referenced by osg::TextureChunk::activateTexture().

00100 {
00101     return win->hasExtension(_arbMultiTex);
00102 }

void osg::TextureChunk::activeTexture ( Window win,
UInt16  texture 
) [inline, static, inherited]

Definition at line 106 of file OSGTextureChunk.inl.

References osg::TextureChunk::_funcActiveTexture, osg::Window::getFunction(), GL_TEXTURE0_ARB, GLenum, and OSG_APIENTRY.

Referenced by osg::TextureChunk::activateTexture().

00107 {
00108     void (OSG_APIENTRY *ActiveTexture)(GLenum target) = 
00109         (void (OSG_APIENTRY*)(GLenum target))
00110             win->getFunction(_funcActiveTexture);
00111 
00112     ActiveTexture(GL_TEXTURE0_ARB + texture);
00113 }

bool osg::TextureChunk::activateTexture ( Window win,
UInt16  texture 
) [inline, static, inherited]

call glActiveTexture via the extension mechanism, if MultiTextures are supported. Return false if successful, true if not.

Definition at line 118 of file OSGTextureChunk.inl.

References osg::TextureChunk::activeTexture(), FWARNING, and osg::TextureChunk::hasMultiTexture().

Referenced by osg::TextureTransformChunk::activate(), osg::TextureChunk::activate(), osg::TexGenChunk::activate(), activate(), osg::TextureTransformChunk::changeFrom(), osg::TextureChunk::changeFrom(), osg::TexGenChunk::changeFrom(), changeFrom(), osg::TextureTransformChunk::deactivate(), osg::TextureChunk::deactivate(), osg::TexGenChunk::deactivate(), and deactivate().

00119 {
00120     if(hasMultiTexture(win))
00121     {
00122         activeTexture(win, texture);
00123     }
00124 #ifdef OSG_DEBUG
00125     else
00126     {
00127         if(texture != 0)
00128         {
00129             FWARNING(("TextureChunk::activateTexture: trying to activate "
00130                 "texture %d, but Window %p doesn't support multi-textures!\n",
00131                 texture, win));
00132             return true;
00133         }
00134     }
00135 #endif
00136     return false;
00137 }

void TextureChunk::onCreate ( const TextureChunk source = NULL  )  [protected, inherited]

Definition at line 348 of file OSGTextureChunk.cpp.

References osg::TextureChunkBase::_sfIgnoreGLForAspect, osg::beginEditCP(), osg::endEditCP(), osg::PThreadBase::getAspect(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::TextureChunkBase::GLIdFieldMask, osg::GlobalSystemState, osg::TextureChunk::handleGL(), osg::osgTypedMethodVoidFunctor2ObjCPtrPtr(), osg::Window::registerGLObject(), osg::TextureChunkBase::setGLId(), and osg::Startup.

00349 {
00350     if(GlobalSystemState == Startup)
00351         return;
00352 
00353     // !!! this temporary is needed to work around compiler problems (sgi)
00354     // CHECK CHECK
00355     //  TextureChunkPtr tmpPtr = FieldContainer::getPtr<TextureChunkPtr>(*this);
00356     TextureChunkPtr tmpPtr(*this);
00357 
00358     if(Thread::getAspect() != _sfIgnoreGLForAspect.getValue())
00359     {
00360         beginEditCP(tmpPtr, TextureChunk::GLIdFieldMask);
00361 
00362         setGLId(
00363             Window::registerGLObject(
00364                 osgTypedMethodVoidFunctor2ObjCPtrPtr<TextureChunkPtr,
00365                                                  Window ,
00366                                                  UInt32>(
00367                                                      tmpPtr,
00368                                                      &TextureChunk::handleGL),
00369                 1));
00370 
00371         endEditCP(tmpPtr, TextureChunk::GLIdFieldMask);
00372     }
00373 }

void osg::FieldContainer::onCreate ( const FieldContainer source = NULL  )  [inline, protected, inherited]

Definition at line 318 of file OSGFieldContainerImpl.inl.

Referenced by osg::ShaderParameterChunk::onCreate().

00319 {
00320 }

void TextureChunk::handleTexture ( Window win,
UInt32  id,
GLenum  bindtarget,
GLenum  paramtarget,
GLenum  imgtarget,
Window::GLObjectStatusE  mode,
ImagePtr  img,
int  side = 0 
) [protected, inherited]

Definition at line 521 of file OSGTextureChunk.cpp.

References osg::TextureChunk::_arbCubeTex, osg::TextureChunk::_arbTextureCompression, osg::TextureChunk::_arbTextureNonPowerOfTwo, osg::TextureChunk::_arbTextureRectangle, osg::TextureChunk::_extTex3D, osg::TextureChunk::_extTextureFilterAnisotropic, osg::TextureChunk::_funcCompressedTexImage1D, osg::TextureChunk::_funcCompressedTexImage2D, osg::TextureChunk::_funcCompressedTexImage3D, osg::TextureChunk::_funcCompressedTexSubImage1D, osg::TextureChunk::_funcCompressedTexSubImage2D, osg::TextureChunk::_funcCompressedTexSubImage3D, osg::TextureChunk::_funcTexImage3D, osg::TextureChunk::_funcTexSubImage3D, osg::TextureChunk::_sgisGenerateMipmap, FDEBUG, FINFO, FNOTICE, FWARNING, osg::TextureChunkBase::getAnisotropy(), osg::TextureChunkBase::getBorderColor(), osg::TextureChunkBase::getBorderWidth(), osg::TextureChunkBase::getDirtyMaxX(), osg::TextureChunkBase::getDirtyMaxY(), osg::TextureChunkBase::getDirtyMaxZ(), osg::TextureChunkBase::getDirtyMinX(), osg::TextureChunkBase::getDirtyMinY(), osg::TextureChunkBase::getDirtyMinZ(), osg::TextureChunkBase::getExternalFormat(), osg::TextureChunkBase::getFrame(), osg::Window::getFunction(), osg::Window::getGLVersion(), osg::TextureChunkBase::getInternalFormat(), osg::TextureChunkBase::getMagFilter(), osg::TextureChunkBase::getMinFilter(), osg::TextureChunkBase::getPriority(), osg::TextureChunkBase::getScale(), osg::TextureChunkBase::getWrapR(), osg::TextureChunkBase::getWrapS(), osg::TextureChunkBase::getWrapT(), GL_BGR, GL_BGRA, GL_GENERATE_MIPMAP_SGIS, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, GL_TEXTURE_MAX_ANISOTROPY_EXT, GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_WRAP_R, GL_UNPACK_SKIP_IMAGES, GLenum, glErr, GLsizei, GLuint(), osg::Window::hasExtension(), osg::Window::initialize, osg::Window::needrefresh, osg::NullFC, OSG_APIENTRY, osg::osgispower2(), osg::osgnextpower2(), osg::Window::reinitialize, SFATAL, and SWARNING.

Referenced by osg::TextureChunk::handleGL(), and handleGL().

00526 {
00527     if( img==NullFC || ! img->getDimension()) // no image ?
00528         return;
00529 
00530     if(mode == Window::initialize || mode == Window::reinitialize)
00531     {
00532         if(bindtarget == GL_TEXTURE_3D && 
00533             !win->hasExtension(_extTex3D) &&
00534              win->getGLVersion() < 0x0102
00535           )
00536         {
00537             FNOTICE(("3D textures not supported on Window %p!\n", win));
00538             return;
00539         }
00540 
00541         if(imgtarget == GL_TEXTURE_RECTANGLE_ARB &&
00542            !win->hasExtension(_arbTextureRectangle))
00543         {
00544             FNOTICE(("Rectangular textures not supported on Window %p!\n", win));
00545             return;
00546         }
00547 
00548         if(paramtarget == GL_TEXTURE_CUBE_MAP_ARB && 
00549            !win->hasExtension(_arbCubeTex))
00550         {
00551             FNOTICE(("Cube textures not supported on Window %p!\n", win));
00552             return;
00553         }
00554         
00555         if(img->hasCompressedData() && 
00556            !win->hasExtension(_arbTextureCompression))
00557         {
00558             FNOTICE(("Compressed textures not supported on Window %p!\n", win));
00559             return;
00560         }
00561 
00562         if(mode == Window::reinitialize)
00563         {
00564             GLuint tex = id;
00565             glDeleteTextures(1, &tex);
00566         }
00567 
00568         // 3D texture functions
00569         void (OSG_APIENTRY*TexImage3D)(GLenum target, GLint level, GLenum internalformat,
00570                            GLsizei width, GLsizei height, GLsizei depth,
00571                            GLint border, GLenum format, GLenum type,
00572                            const GLvoid *pixels) =
00573             (void (OSG_APIENTRY*)(GLenum target, GLint level, GLenum internalformat,
00574                       GLsizei width, GLsizei height, GLsizei depth,
00575                       GLint border, GLenum format, GLenum type,
00576                       const GLvoid *pixels))
00577             win->getFunction(_funcTexImage3D);
00578 
00579         void (OSG_APIENTRY*TexSubImage3D)
00580                           (GLenum target, GLint level, GLint xoffset,
00581                            GLint yoffset, GLint zoffset, GLsizei width,
00582                            GLsizei height, GLsizei depth, GLenum format,
00583                            GLenum type, const GLvoid *pixels) =
00584             (void (OSG_APIENTRY*)(GLenum target, GLint level, GLint xoffset,
00585                       GLint yoffset, GLint zoffset, GLsizei width,
00586                       GLsizei height, GLsizei depth, GLenum format,
00587                       GLenum type, const GLvoid *pixels))
00588             win->getFunction(_funcTexSubImage3D);
00589 
00590         // Compressed texture functions
00591         void (OSG_APIENTRY*CompressedTexImage1D)(GLenum target, GLint level, 
00592                            GLenum internalformat, GLsizei width, GLint border, 
00593                            GLsizei imageSize, const GLvoid *pixels) =
00594             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
00595                            GLenum internalformat, GLsizei width, GLint border,  
00596                            GLsizei imageSize, const GLvoid *pixels))
00597             win->getFunction(_funcCompressedTexImage1D);
00598 
00599         void (OSG_APIENTRY*CompressedTexSubImage1D)
00600                           (GLenum target, GLint level, GLint xoffset, GLsizei width,
00601                            GLenum format, GLsizei imageSize, const GLvoid *pixels) =
00602             (void (OSG_APIENTRY*)(GLenum target, GLint level, GLint xoffset, GLsizei width,
00603                            GLenum format, GLsizei imageSize, const GLvoid *pixels))
00604             win->getFunction(_funcCompressedTexSubImage1D);
00605 
00606         void (OSG_APIENTRY*CompressedTexImage2D)(GLenum target, GLint level, 
00607                            GLenum internalformat, GLsizei width, GLsizei height, 
00608                            GLint border, 
00609                            GLsizei imageSize, const GLvoid *pixels) =
00610             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
00611                            GLenum internalformat, GLsizei width, GLsizei height, 
00612                            GLint border, 
00613                            GLsizei imageSize, const GLvoid *pixels))
00614             win->getFunction(_funcCompressedTexImage2D);
00615 
00616         void (OSG_APIENTRY*CompressedTexSubImage2D)
00617                           (GLenum target, GLint level, 
00618                            GLint xoffset, GLint yoffset, 
00619                            GLsizei width, GLsizei height, GLenum format,
00620                            GLsizei imageSize, const GLvoid *pixels) =
00621             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
00622                            GLint xoffset, GLint yoffset, 
00623                            GLsizei width, GLsizei height, GLenum format,
00624                            GLsizei imageSize, const GLvoid *pixels))
00625             win->getFunction(_funcCompressedTexSubImage2D);
00626 
00627         void (OSG_APIENTRY*CompressedTexImage3D)(GLenum target, GLint level, 
00628                            GLenum internalformat,
00629                            GLsizei width, GLsizei height, GLsizei depth,
00630                            GLint border,
00631                            GLsizei imageSize, const GLvoid *pixels) =
00632             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
00633                            GLenum internalformat,
00634                            GLsizei width, GLsizei height, GLsizei depth,
00635                            GLint border,
00636                            GLsizei imageSize, const GLvoid *pixels))
00637             win->getFunction(_funcCompressedTexImage3D);
00638 
00639         void (OSG_APIENTRY*CompressedTexSubImage3D)
00640                           (GLenum target, GLint level, 
00641                            GLint xoffset, GLint yoffset, GLint zoffset, 
00642                            GLsizei width, GLsizei height, GLsizei depth, 
00643                            GLenum format, GLsizei imageSize, const GLvoid *pixels) =
00644             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
00645                            GLint xoffset, GLint yoffset, GLint zoffset, 
00646                            GLsizei width, GLsizei height, GLsizei depth, 
00647                            GLenum format, GLsizei imageSize, const GLvoid *pixels))
00648             win->getFunction(_funcCompressedTexSubImage3D);
00649 
00650         // as we're not allocating anything here, the same code can be used
00651         // for reinitialization
00652         if(! img || ! img->getDimension()) // no image ?
00653             return;
00654 
00655         glErr("TextureChunk::initialize precheck");
00656 
00657         FDEBUG(("texture (re-)initialize\n"));
00658         
00659         glBindTexture(bindtarget, id);
00660 
00661         if(paramtarget != GL_NONE)
00662         {
00663             // set the parameters
00664             glTexParameterf(paramtarget, GL_TEXTURE_PRIORITY,   getPriority());
00665             glTexParameteri(paramtarget, GL_TEXTURE_MIN_FILTER, getMinFilter());
00666             glTexParameteri(paramtarget, GL_TEXTURE_MAG_FILTER, getMagFilter());
00667             glTexParameteri(paramtarget, GL_TEXTURE_WRAP_S, getWrapS());
00668             if(paramtarget == GL_TEXTURE_2D ||
00669                paramtarget == GL_TEXTURE_3D ||
00670                paramtarget == GL_TEXTURE_CUBE_MAP_ARB ||
00671                paramtarget == GL_TEXTURE_RECTANGLE_ARB
00672               )
00673                 glTexParameteri(paramtarget, GL_TEXTURE_WRAP_T, getWrapT());
00674             if(paramtarget == GL_TEXTURE_3D ||
00675                paramtarget == GL_TEXTURE_CUBE_MAP_ARB)
00676                 glTexParameteri(paramtarget, GL_TEXTURE_WRAP_R, getWrapR());
00677 
00678             if(getAnisotropy() > 1.0f && win->hasExtension(_extTextureFilterAnisotropic))
00679                 glTexParameterf(paramtarget, GL_TEXTURE_MAX_ANISOTROPY_EXT, getAnisotropy());
00680 
00681             glTexParameterfv(paramtarget, GL_TEXTURE_BORDER_COLOR,
00682                              (GLfloat*)getBorderColor().getValuesRGBA());
00683 
00684             glErr("TextureChunk::initialize params");
00685         }
00686 
00687         // set the image
00688         GLenum internalFormat = getInternalFormat();
00689         GLenum externalFormat = img->getPixelFormat();
00690         GLenum type           = img->getDataType();
00691         UInt32 width          = img->getWidth();
00692         UInt32 height         = img->getHeight();
00693         UInt32 depth          = img->getDepth();
00694         bool   compressedData = img->hasCompressedData();
00695 
00696         bool doScale = getScale(); // scale the texture to 2^?
00697         UInt32 frame = getFrame();
00698 
00699         bool defined = false;   // Texture defined ?
00700         bool needMipmaps =  getMinFilter() == GL_NEAREST_MIPMAP_NEAREST ||
00701                             getMinFilter() == GL_LINEAR_MIPMAP_NEAREST  ||
00702                             getMinFilter() == GL_NEAREST_MIPMAP_LINEAR  ||
00703                             getMinFilter() == GL_LINEAR_MIPMAP_LINEAR   ;
00704 
00705         if(internalFormat == GL_NONE)
00706         {
00707             switch(externalFormat)
00708             {
00709 #if defined(GL_BGR) && defined(GL_BGR_EXT)
00710             case GL_BGR:
00711 #else
00712 #  if defined(GL_BGR)
00713             case GL_BGR:
00714 #  endif
00715 #  if defined(GL_BGR_EXT)
00716             case GL_BGR_EXT:
00717 #  endif
00718 #endif
00719 #if defined(GL_BGR) || defined(GL_BGR_EXT)
00720                             internalFormat = GL_RGB;
00721                             break;
00722 #endif
00723 #if defined(GL_BGRA) && defined(GL_BGRA_EXT)
00724             case GL_BGRA:
00725 #else
00726 #  if defined(GL_BGRA)
00727             case GL_BGRA:
00728 #  endif
00729 #  if defined(GL_BGRA_EXT)
00730             case GL_BGRA_EXT:
00731 #  endif
00732 #endif
00733 #if defined(GL_BGRA) || defined(GL_BGRA_EXT)
00734                             internalFormat = GL_RGBA;
00735                             break;
00736 #endif
00737             case GL_INTENSITY:
00738                             internalFormat = GL_INTENSITY;
00739                             externalFormat = GL_LUMINANCE;
00740                             break;
00741                             
00742             default:    internalFormat = externalFormat;
00743                         break;
00744             }
00745         }
00746          
00747         if(getExternalFormat() != GL_NONE)
00748             externalFormat = getExternalFormat();
00749        
00750         if(imgtarget == GL_TEXTURE_RECTANGLE_ARB && needMipmaps)
00751         {
00752             SWARNING << "TextureChunk::initialize: Can't do mipmaps"
00753                      << "with GL_TEXTURE_RECTANGLE_ARB target! Ignored"
00754                      << std::endl;
00755             needMipmaps= false;
00756         }
00757         
00758         // do we need mipmaps?
00759         if(needMipmaps)
00760         {
00761             // do we have usable mipmaps ?
00762             if(img->getMipMapCount() == img->calcMipmapLevelCount() &&
00763                  osgispower2(width) && osgispower2(height) &&
00764                  osgispower2(depth)
00765               )
00766             {
00767                 for(UInt16 i = 0; i < img->getMipMapCount(); i++)
00768                 {
00769                     UInt32 w, h, d;
00770                     img->calcMipmapGeometry(i, w, h, d);
00771 
00772                     if(compressedData)
00773                     {
00774                         switch (imgtarget)
00775                         {
00776                         case GL_TEXTURE_1D:
00777                             CompressedTexImage1D(GL_TEXTURE_1D, i, internalFormat,
00778                                             w, getBorderWidth(),
00779                                             img->calcMipmapLevelSize(i),
00780                                             img->getData(i, frame, side));
00781                             break;
00782                         case GL_TEXTURE_2D:
00783                             CompressedTexImage2D(imgtarget, i, internalFormat,
00784                                             w, h, getBorderWidth(),
00785                                             img->calcMipmapLevelSize(i),
00786                                             img->getData(i, frame, side));
00787                             break;
00788                         case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
00789                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
00790                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
00791                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
00792                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
00793                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
00794                             CompressedTexImage2D(imgtarget, i, internalFormat,
00795                                             w, h, getBorderWidth(),
00796                                             img->calcMipmapLevelSize(i), 
00797                                             img->getData(i, frame, side));
00798                             break;
00799                         case GL_TEXTURE_3D:
00800                             CompressedTexImage3D(GL_TEXTURE_3D, i, internalFormat,
00801                                             w, h, d, getBorderWidth(),
00802                                             img->calcMipmapLevelSize(i),
00803                                             img->getData(i, frame, side));
00804                             break;
00805                        default:
00806                                 SFATAL << "TextureChunk::initialize1: unknown target "
00807                                        << imgtarget << "!!!" << std::endl;
00808                                 break;
00809                         }
00810                     }
00811                     else
00812                     {
00813                         switch (imgtarget)
00814                         {
00815                         case GL_TEXTURE_1D:
00816                             glTexImage1D(GL_TEXTURE_1D, i, internalFormat,
00817                                             w, getBorderWidth(),
00818                                             externalFormat, type,
00819                                             img->getData(i, frame, side));
00820                             break;
00821                         case GL_TEXTURE_2D:
00822                         case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
00823                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
00824                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
00825                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
00826                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
00827                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
00828                             glTexImage2D(imgtarget, i, internalFormat,
00829                                             w, h, getBorderWidth(),
00830                                             externalFormat, type,
00831                                             img->getData(i, frame, side));
00832                             break;
00833                         case GL_TEXTURE_3D:
00834                               TexImage3D(GL_TEXTURE_3D, i, internalFormat,
00835                                             w, h, d, getBorderWidth(),
00836                                             externalFormat, type,
00837                                             img->getData(i, frame, side));
00838                             break;
00839                        default:
00840                                 SFATAL << "TextureChunk::initialize1: unknown target "
00841                                        << imgtarget << "!!!" << std::endl;
00842                                 break;
00843                         }
00844                     }
00845                 }
00846                 defined = true;
00847             }
00848 
00849             if(! defined)
00850             {
00851                 // Nope, do we have SGIS_generate_mipmaps?
00852                 if(win->hasExtension(_sgisGenerateMipmap))
00853                 {
00854                     if(paramtarget != GL_NONE)
00855                         glTexParameteri(paramtarget, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
00856                         // same as GL_GENERATE_MIPMAP which is part of the standard since 1.4
00857                     glErr("TextureChunk::activate generate_mipmaps");
00858                     needMipmaps = false; // automagic does it
00859                 }
00860                 else
00861                 {
00862                     // Nope, try to use gluBuild?DMipmaps
00863                     void * data = NULL;
00864                     
00865                     // can we use it directly?
00866                     if(! osgispower2(width) ||
00867                          ! osgispower2(height) ||
00868                          ! osgispower2(depth)
00869                       )
00870                     {
00871                         // scale is only implemented for 2D
00872                         if(imgtarget != GL_TEXTURE_2D)
00873                         {
00874                             SWARNING << "TextureChunk::initialize: can't mipmap "
00875                                      << "non-2D textures that are not 2^x !!!"
00876                                      << std::endl;
00877                         }
00878                         else
00879                         {
00880                             UInt32 outw = osgnextpower2(width);
00881                             UInt32 outh = osgnextpower2(height);
00882 
00883                             data = malloc(outw * outh * img->getBpp());
00884                             
00885                             // should we scale to next power of 2?
00886                             if(doScale)
00887                             {
00888                                 GLint res = gluScaleImage(externalFormat,
00889                                                 width, height, type, img->getData(0, frame, side),
00890                                                 outw, outh, type, data);
00891 
00892                                 if(res)
00893                                 {
00894                                     SWARNING << "TextureChunk::initialize: "
00895                                              << "gluScaleImage failed: "
00896                                              << gluErrorString(res) << "("
00897                                              << res << ")!"
00898                                              << std::endl;
00899                                     free(data);
00900                                     data = NULL;
00901                                 }
00902                                 else
00903                                 {
00904                                     width = outw;
00905                                     height = outh;
00906                                 }
00907                             }
00908                             else // nope, just copy the image to the lower left part
00909                             {
00910                                 memset(data, 0, outw * outh * img->getBpp());
00911 
00912                                 UInt16 bpl = width * img->getBpp();
00913                                 UInt8 * src = (UInt8 *) img->getData(0, frame, side);
00914                                 UInt8 * dest= (UInt8 *) data;
00915 
00916                                 for(UInt32 y = 0; y < height; y++)
00917                                 {
00918                                     memcpy(dest, src, bpl);
00919 
00920                                     src  += bpl;
00921                                     dest += outw * img->getBpp();
00922                                 }
00923                                 width = outw;
00924                                 height = outh;
00925                             }
00926                         }
00927                     }
00928                     else
00929                         data = img->getData(0, frame, side);
00930                     
00931                     if(data)
00932                     {
00933                         switch (imgtarget)
00934                         {
00935                         case GL_TEXTURE_1D:
00936                                 gluBuild1DMipmaps(imgtarget, internalFormat, width,
00937                                                     externalFormat, type, data);
00938                                 break;
00939                         case GL_TEXTURE_2D:
00940                         case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
00941                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
00942                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
00943                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
00944                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
00945                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
00946                                 gluBuild2DMipmaps(imgtarget, internalFormat,
00947                                                     width, height,
00948                                                     externalFormat, type, data);
00949                                 break;
00950                         case GL_TEXTURE_3D:
00951 #  ifdef GLU_VERSION_1_3
00952                                 gluBuild3DMipmaps(imgtarget, internalFormat,
00953                                                     width, height, depth,
00954                                                     externalFormat, type, data);
00955 #  else
00956                                 FWARNING(("TextureChunk::initialize: 3d textures "
00957                                           "supported, but GLU version < 1.3, thus "
00958                                           "gluBuild3DMipmaps not supported!\n"));
00959 #  endif
00960                                 break;
00961                         default:
00962                                 SFATAL << "TextureChunk::initialize2: unknown target "
00963                                        << imgtarget << "!!!" << std::endl;
00964                         }
00965 
00966                         
00967                         if(data != img->getData(0, frame, side))
00968                             free(data);
00969                         defined = true;
00970                     } // data
00971                 } // need to use gluBuildMipmaps?
00972             } // got them from the image already?
00973         } // need mipmaps?
00974 
00975         // no mipmaps, or mipmapping failed?
00976         if(! defined)
00977         {
00978             // got here needing mipmaps?
00979             if(needMipmaps && paramtarget != GL_NONE)  // turn them off
00980                 glTexParameteri(paramtarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
00981 
00982             void * data = NULL;
00983             UInt32 datasize = 0;
00984 
00985             // Do we need to massage the texture or can we just use it?
00986             if(imgtarget != GL_TEXTURE_RECTANGLE_ARB &&
00987                !win->hasExtension(_arbTextureNonPowerOfTwo) &&
00988                (!osgispower2(width) || !osgispower2(height) || !osgispower2(depth))
00989               )
00990             {
00991                 // No, need to scale or cut
00992                 
00993                 // should we scale to next power of 2?
00994                 if(doScale)
00995                 {
00996                     // scale is only implemented for 2D
00997                     if(imgtarget != GL_TEXTURE_2D &&
00998                        imgtarget != GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&
00999                        imgtarget != GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB &&
01000                        imgtarget != GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB &&
01001                        imgtarget != GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB &&
01002                        imgtarget != GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB &&
01003                        imgtarget != GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
01004                       )
01005                     {
01006                         SWARNING << "TextureChunk::initialize: can't scale "
01007                                  << "non-2D textures that are not 2^x !!!"
01008                                  << std::endl;
01009                     }
01010                     else
01011                     {
01012                         UInt32 outw = osgnextpower2(width);
01013                         UInt32 outh = osgnextpower2(height);
01014 
01015                         data = malloc(outw * outh * img->getBpp());
01016                         datasize = outw * outh * img->getBpp();
01017                         
01018                         GLint res = gluScaleImage(externalFormat,
01019                                         width, height, type, 
01020                                         img->getData(0, frame, side),
01021                                         outw, outh, type, data);
01022 
01023                         if(res)
01024                         {
01025                             SWARNING << "TextureChunk::initialize: "
01026                                      << "gluScaleImage failed: "
01027                                      << gluErrorString(res) << "("
01028                                      << res << ")!" << std::endl;
01029                             free(data);
01030                             data = NULL;
01031                         }
01032                         else
01033                         {
01034                             width = outw;
01035                             height = outh;
01036                         }
01037                     }
01038                 
01039                 }
01040                 else // don't scale, just use ll corner
01041                 {
01042                    if(compressedData)
01043                    {
01044                        switch (imgtarget)
01045                        {
01046                        case GL_TEXTURE_1D:
01047                            CompressedTexImage1D(GL_TEXTURE_1D, 0, internalFormat,
01048                                            osgnextpower2(width), getBorderWidth(), 0, NULL);
01049                            CompressedTexSubImage1D(GL_TEXTURE_1D, 0, 0, width,
01050                                            externalFormat, 
01051                                            img->getFrameSize(), 
01052                                            img->getData(0, frame, side));
01053                            break;
01054                        case GL_TEXTURE_2D:
01055                            CompressedTexImage2D(imgtarget, 0, internalFormat,
01056                                            osgnextpower2(width),
01057                                            osgnextpower2(height), getBorderWidth(),
01058                                            0, NULL);
01059                            CompressedTexSubImage2D(imgtarget, 0, 0, 0, width, height,
01060                                            externalFormat,
01061                                            img->getFrameSize(), 
01062                                            img->getData(0, frame, side));
01063                            break;
01064                        case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01065                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01066                        case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01067                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01068                        case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01069                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01070                            CompressedTexImage2D(imgtarget, 0, internalFormat,
01071                                            osgnextpower2(width),
01072                                            osgnextpower2(height), getBorderWidth(),
01073                                            0, NULL);
01074                            CompressedTexSubImage2D(imgtarget, 0, 0, 0, width, height,
01075                                            externalFormat,
01076                                            (img->getSideCount() > 1) ? img->getSideSize() :
01077                                                 img->getFrameSize(), 
01078                                            img->getData(0, frame, side));
01079                            break;
01080                        case GL_TEXTURE_RECTANGLE_ARB:
01081                            CompressedTexImage2D( GL_TEXTURE_RECTANGLE_ARB, 0, internalFormat,
01082                                            width, height, getBorderWidth(),
01083                                            img->getFrameSize(), 
01084                                            img->getData(0, frame, side));
01085                            break;
01086                        case GL_TEXTURE_3D:
01087                            CompressedTexImage3D(GL_TEXTURE_3D, 0, internalFormat,
01088                                            osgnextpower2(width),
01089                                            osgnextpower2(height),
01090                                            osgnextpower2(depth),
01091                                            getBorderWidth(), 0, NULL);
01092                            CompressedTexSubImage3D(GL_TEXTURE_3D, 0,  0, 0, 0,
01093                                            width, height, depth,
01094                                            externalFormat,
01095                                            img->getFrameSize(), 
01096                                            img->getData(0, frame, side));
01097                            break;
01098                        default:
01099                                SFATAL << "TextureChunk::initialize4: unknown target "
01100                                       << imgtarget << "!!!" << std::endl;
01101                        }
01102                    }
01103                    else
01104                    {
01105                        switch (imgtarget)
01106                        {
01107                        case GL_TEXTURE_1D:
01108                            glTexImage1D(GL_TEXTURE_1D, 0, internalFormat,
01109                                            osgnextpower2(width), getBorderWidth(),
01110                                            externalFormat, type,
01111                                            NULL);
01112                            glTexSubImage1D(GL_TEXTURE_1D, 0, 0, width,
01113                                            externalFormat, type,
01114                                             img->getData(0, frame, side));
01115                            break;
01116                        case GL_TEXTURE_2D:
01117                        case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01118                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01119                        case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01120                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01121                        case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01122                        case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01123                            glTexImage2D(imgtarget, 0, internalFormat,
01124                                            osgnextpower2(width),
01125                                            osgnextpower2(height), getBorderWidth(),
01126                                            externalFormat, type,
01127                                            NULL);
01128                            glTexSubImage2D(imgtarget, 0, 0, 0, width, height,
01129                                            externalFormat, type,
01130                                            img->getData(0, frame, side));
01131                            break;
01132                        case GL_TEXTURE_RECTANGLE_ARB:
01133                            glTexImage2D( GL_TEXTURE_RECTANGLE_ARB, 0, internalFormat,
01134                                            width, height, getBorderWidth(),
01135                                            externalFormat, type,
01136                                            img->getData(0, frame, side));
01137                            break;
01138                        case GL_TEXTURE_3D:
01139                              TexImage3D(GL_TEXTURE_3D, 0, internalFormat,
01140                                            osgnextpower2(width),
01141                                            osgnextpower2(height),
01142                                            osgnextpower2(depth),
01143                                            getBorderWidth(), externalFormat, type, NULL);
01144                              TexSubImage3D(GL_TEXTURE_3D, 0,  0, 0, 0,
01145                                            width, height, depth,
01146                                            externalFormat, type,
01147                                            img->getData(0, frame, side));
01148                            break;
01149                        default:
01150                                SFATAL << "TextureChunk::initialize4: unknown target "
01151                                       << imgtarget << "!!!" << std::endl;
01152                        } // switch imgtarget
01153                    } // compressed data?
01154                        
01155                    defined = true;
01156                 } // do scale  
01157             } 
01158             else // can we use it directly?
01159             {
01160                data = img->getData(0, frame, side);
01161                datasize = (img->getSideCount() > 1) ? img->getSideSize() :
01162                                                       img->getFrameSize();
01163             } // can we use it directly?
01164             
01165             if(!defined) // either we can use the texture directly, or it was scaled
01166             {
01167                 // A image without data is quite handy if you need the
01168                 // texture only on the graphics card. So don't check for data here
01169                
01170                  if(compressedData)
01171                  {
01172                      switch (imgtarget)
01173                      {
01174                      case GL_TEXTURE_1D:
01175                          CompressedTexImage1D(GL_TEXTURE_1D, 0, internalFormat,
01176                                          width, getBorderWidth(),
01177                                          datasize, data);
01178                          break;
01179                      case GL_TEXTURE_2D:
01180                      case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01181                      case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01182                      case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01183                      case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01184                      case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01185                      case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01186                          CompressedTexImage2D(imgtarget, 0, internalFormat,
01187                                          width, height, getBorderWidth(),
01188                                           datasize, data);
01189                          break;
01190                      case GL_TEXTURE_RECTANGLE_ARB:
01191                          CompressedTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, internalFormat,
01192                                          width, height, getBorderWidth(),
01193                                          datasize, data);
01194                          break;
01195                      case GL_TEXTURE_3D:
01196                          CompressedTexImage3D(GL_TEXTURE_3D, 0, internalFormat,
01197                                          width, height, depth, getBorderWidth(),
01198                                          datasize, data);
01199                          break;
01200                      default:
01201                          SFATAL << "TextureChunk::initialize3: unknown target "
01202                                 << imgtarget << "!!!" << std::endl;
01203                      }
01204                  }
01205                  else
01206                  {
01207                         switch (imgtarget)
01208                         {
01209                         case GL_TEXTURE_1D:
01210                             glTexImage1D(GL_TEXTURE_1D, 0, internalFormat,
01211                                             width, getBorderWidth(),
01212                                             externalFormat, type,
01213                                             data);
01214                             break;
01215                         case GL_TEXTURE_2D:
01216                         case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01217                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01218                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01219                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01220                         case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01221                         case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01222                             glTexImage2D(imgtarget, 0, internalFormat,
01223                                             width, height, getBorderWidth(),
01224                                             externalFormat, type,
01225                                             data);
01226                             break;
01227                         case GL_TEXTURE_RECTANGLE_ARB:
01228                             glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, internalFormat,
01229                                             width, height, getBorderWidth(),
01230                                             externalFormat, type,
01231                                             data);
01232                             break;
01233                         case GL_TEXTURE_3D:
01234                               TexImage3D(GL_TEXTURE_3D, 0, internalFormat,
01235                                             width, height, depth, getBorderWidth(),
01236                                             externalFormat, type,
01237                                             data);
01238                             break;
01239                         default:
01240                             SFATAL << "TextureChunk::initialize3: unknown target "
01241                                    << imgtarget << "!!!" << std::endl;
01242                         }
01243                     }
01244                 
01245             }
01246 
01247             if(data != img->getData(0, frame, side))
01248                 free(data);
01249         }
01250 
01251         glErr("TextureChunk::initialize image");
01252     }
01253     else if(mode == Window::needrefresh)
01254     {
01255         void (OSG_APIENTRY*TexSubImage3D)
01256                           (GLenum target, GLint level, GLint xoffset,
01257                            GLint yoffset, GLint zoffset, GLsizei width,
01258                            GLsizei height, GLsizei depth, GLenum format,
01259                            GLenum type, const GLvoid *pixels) =
01260             (void (OSG_APIENTRY*)(GLenum target, GLint level, GLint xoffset,
01261                       GLint yoffset, GLint zoffset, GLsizei width,
01262                       GLsizei height, GLsizei depth, GLenum format,
01263                       GLenum type, const GLvoid *pixels))
01264             win->getFunction(_funcTexSubImage3D);
01265 
01266         void (OSG_APIENTRY*CompressedTexSubImage1D)
01267                           (GLenum target, GLint level, GLint xoffset, GLsizei width,
01268                            GLenum format, GLsizei imageSize, const GLvoid *pixels) =
01269             (void (OSG_APIENTRY*)(GLenum target, GLint level, GLint xoffset, GLsizei width,
01270                            GLenum format, GLsizei imageSize, const GLvoid *pixels))
01271             win->getFunction(_funcCompressedTexSubImage1D);
01272 
01273         void (OSG_APIENTRY*CompressedTexSubImage2D)
01274                           (GLenum target, GLint level, 
01275                            GLint xoffset, GLint yoffset, 
01276                            GLsizei width, GLsizei height, GLenum format,
01277                            GLsizei imageSize, const GLvoid *pixels) =
01278             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
01279                            GLint xoffset, GLint yoffset, 
01280                            GLsizei width, GLsizei height, GLenum format,
01281                            GLsizei imageSize, const GLvoid *pixels))
01282             win->getFunction(_funcCompressedTexSubImage2D);
01283 
01284         void (OSG_APIENTRY*CompressedTexSubImage3D)
01285                           (GLenum target, GLint level, 
01286                            GLint xoffset, GLint yoffset, GLint zoffset, 
01287                            GLsizei width, GLsizei height, GLsizei depth, 
01288                            GLenum format, GLsizei imageSize, const GLvoid *pixels) =
01289             (void (OSG_APIENTRY*)(GLenum target, GLint level, 
01290                            GLint xoffset, GLint yoffset, GLint zoffset, 
01291                            GLsizei width, GLsizei height, GLsizei depth, 
01292                            GLenum format, GLsizei imageSize, const GLvoid *pixels))
01293             win->getFunction(_funcCompressedTexSubImage3D);
01294 
01295         GLenum externalFormat = img->getPixelFormat();
01296         GLenum type           = img->getDataType();
01297         bool   compressedData = img->hasCompressedData();
01298         bool   has3DTex       = win->hasExtension(_extTex3D) ||
01299                                 win->getGLVersion() >= 0x0102;
01300         
01301         if(bindtarget == GL_TEXTURE_3D && !has3DTex)
01302         {
01303             FINFO(("3D textures not supported on Window %p!\n", win));
01304             return;
01305         }
01306 
01307         if(! img) // no image ?
01308             return;
01309 
01310         if(getExternalFormat() != GL_NONE)
01311             externalFormat = getExternalFormat();
01312 
01313         if(!getScale() || imgtarget == GL_TEXTURE_RECTANGLE_ARB
01314                        || win->hasExtension(_arbTextureNonPowerOfTwo) 
01315                        ||  (osgispower2(img->getWidth() ) &&
01316                             osgispower2(img->getHeight()) &&
01317                             osgispower2(img->getDepth() )
01318           )                )
01319         {
01320             // activate the texture
01321             glBindTexture(bindtarget, id);
01322 
01323             // Find out what to update
01324             UInt32 ix, ax, iy, ay, iz, az;
01325             ix = (getDirtyMinX()!=-1) ? getDirtyMinX() : 0;
01326             ax = (getDirtyMaxX()!=-1) ? getDirtyMaxX() : img->getWidth() - 1;
01327             iy = (getDirtyMinY()!=-1) ? getDirtyMinY() : 0;
01328             ay = (getDirtyMaxY()!=-1) ? getDirtyMaxY() : img->getHeight() - 1;
01329             iz = (getDirtyMinZ()!=-1) ? getDirtyMinZ() : 0;
01330             az = (getDirtyMaxZ()!=-1) ? getDirtyMaxZ() : img->getDepth() - 1;
01331             
01332             UInt32 w, h, d;
01333             w = ax - ix + 1;
01334             h = ay - iy + 1;
01335             d = az - iz + 1;
01336 
01337             if(w != img->getWidth())
01338                 glPixelStorei(GL_UNPACK_ROW_LENGTH,  img->getWidth());
01339             if(ix != 0)
01340                 glPixelStorei(GL_UNPACK_SKIP_PIXELS, ix);
01341             if(iy != 0)
01342                 glPixelStorei(GL_UNPACK_SKIP_ROWS,   iy);
01343             if(has3DTex && iz != 0)
01344                 glPixelStorei(GL_UNPACK_SKIP_IMAGES, iz);
01345             
01346             if(compressedData)
01347             {
01348                 switch (imgtarget)
01349                 {
01350                 case GL_TEXTURE_1D:
01351                     CompressedTexSubImage1D(GL_TEXTURE_1D, 0, ix, w,
01352                                     externalFormat, img->getFrameSize(),
01353                                     img->getData( 0, getFrame(), side ) );
01354                     break;
01355                 case GL_TEXTURE_2D:
01356                     CompressedTexSubImage2D(imgtarget, 0, ix, iy, w, h,
01357                                     externalFormat, img->getFrameSize(),
01358                                     img->getData( 0, getFrame(), side ) );
01359                     break;
01360                 case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01361                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01362                 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01363                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01364                 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01365                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01366                     CompressedTexSubImage2D(imgtarget, 0, ix, iy, w, h,
01367                                     externalFormat,     
01368                                     (img->getSideCount() > 1) ? img->getSideSize() :
01369                                                                 img->getFrameSize(), 
01370                                     img->getData( 0, getFrame(), side ) );
01371                     break;
01372                 case GL_TEXTURE_RECTANGLE_ARB:
01373                     CompressedTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, 
01374                                     ix, iy, w, h,
01375                                     externalFormat, img->getFrameSize(),
01376                                     img->getData( 0, getFrame(), side ) );
01377                     break;
01378                 case GL_TEXTURE_3D:
01379                       CompressedTexSubImage3D(GL_TEXTURE_3D, 0,  ix, iy, iz,
01380                                     w, h, d,
01381                                     externalFormat, img->getFrameSize(),
01382                                     img->getData( 0, getFrame(), side ) );
01383                     break;
01384                 default:
01385                         SFATAL << "TextureChunk::refresh: unknown target "
01386                                << imgtarget << "!!!" << std::endl;
01387                 }
01388             }
01389             else
01390             {
01391                 switch (imgtarget)
01392                 {
01393                 case GL_TEXTURE_1D:
01394                     glTexSubImage1D(GL_TEXTURE_1D, 0, ix, w,
01395                                     externalFormat, type,
01396                                     img->getData( 0, getFrame(), side ) );
01397                     break;
01398                 case GL_TEXTURE_2D:
01399                 case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
01400                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
01401                 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
01402                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
01403                 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
01404                 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
01405                     glTexSubImage2D(imgtarget, 0, ix, iy, w, h,
01406                                     externalFormat, type,
01407                                     img->getData( 0, getFrame(), side ) );
01408                     break;
01409                 case GL_TEXTURE_RECTANGLE_ARB:
01410                     glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0,
01411                                     ix, iy, w, h,
01412                                     externalFormat, type,
01413                                     img->getData( 0, getFrame(), side ) );
01414                     break;
01415                 case GL_TEXTURE_3D:
01416                       TexSubImage3D(GL_TEXTURE_3D, 0,  ix, iy, iz,
01417                                     w, h, d,
01418                                     externalFormat, type,
01419                                     img->getData( 0, getFrame(), side ) );
01420                     break;
01421                 default:
01422                         SFATAL << "TextureChunk::refresh: unknown target "
01423                                << imgtarget << "!!!" << std::endl;
01424                 }
01425             }
01426 
01427 
01428             if(w != img->getWidth())
01429                 glPixelStorei(GL_UNPACK_ROW_LENGTH,  0);
01430             if(ix != 0)
01431                 glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
01432             if(iy != 0)
01433                 glPixelStorei(GL_UNPACK_SKIP_ROWS,   0);
01434             if(has3DTex && iz != 0)
01435                 glPixelStorei(GL_UNPACK_SKIP_IMAGES, 0);
01436            
01437             if(paramtarget != GL_NONE)
01438                 glTexParameterf(paramtarget, GL_TEXTURE_PRIORITY,
01439                                   getPriority());
01440         }
01441         else
01442         {
01443             SWARNING << "TextureChunk::refresh: not implemented yet for "
01444                      << "scaling!!!" << std::endl;
01445         }
01446 
01447         glErr("TextureChunk::refresh image");
01448     }
01449 }

void TextureChunk::handleTextureShader ( Window win,
GLenum  bindtarget 
) [protected, inherited]

Texture handler. Create/update a single texture. Also used by derived CubeMap chunk.

Definition at line 400 of file OSGTextureChunk.cpp.

References osg::TextureChunk::_nvTextureShader, osg::TextureChunk::_nvTextureShader2, FINFO, FWARNING, osg::TextureChunkBase::getShaderConstEye(), osg::TextureChunkBase::getShaderCullModes(), osg::TextureChunkBase::getShaderInput(), osg::TextureChunkBase::getShaderOffsetBias(), osg::TextureChunkBase::getShaderOffsetMatrix(), osg::TextureChunkBase::getShaderOffsetScale(), osg::TextureChunkBase::getShaderOperation(), osg::TextureChunkBase::getShaderRGBADotProduct(), GL_CONST_EYE_NV, GL_CULL_MODES_NV, GL_OFFSET_TEXTURE_BIAS_NV, GL_OFFSET_TEXTURE_MATRIX_NV, GL_OFFSET_TEXTURE_SCALE_NV, GL_PREVIOUS_TEXTURE_INPUT_NV, GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV, GL_SHADER_CONSISTENT_NV, GL_SHADER_OPERATION_NV, GL_TEXTURE_3D, GL_TEXTURE_SHADER_NV, glErr, and osg::Window::hasExtension().

Referenced by osg::TextureChunk::activate(), activate(), osg::TextureChunk::changeFrom(), and changeFrom().

00401 {
00402     if(!win->hasExtension(_nvTextureShader))
00403     {
00404         if(getShaderOperation() != GL_NONE)
00405             FINFO(("NV Texture Shaders not supported on Window %p!\n", win));
00406         return;
00407     }
00408 
00409     glErr("textureShader precheck");
00410 
00411     glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV,
00412                 getShaderOperation());
00413 
00414     glErr("textureShader setup: operation");
00415 
00416     if(getShaderOperation() == GL_NONE)
00417         return;
00418 
00419     if(bindtarget == GL_TEXTURE_3D && !win->hasExtension(_nvTextureShader2))
00420     {
00421         FINFO(("NV Texture Shaders 2 not supported on Window %p!\n", win));
00422         return;
00423     }
00424 
00425     if(getShaderInput() != GL_NONE)
00426         glTexEnvi(GL_TEXTURE_SHADER_NV, GL_PREVIOUS_TEXTURE_INPUT_NV,
00427                     getShaderInput());
00428 
00429     glErr("textureShader setup: input");
00430 
00431     if(getShaderRGBADotProduct() != GL_NONE)
00432         glTexEnvi(GL_TEXTURE_SHADER_NV, GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV,
00433                     getShaderRGBADotProduct());
00434 
00435     glErr("textureShader setup: rgba dotprod");
00436 
00437     if(getShaderOffsetMatrix().size() == 4)
00438     {
00439         glTexEnvfv(GL_TEXTURE_SHADER_NV, GL_OFFSET_TEXTURE_MATRIX_NV,
00440                     (GLfloat*)&(getShaderOffsetMatrix()[0]));
00441 
00442         glErr("textureShader setup: offset matrix");
00443     }
00444     else if(getShaderOffsetMatrix().size() != 0)
00445     {
00446         FWARNING(("TextureChunk::handleTextureShader: shaderOffsetMatrix has"
00447                     " to have 4 entries, not %d!\n",
00448                     getShaderOffsetMatrix().size() ));
00449     }
00450 
00451     glTexEnvf(GL_TEXTURE_SHADER_NV, GL_OFFSET_TEXTURE_SCALE_NV,
00452                 getShaderOffsetScale());
00453 
00454     glErr("textureShader setup: offset scale");
00455 
00456     glTexEnvf(GL_TEXTURE_SHADER_NV, GL_OFFSET_TEXTURE_BIAS_NV,
00457                 getShaderOffsetBias());
00458 
00459     glErr("textureShader setup: offset bias");
00460 
00461     GLint cullmodes[4];
00462     if(getShaderCullModes() & 0x1)
00463     {
00464         cullmodes[0] = GL_GEQUAL;
00465     }
00466     else
00467     {
00468         cullmodes[0] = GL_LESS;
00469     }
00470 
00471     if(getShaderCullModes() & 0x2)
00472     {
00473         cullmodes[1] = GL_GEQUAL;
00474     }
00475     else
00476     {
00477         cullmodes[1] = GL_LESS;
00478     }
00479 
00480     if(getShaderCullModes() & 0x4)
00481     {
00482         cullmodes[2] = GL_GEQUAL;
00483     }
00484     else
00485     {
00486         cullmodes[2] = GL_LESS;
00487     }
00488 
00489     if(getShaderCullModes() & 0x8)
00490     {
00491         cullmodes[3] = GL_GEQUAL;
00492     }
00493     else
00494     {
00495         cullmodes[3] = GL_LESS;
00496     }
00497 
00498     glTexEnviv(GL_TEXTURE_SHADER_NV, GL_CULL_MODES_NV,
00499                     cullmodes);
00500 
00501     glErr("textureShader setup: cull modes");
00502 
00503     glTexEnvfv(GL_TEXTURE_SHADER_NV, GL_CONST_EYE_NV,
00504                     getShaderConstEye().getValues());
00505 
00506     glErr("textureShader setup: const eye");
00507 
00508 
00509 
00510 #ifdef OSG_DEBUG
00511     GLint consistent;
00512     glGetTexEnviv(GL_TEXTURE_SHADER_NV, GL_SHADER_CONSISTENT_NV,
00513           &consistent);
00514     if(!consistent)
00515     {
00516         FWARNING(("Texture shaders not consistent!\n"));
00517     }
00518 #endif
00519 }

void TextureChunk::initMethod ( void   )  [static, protected, inherited]

Reimplemented from osg::StateChunk.

Definition at line 149 of file OSGTextureChunk.cpp.

00150 {
00151 }

SFImagePtr * osg::TextureChunkBase::getSFImage ( void   )  [inline, inherited]

Definition at line 101 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfImage.

00102 {
00103     return &_sfImage;
00104 }

SFGLenum * osg::TextureChunkBase::getSFInternalFormat ( void   )  [inline, inherited]

Definition at line 108 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfInternalFormat.

00109 {
00110     return &_sfInternalFormat;
00111 }

SFGLenum * osg::TextureChunkBase::getSFExternalFormat ( void   )  [inline, inherited]

Definition at line 115 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfExternalFormat.

00116 {
00117     return &_sfExternalFormat;
00118 }

SFBool * osg::TextureChunkBase::getSFScale ( void   )  [inline, inherited]

Definition at line 122 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfScale.

00123 {
00124     return &_sfScale;
00125 }

SFUInt32 * osg::TextureChunkBase::getSFFrame ( void   )  [inline, inherited]

Definition at line 129 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfFrame.

00130 {
00131     return &_sfFrame;
00132 }

SFGLenum * osg::TextureChunkBase::getSFMinFilter ( void   )  [inline, inherited]

Definition at line 136 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfMinFilter.

00137 {
00138     return &_sfMinFilter;
00139 }

SFGLenum * osg::TextureChunkBase::getSFMagFilter ( void   )  [inline, inherited]

Definition at line 143 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfMagFilter.

00144 {
00145     return &_sfMagFilter;
00146 }

SFGLenum * osg::TextureChunkBase::getSFWrapS ( void   )  [inline, inherited]

Definition at line 150 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapS.

00151 {
00152     return &_sfWrapS;
00153 }

SFGLenum * osg::TextureChunkBase::getSFWrapT ( void   )  [inline, inherited]

Definition at line 157 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapT.

00158 {
00159     return &_sfWrapT;
00160 }

SFGLenum * osg::TextureChunkBase::getSFWrapR ( void   )  [inline, inherited]

Definition at line 164 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapR.

00165 {
00166     return &_sfWrapR;
00167 }

SFGLenum * osg::TextureChunkBase::getSFEnvMode ( void   )  [inline, inherited]

Definition at line 171 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvMode.

00172 {
00173     return &_sfEnvMode;
00174 }

SFColor4f * osg::TextureChunkBase::getSFEnvColor ( void   )  [inline, inherited]

Definition at line 178 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvColor.

00179 {
00180     return &_sfEnvColor;
00181 }

SFGLenum * osg::TextureChunkBase::getSFEnvCombineRGB ( void   )  [inline, inherited]

Definition at line 185 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvCombineRGB.

00186 {
00187     return &_sfEnvCombineRGB;
00188 }

SFGLenum * osg::TextureChunkBase::getSFEnvCombineAlpha ( void   )  [inline, inherited]

Definition at line 192 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvCombineAlpha.

00193 {
00194     return &_sfEnvCombineAlpha;
00195 }

SFReal32 * osg::TextureChunkBase::getSFEnvScaleRGB ( void   )  [inline, inherited]

Definition at line 199 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvScaleRGB.

00200 {
00201     return &_sfEnvScaleRGB;
00202 }

SFReal32 * osg::TextureChunkBase::getSFEnvScaleAlpha ( void   )  [inline, inherited]

Definition at line 206 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvScaleAlpha.

00207 {
00208     return &_sfEnvScaleAlpha;
00209 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource0RGB ( void   )  [inline, inherited]

Definition at line 213 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource0RGB.

00214 {
00215     return &_sfEnvSource0RGB;
00216 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource1RGB ( void   )  [inline, inherited]

Definition at line 220 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource1RGB.

00221 {
00222     return &_sfEnvSource1RGB;
00223 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource2RGB ( void   )  [inline, inherited]

Definition at line 227 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource2RGB.

00228 {
00229     return &_sfEnvSource2RGB;
00230 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource0Alpha ( void   )  [inline, inherited]

Definition at line 234 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource0Alpha.

00235 {
00236     return &_sfEnvSource0Alpha;
00237 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource1Alpha ( void   )  [inline, inherited]

Definition at line 241 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource1Alpha.

00242 {
00243     return &_sfEnvSource1Alpha;
00244 }

SFGLenum * osg::TextureChunkBase::getSFEnvSource2Alpha ( void   )  [inline, inherited]

Definition at line 248 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource2Alpha.

00249 {
00250     return &_sfEnvSource2Alpha;
00251 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand0RGB ( void   )  [inline, inherited]

Definition at line 255 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand0RGB.

00256 {
00257     return &_sfEnvOperand0RGB;
00258 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand1RGB ( void   )  [inline, inherited]

Definition at line 262 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand1RGB.

00263 {
00264     return &_sfEnvOperand1RGB;
00265 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand2RGB ( void   )  [inline, inherited]

Definition at line 269 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand2RGB.

00270 {
00271     return &_sfEnvOperand2RGB;
00272 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand0Alpha ( void   )  [inline, inherited]

Definition at line 276 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand0Alpha.

00277 {
00278     return &_sfEnvOperand0Alpha;
00279 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand1Alpha ( void   )  [inline, inherited]

Definition at line 283 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand1Alpha.

00284 {
00285     return &_sfEnvOperand1Alpha;
00286 }

SFGLenum * osg::TextureChunkBase::getSFEnvOperand2Alpha ( void   )  [inline, inherited]

Definition at line 290 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand2Alpha.

00291 {
00292     return &_sfEnvOperand2Alpha;
00293 }

SFGLenum * osg::TextureChunkBase::getSFGLId ( void   )  [inline, inherited]

Definition at line 297 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfGLId.

00298 {
00299     return &_sfGLId;
00300 }

SFInt32 * osg::TextureChunkBase::getSFIgnoreGLForAspect ( void   )  [inline, inherited]

Definition at line 304 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfIgnoreGLForAspect.

00305 {
00306     return &_sfIgnoreGLForAspect;
00307 }

SFBool * osg::TextureChunkBase::getSFPointSprite ( void   )  [inline, inherited]

Definition at line 311 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfPointSprite.

00312 {
00313     return &_sfPointSprite;
00314 }

SFReal32 * osg::TextureChunkBase::getSFPriority ( void   )  [inline, inherited]

Definition at line 318 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfPriority.

00319 {
00320     return &_sfPriority;
00321 }

SFGLenum * osg::TextureChunkBase::getSFShaderOperation ( void   )  [inline, inherited]

Definition at line 325 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderOperation.

00326 {
00327     return &_sfShaderOperation;
00328 }

SFGLenum * osg::TextureChunkBase::getSFShaderInput ( void   )  [inline, inherited]

Definition at line 332 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderInput.

00333 {
00334     return &_sfShaderInput;
00335 }

MFReal32 * osg::TextureChunkBase::getMFShaderOffsetMatrix ( void   )  [inline, inherited]

Definition at line 339 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_mfShaderOffsetMatrix.

00340 {
00341     return &_mfShaderOffsetMatrix;
00342 }

SFReal32 * osg::TextureChunkBase::getSFShaderOffsetScale ( void   )  [inline, inherited]

Definition at line 346 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderOffsetScale.

00347 {
00348     return &_sfShaderOffsetScale;
00349 }

SFReal32 * osg::TextureChunkBase::getSFShaderOffsetBias ( void   )  [inline, inherited]

Definition at line 353 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderOffsetBias.

00354 {
00355     return &_sfShaderOffsetBias;
00356 }

SFGLenum * osg::TextureChunkBase::getSFShaderRGBADotProduct ( void   )  [inline, inherited]

Definition at line 360 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderRGBADotProduct.

00361 {
00362     return &_sfShaderRGBADotProduct;
00363 }

SFUInt8 * osg::TextureChunkBase::getSFShaderCullModes ( void   )  [inline, inherited]

Definition at line 367 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderCullModes.

00368 {
00369     return &_sfShaderCullModes;
00370 }

SFVec3f * osg::TextureChunkBase::getSFShaderConstEye ( void   )  [inline, inherited]

Definition at line 374 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderConstEye.

00375 {
00376     return &_sfShaderConstEye;
00377 }

SFReal32 * osg::TextureChunkBase::getSFLodBias ( void   )  [inline, inherited]

Definition at line 381 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfLodBias.

00382 {
00383     return &_sfLodBias;
00384 }

SFGLenum * osg::TextureChunkBase::getSFTarget ( void   )  [inline, inherited]

Definition at line 388 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfTarget.

00389 {
00390     return &_sfTarget;
00391 }

SFInt32 * osg::TextureChunkBase::getSFDirtyLeft ( void   )  [inline, inherited]

Definition at line 395 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyLeft.

00396 {
00397     return &_sfDirtyLeft;
00398 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMinX ( void   )  [inline, inherited]

Definition at line 402 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinX.

00403 {
00404     return &_sfDirtyMinX;
00405 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMaxX ( void   )  [inline, inherited]

Definition at line 409 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxX.

00410 {
00411     return &_sfDirtyMaxX;
00412 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMinY ( void   )  [inline, inherited]

Definition at line 416 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinY.

00417 {
00418     return &_sfDirtyMinY;
00419 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMaxY ( void   )  [inline, inherited]

Definition at line 423 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxY.

00424 {
00425     return &_sfDirtyMaxY;
00426 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMinZ ( void   )  [inline, inherited]

Definition at line 430 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinZ.

00431 {
00432     return &_sfDirtyMinZ;
00433 }

SFInt32 * osg::TextureChunkBase::getSFDirtyMaxZ ( void   )  [inline, inherited]

Definition at line 437 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxZ.

00438 {
00439     return &_sfDirtyMaxZ;
00440 }

SFReal32 * osg::TextureChunkBase::getSFAnisotropy ( void   )  [inline, inherited]

Definition at line 444 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfAnisotropy.

00445 {
00446     return &_sfAnisotropy;
00447 }

SFColor4f * osg::TextureChunkBase::getSFBorderColor ( void   )  [inline, inherited]

Definition at line 451 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfBorderColor.

00452 {
00453     return &_sfBorderColor;
00454 }

SFUInt32 * osg::TextureChunkBase::getSFBorderWidth ( void   )  [inline, inherited]

Definition at line 458 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfBorderWidth.

00459 {
00460     return &_sfBorderWidth;
00461 }

SFUInt32 * osg::TextureChunkBase::getSFNPOTMatrixScale ( void   )  [inline, inherited]

Definition at line 465 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfNPOTMatrixScale.

00466 {
00467     return &_sfNPOTMatrixScale;
00468 }

ImagePtr & osg::TextureChunkBase::getImage ( void   )  [inline, inherited]

const ImagePtr & osg::TextureChunkBase::getImage ( void   )  const [inline, inherited]

Definition at line 480 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfImage, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00481 {
00482     return _sfImage.getValue();
00483 }

GLenum & osg::TextureChunkBase::getInternalFormat ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getInternalFormat ( void   )  const [inline, inherited]

Definition at line 501 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfInternalFormat, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00502 {
00503     return _sfInternalFormat.getValue();
00504 }

GLenum & osg::TextureChunkBase::getExternalFormat ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getExternalFormat ( void   )  const [inline, inherited]

Definition at line 522 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfExternalFormat, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00523 {
00524     return _sfExternalFormat.getValue();
00525 }

bool & osg::TextureChunkBase::getScale ( void   )  [inline, inherited]

const bool & osg::TextureChunkBase::getScale ( void   )  const [inline, inherited]

Definition at line 543 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00544 {
00545     return _sfScale.getValue();
00546 }

UInt32 & osg::TextureChunkBase::getFrame ( void   )  [inline, inherited]

Definition at line 557 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfFrame, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

00558 {
00559     return _sfFrame.getValue();
00560 }

const UInt32 & osg::TextureChunkBase::getFrame ( void   )  const [inline, inherited]

Definition at line 564 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfFrame, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00565 {
00566     return _sfFrame.getValue();
00567 }

GLenum & osg::TextureChunkBase::getMinFilter ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getMinFilter ( void   )  const [inline, inherited]

Definition at line 585 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfMinFilter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00586 {
00587     return _sfMinFilter.getValue();
00588 }

GLenum & osg::TextureChunkBase::getMagFilter ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getMagFilter ( void   )  const [inline, inherited]

Definition at line 606 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfMagFilter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00607 {
00608     return _sfMagFilter.getValue();
00609 }

GLenum & osg::TextureChunkBase::getWrapS ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getWrapS ( void   )  const [inline, inherited]

Definition at line 627 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapS, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00628 {
00629     return _sfWrapS.getValue();
00630 }

GLenum & osg::TextureChunkBase::getWrapT ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getWrapT ( void   )  const [inline, inherited]

Definition at line 648 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapT, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00649 {
00650     return _sfWrapT.getValue();
00651 }

GLenum & osg::TextureChunkBase::getWrapR ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getWrapR ( void   )  const [inline, inherited]

Definition at line 669 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapR, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00670 {
00671     return _sfWrapR.getValue();
00672 }

GLenum & osg::TextureChunkBase::getEnvMode ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvMode ( void   )  const [inline, inherited]

Definition at line 690 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00691 {
00692     return _sfEnvMode.getValue();
00693 }

Color4f & osg::TextureChunkBase::getEnvColor ( void   )  [inline, inherited]

const Color4f & osg::TextureChunkBase::getEnvColor ( void   )  const [inline, inherited]

Definition at line 711 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvColor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00712 {
00713     return _sfEnvColor.getValue();
00714 }

GLenum & osg::TextureChunkBase::getEnvCombineRGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvCombineRGB ( void   )  const [inline, inherited]

Definition at line 732 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvCombineRGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00733 {
00734     return _sfEnvCombineRGB.getValue();
00735 }

GLenum & osg::TextureChunkBase::getEnvCombineAlpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvCombineAlpha ( void   )  const [inline, inherited]

Definition at line 753 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvCombineAlpha, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00754 {
00755     return _sfEnvCombineAlpha.getValue();
00756 }

Real32 & osg::TextureChunkBase::getEnvScaleRGB ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getEnvScaleRGB ( void   )  const [inline, inherited]

Definition at line 774 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvScaleRGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00775 {
00776     return _sfEnvScaleRGB.getValue();
00777 }

Real32 & osg::TextureChunkBase::getEnvScaleAlpha ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getEnvScaleAlpha ( void   )  const [inline, inherited]

Definition at line 795 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvScaleAlpha, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00796 {
00797     return _sfEnvScaleAlpha.getValue();
00798 }

GLenum & osg::TextureChunkBase::getEnvSource0RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource0RGB ( void   )  const [inline, inherited]

Definition at line 816 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource0RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00817 {
00818     return _sfEnvSource0RGB.getValue();
00819 }

GLenum & osg::TextureChunkBase::getEnvSource1RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource1RGB ( void   )  const [inline, inherited]

Definition at line 837 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource1RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00838 {
00839     return _sfEnvSource1RGB.getValue();
00840 }

GLenum & osg::TextureChunkBase::getEnvSource2RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource2RGB ( void   )  const [inline, inherited]

Definition at line 858 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource2RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00859 {
00860     return _sfEnvSource2RGB.getValue();
00861 }

GLenum & osg::TextureChunkBase::getEnvSource0Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource0Alpha ( void   )  const [inline, inherited]

Definition at line 879 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource0Alpha, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00880 {
00881     return _sfEnvSource0Alpha.getValue();
00882 }

GLenum & osg::TextureChunkBase::getEnvSource1Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource1Alpha ( void   )  const [inline, inherited]

Definition at line 900 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource1Alpha, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00901 {
00902     return _sfEnvSource1Alpha.getValue();
00903 }

GLenum & osg::TextureChunkBase::getEnvSource2Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvSource2Alpha ( void   )  const [inline, inherited]

Definition at line 921 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvSource2Alpha, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00922 {
00923     return _sfEnvSource2Alpha.getValue();
00924 }

GLenum & osg::TextureChunkBase::getEnvOperand0RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand0RGB ( void   )  const [inline, inherited]

Definition at line 942 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand0RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00943 {
00944     return _sfEnvOperand0RGB.getValue();
00945 }

GLenum & osg::TextureChunkBase::getEnvOperand1RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand1RGB ( void   )  const [inline, inherited]

Definition at line 963 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand1RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00964 {
00965     return _sfEnvOperand1RGB.getValue();
00966 }

GLenum & osg::TextureChunkBase::getEnvOperand2RGB ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand2RGB ( void   )  const [inline, inherited]

Definition at line 984 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvOperand2RGB, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00985 {
00986     return _sfEnvOperand2RGB.getValue();
00987 }

GLenum & osg::TextureChunkBase::getEnvOperand0Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand0Alpha ( void   )  const [inline, inherited]

GLenum & osg::TextureChunkBase::getEnvOperand1Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand1Alpha ( void   )  const [inline, inherited]

GLenum & osg::TextureChunkBase::getEnvOperand2Alpha ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getEnvOperand2Alpha ( void   )  const [inline, inherited]

GLenum & osg::TextureChunkBase::getGLId ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getGLId ( void   )  const [inline, inherited]

Definition at line 1068 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfGLId, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01069 {
01070     return _sfGLId.getValue();
01071 }

Int32 & osg::TextureChunkBase::getIgnoreGLForAspect ( void   )  [inline, inherited]

const Int32 & osg::TextureChunkBase::getIgnoreGLForAspect ( void   )  const [inline, inherited]

bool & osg::TextureChunkBase::getPointSprite ( void   )  [inline, inherited]

const bool & osg::TextureChunkBase::getPointSprite ( void   )  const [inline, inherited]

Definition at line 1110 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfPointSprite, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01111 {
01112     return _sfPointSprite.getValue();
01113 }

Real32 & osg::TextureChunkBase::getPriority ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getPriority ( void   )  const [inline, inherited]

Definition at line 1131 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfPriority, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01132 {
01133     return _sfPriority.getValue();
01134 }

GLenum & osg::TextureChunkBase::getShaderOperation ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getShaderOperation ( void   )  const [inline, inherited]

GLenum & osg::TextureChunkBase::getShaderInput ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getShaderInput ( void   )  const [inline, inherited]

Definition at line 1173 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderInput, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01174 {
01175     return _sfShaderInput.getValue();
01176 }

Real32 & osg::TextureChunkBase::getShaderOffsetScale ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getShaderOffsetScale ( void   )  const [inline, inherited]

Real32 & osg::TextureChunkBase::getShaderOffsetBias ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getShaderOffsetBias ( void   )  const [inline, inherited]

GLenum & osg::TextureChunkBase::getShaderRGBADotProduct ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getShaderRGBADotProduct ( void   )  const [inline, inherited]

UInt8 & osg::TextureChunkBase::getShaderCullModes ( void   )  [inline, inherited]

const UInt8 & osg::TextureChunkBase::getShaderCullModes ( void   )  const [inline, inherited]

Vec3f & osg::TextureChunkBase::getShaderConstEye ( void   )  [inline, inherited]

const Vec3f & osg::TextureChunkBase::getShaderConstEye ( void   )  const [inline, inherited]

Definition at line 1278 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfShaderConstEye, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01279 {
01280     return _sfShaderConstEye.getValue();
01281 }

Real32 & osg::TextureChunkBase::getLodBias ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getLodBias ( void   )  const [inline, inherited]

Definition at line 1299 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfLodBias, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01300 {
01301     return _sfLodBias.getValue();
01302 }

GLenum & osg::TextureChunkBase::getTarget ( void   )  [inline, inherited]

const GLenum & osg::TextureChunkBase::getTarget ( void   )  const [inline, inherited]

Definition at line 1320 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfTarget, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01321 {
01322     return _sfTarget.getValue();
01323 }

Int32 & osg::TextureChunkBase::getDirtyLeft ( void   )  [inline, inherited]

Definition at line 1334 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyLeft, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01335 {
01336     return _sfDirtyLeft.getValue();
01337 }

const Int32 & osg::TextureChunkBase::getDirtyLeft ( void   )  const [inline, inherited]

Definition at line 1341 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyLeft, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01342 {
01343     return _sfDirtyLeft.getValue();
01344 }

Int32 & osg::TextureChunkBase::getDirtyMinX ( void   )  [inline, inherited]

Definition at line 1355 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinX, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01356 {
01357     return _sfDirtyMinX.getValue();
01358 }

const Int32 & osg::TextureChunkBase::getDirtyMinX ( void   )  const [inline, inherited]

Definition at line 1362 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinX, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01363 {
01364     return _sfDirtyMinX.getValue();
01365 }

Int32 & osg::TextureChunkBase::getDirtyMaxX ( void   )  [inline, inherited]

Definition at line 1376 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxX, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01377 {
01378     return _sfDirtyMaxX.getValue();
01379 }

const Int32 & osg::TextureChunkBase::getDirtyMaxX ( void   )  const [inline, inherited]

Definition at line 1383 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxX, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01384 {
01385     return _sfDirtyMaxX.getValue();
01386 }

Int32 & osg::TextureChunkBase::getDirtyMinY ( void   )  [inline, inherited]

Definition at line 1397 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinY, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01398 {
01399     return _sfDirtyMinY.getValue();
01400 }

const Int32 & osg::TextureChunkBase::getDirtyMinY ( void   )  const [inline, inherited]

Definition at line 1404 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinY, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01405 {
01406     return _sfDirtyMinY.getValue();
01407 }

Int32 & osg::TextureChunkBase::getDirtyMaxY ( void   )  [inline, inherited]

Definition at line 1418 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxY, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01419 {
01420     return _sfDirtyMaxY.getValue();
01421 }

const Int32 & osg::TextureChunkBase::getDirtyMaxY ( void   )  const [inline, inherited]

Definition at line 1425 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxY, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01426 {
01427     return _sfDirtyMaxY.getValue();
01428 }

Int32 & osg::TextureChunkBase::getDirtyMinZ ( void   )  [inline, inherited]

Definition at line 1439 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinZ, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01440 {
01441     return _sfDirtyMinZ.getValue();
01442 }

const Int32 & osg::TextureChunkBase::getDirtyMinZ ( void   )  const [inline, inherited]

Definition at line 1446 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMinZ, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01447 {
01448     return _sfDirtyMinZ.getValue();
01449 }

Int32 & osg::TextureChunkBase::getDirtyMaxZ ( void   )  [inline, inherited]

Definition at line 1460 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxZ, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by osg::TextureChunk::handleTexture().

01461 {
01462     return _sfDirtyMaxZ.getValue();
01463 }

const Int32 & osg::TextureChunkBase::getDirtyMaxZ ( void   )  const [inline, inherited]

Definition at line 1467 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfDirtyMaxZ, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01468 {
01469     return _sfDirtyMaxZ.getValue();
01470 }

Real32 & osg::TextureChunkBase::getAnisotropy ( void   )  [inline, inherited]

const Real32 & osg::TextureChunkBase::getAnisotropy ( void   )  const [inline, inherited]

Definition at line 1488 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfAnisotropy, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01489 {
01490     return _sfAnisotropy.getValue();
01491 }

Color4f & osg::TextureChunkBase::getBorderColor ( void   )  [inline, inherited]

const Color4f & osg::TextureChunkBase::getBorderColor ( void   )  const [inline, inherited]

Definition at line 1509 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfBorderColor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01510 {
01511     return _sfBorderColor.getValue();
01512 }

UInt32 & osg::TextureChunkBase::getBorderWidth ( void   )  [inline, inherited]

const UInt32 & osg::TextureChunkBase::getBorderWidth ( void   )  const [inline, inherited]

Definition at line 1530 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfBorderWidth, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

01531 {
01532     return _sfBorderWidth.getValue();
01533 }

UInt32 & osg::TextureChunkBase::getNPOTMatrixScale ( void   )  [inline, inherited]

const UInt32 & osg::TextureChunkBase::getNPOTMatrixScale ( void   )  const [inline, inherited]

Real32 & osg::TextureChunkBase::getShaderOffsetMatrix ( const UInt32  index  )  [inline, inherited]

Definition at line 1566 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_mfShaderOffsetMatrix.

01567 {
01568     return _mfShaderOffsetMatrix[index];
01569 }

MFReal32 & osg::TextureChunkBase::getShaderOffsetMatrix ( void   )  [inline, inherited]

const MFReal32 & osg::TextureChunkBase::getShaderOffsetMatrix ( void   )  const [inline, inherited]

Definition at line 1580 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_mfShaderOffsetMatrix.

01581 {
01582     return _mfShaderOffsetMatrix;
01583 }

void osg::TextureChunkBase::setInternalFormat ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setExternalFormat ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setScale ( const bool &  value  )  [inline, inherited]

Definition at line 550 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00551 {
00552     _sfScale.setValue(value);
00553 }

void osg::TextureChunkBase::setFrame ( const UInt32 value  )  [inline, inherited]

Definition at line 571 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfFrame, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00572 {
00573     _sfFrame.setValue(value);
00574 }

void osg::TextureChunkBase::setMinFilter ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setMagFilter ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setWrapS ( const GLenum &  value  )  [inline, inherited]

Definition at line 634 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapS, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00635 {
00636     _sfWrapS.setValue(value);
00637 }

void osg::TextureChunkBase::setWrapT ( const GLenum &  value  )  [inline, inherited]

Definition at line 655 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapT, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00656 {
00657     _sfWrapT.setValue(value);
00658 }

void osg::TextureChunkBase::setWrapR ( const GLenum &  value  )  [inline, inherited]

Definition at line 676 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfWrapR, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00677 {
00678     _sfWrapR.setValue(value);
00679 }

void osg::TextureChunkBase::setEnvMode ( const GLenum &  value  )  [inline, inherited]

Definition at line 697 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfEnvMode, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00698 {
00699     _sfEnvMode.setValue(value);
00700 }

void osg::TextureChunkBase::setEnvColor ( const Color4f value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvCombineRGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvCombineAlpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvScaleRGB ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvScaleAlpha ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource0RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource1RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource2RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource0Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource1Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvSource2Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand0RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand1RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand2RGB ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand0Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand1Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setEnvOperand2Alpha ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setGLId ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setIgnoreGLForAspect ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setPointSprite ( const bool &  value  )  [inline, inherited]

void osg::TextureChunkBase::setPriority ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderOperation ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderInput ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderOffsetScale ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderOffsetBias ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderRGBADotProduct ( const GLenum &  value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderCullModes ( const UInt8 value  )  [inline, inherited]

void osg::TextureChunkBase::setShaderConstEye ( const Vec3f value  )  [inline, inherited]

void osg::TextureChunkBase::setLodBias ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setTarget ( const GLenum &  value  )  [inline, inherited]

Definition at line 1327 of file OSGTextureChunkBase.inl.

References osg::TextureChunkBase::_sfTarget, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

01328 {
01329     _sfTarget.setValue(value);
01330 }

void osg::TextureChunkBase::setDirtyLeft ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMinX ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMaxX ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMinY ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMaxY ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMinZ ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setDirtyMaxZ ( const Int32 value  )  [inline, inherited]

void osg::TextureChunkBase::setAnisotropy ( const Real32 value  )  [inline, inherited]

void osg::TextureChunkBase::setBorderColor ( const Color4f value  )  [inline, inherited]

void osg::TextureChunkBase::setBorderWidth ( const UInt32 value  )  [inline, inherited]

void osg::TextureChunkBase::setNPOTMatrixScale ( const UInt32 value  )  [inline, inherited]

UInt32 osg::StateChunk::getClassId ( void   )  const [inline, inherited]

Definition at line 48 of file OSGStateChunk.inl.

References osg::StateChunk::getClass(), and osg::StateChunkClass::getId().

00049 {
00050     return getClass()->getId();
00051 }

void StateChunk::update ( DrawActionBase action  )  [virtual, inherited]

Reimplemented in osg::SHLChunk.

Definition at line 311 of file OSGStateChunk.cpp.

00312 {
00313 }

SFBool * osg::StateChunkBase::getSFIgnore ( void   )  [inline, inherited]

Definition at line 75 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore.

00076 {
00077     return &_sfIgnore;
00078 }

bool & osg::StateChunkBase::getIgnore ( void   )  [inline, inherited]

Definition at line 83 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00084 {
00085     return _sfIgnore.getValue();
00086 }

const bool & osg::StateChunkBase::getIgnore ( void   )  const [inline, inherited]

Definition at line 90 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00091 {
00092     return _sfIgnore.getValue();
00093 }

void osg::StateChunkBase::setIgnore ( const bool &  value  )  [inline, inherited]

Definition at line 97 of file OSGStateChunkBase.inl.

References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00098 {
00099     _sfIgnore.setValue(value);
00100 }

MFFieldContainerPtr & Attachment::getParents ( void   )  [inherited]

Definition at line 95 of file OSGAttachment.cpp.

00096 {
00097     return _parents;
00098 }

const MFFieldContainerPtr & Attachment::getParents ( void   )  const [inherited]

Definition at line 100 of file OSGAttachment.cpp.

References osg::Attachment::_parents.

00101 {
00102     return _parents;
00103 }

MFFieldContainerPtr * Attachment::getMFParents ( void   )  [inherited]

Definition at line 105 of file OSGAttachment.cpp.

References osg::Attachment::_parents.

Referenced by osg::DVRLookupTable::changed().

00106 {
00107     return &_parents;
00108 }

void Attachment::addParent ( FieldContainerPtr  parent  )  [inherited]

Definition at line 110 of file OSGAttachment.cpp.

References osg::Attachment::_parents, and osg::MField< FieldTypeT, fieldNameSpace >::push_back().

00111 {
00112     _parents.push_back(parent);
00113 }

void Attachment::subParent ( FieldContainerPtr  parent  )  [inherited]

Int32 Attachment::findParent ( FieldContainerPtr  parent  )  [inherited]

Definition at line 125 of file OSGAttachment.cpp.

References osg::Attachment::_parents, osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::MField< FieldTypeT, fieldNameSpace >::end(), and osg::MField< FieldTypeT, fieldNameSpace >::find().

00126 {
00127     MFFieldContainerPtr::iterator parentIt = _parents.find(parent);
00128 
00129     if(parentIt != _parents.end())
00130     {
00131         return parentIt - _parents.begin();
00132     }
00133     else
00134     {
00135         return -1;
00136     }
00137 }

SFBool & Attachment::getInternal ( void   )  [inherited]

Definition at line 142 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00143 {
00144     return _sfInternal;
00145 }

const SFBool & Attachment::getInternal ( void   )  const [inherited]

Definition at line 147 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00148 {
00149     return _sfInternal;
00150 }

SFBool * Attachment::getSFInternal ( void   )  [inherited]

Definition at line 152 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal.

00153 {
00154     return &_sfInternal;
00155 }

void Attachment::setInternal ( bool  bVal  )  [inherited]

Definition at line 157 of file OSGAttachment.cpp.

References osg::Attachment::_sfInternal, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00158 {
00159     _sfInternal.setValue(bVal);
00160 }

UInt16 osg::FieldContainer::getClassGroupId ( void   )  [inline, static, inherited]

Definition at line 71 of file OSGFieldContainerImpl.inl.

References osg::FieldContainer::_type, and osg::FieldContainerType::getGroupId().

00072 {
00073     return _type.getGroupId();
00074 }

UInt32 osg::FieldContainer::getTypeId ( void   )  const [inline, inherited]

Definition at line 77 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getId(), and osg::FieldContainer::getType().

Referenced by osg::TextureChunk::changeFrom(), and changeFrom().

00078 {
00079     return getType().getId();
00080 }

UInt16 osg::FieldContainer::getGroupId ( void   )  const [inline, inherited]

const Char8 * osg::FieldContainer::getTypeName ( void   )  const [inline, inherited]

Definition at line 89 of file OSGFieldContainerImpl.inl.

References osg::TypeBase::getCName(), and osg::FieldContainer::getType().

00090 {
00091     return getType().getCName();
00092 }

Field * osg::FieldContainer::getField ( UInt32  fieldId  )  [inline, inherited]

Generic Field Access

Definition at line 95 of file OSGFieldContainerImpl.inl.

References osg::FieldDescription::getField(), osg::FieldContainerType::getFieldDescription(), and osg::FieldContainer::getType().

Referenced by osg::QFCItem::expand(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::QFieldViewBase::getFieldPtr(), osg::QFieldEditorBase::getFieldPtr(), osg::getParentsField(), and osg::QFCItem::setup().

00096 {
00097     const FieldDescription *desc = getType().getFieldDescription(fieldId);
00098 
00099     return desc ? desc->getField(*this) : NULL;
00100 }

Field * osg::FieldContainer::getField ( const Char8 fieldName  )  [inline, inherited]

Generic Field Access

Definition at line 103 of file OSGFieldContainerImpl.inl.

References osg::FieldContainerType::findFieldDescription(), osg::FieldDescription::getField(), and osg::FieldContainer::getType().

00104 {
00105     const FieldDescription *desc =getType().findFieldDescription(fieldName);
00106 
00107     return desc ? desc->getField(*this) : NULL;
00108 }

template<class ObjectPtrT>
void osg::FieldContainer::newPtr ( ObjectPtrT &  result,
const typename ObjectPtrT::StoredObjectType *  prototypeP 
) [inline, static, protected, inherited]

Definition at line 138 of file OSGFieldContainerImpl.inl.

References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().

Referenced by osg::XWindowBase::createEmpty(), osg::WIN32WindowBase::createEmpty(), osg::ViewportBase::createEmpty(), osg::VertexProgramChunkBase::createEmpty(), osg::TwoSidedLightingChunkBase::createEmpty(), osg::TransformChunkBase::createEmpty(), osg::TransformBase::createEmpty(), osg::TileCameraDecoratorBase::createEmpty(), osg::TextureTransformChunkBase::createEmpty(), osg::TextureGrabForegroundBase::createEmpty(), osg::TextureGrabBackgroundBase::createEmpty(), osg::TextureChunkBase::createEmpty(), osg::TextureBackgroundBase::createEmpty(), osg::TexGenChunkBase::createEmpty(), osg::SwitchMaterialBase::createEmpty(), osg::SwitchBase::createEmpty(), osg::SurfaceBase::createEmpty(), osg::StringAttributeMapBase::createEmpty(), osg::StereoBufferViewportBase::createEmpty(), osg::StencilChunkBase::createEmpty(), osg::StateSortingGroupBase::createEmpty(), osg::StateBase::createEmpty(), osg::SpotLightBase::createEmpty(), osg::SortFirstWindowBase::createEmpty(), osg::SolidBackgroundBase::createEmpty(), osg::SlicesBase::createEmpty(), osg::SkyBackgroundBase::createEmpty(), osg::SimpleTexturedMaterialBase::createEmpty(), osg::SimpleStatisticsForegroundBase::createEmpty(), osg::SimpleMaterialBase::createEmpty(), osg::SHLParameterChunkBase::createEmpty(), osg::SHLChunkBase::createEmpty(), osg::ShearedStereoCameraDecoratorBase::createEmpty(), osg::ShaderParameterVec4fBase::createEmpty(), osg::ShaderParameterVec3fBase::createEmpty(), osg::ShaderParameterVec2fBase::createEmpty(), osg::ShaderParameterStringBase::createEmpty(), osg::ShaderParameterRealBase::createEmpty(), osg::ShaderParameterMVec4fBase::createEmpty(), osg::ShaderParameterMVec3fBase::createEmpty(), osg::ShaderParameterMVec2fBase::createEmpty(), osg::ShaderParameterMRealBase::createEmpty(), osg::ShaderParameterMMatrixBase::createEmpty(), osg::ShaderParameterMIntBase::createEmpty(), osg::ShaderParameterMatrixBase::createEmpty(), osg::ShaderParameterIntBase::createEmpty(), osg::ShaderParameterBoolBase::createEmpty(), osg::ScreenGroupBase::createEmpty(), osg::SClipPlaneChunkBase::createEmpty(), osg::ResolutionDisplayFilterBase::createEmpty(), osg::RenderOptionsBase::createEmpty(), osg::RegisterCombinersChunkBase::createEmpty(), osg::QTWindowBase::createEmpty(), osg::ProxyGroupBase::createEmpty(), osg::ProjectionCameraDecoratorBase::createEmpty(), osg::PolygonForegroundBase::createEmpty(), osg::PolygonChunkBase::createEmpty(), osg::PolygonBackgroundBase::createEmpty(), osg::PointLightBase::createEmpty(), osg::PointChunkBase::createEmpty(), osg::PhongMaterialBase::createEmpty(), osg::PerspectiveCameraBase::createEmpty(), osg::PassiveWindowBase::createEmpty(), osg::PassiveViewportBase::createEmpty(), osg::PassiveBackgroundBase::createEmpty(), osg::ParticlesBase::createEmpty(), osg::OrthographicCameraBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiPassMaterialBase::createEmpty(), osg::MultiDisplayWindowBase::createEmpty(), osg::MatrixCameraDecoratorBase::createEmpty(), osg::MatrixCameraBase::createEmpty(), osg::MaterialPoolBase::createEmpty(), osg::MaterialGroupBase::createEmpty(), osg::MaterialChunkBase::createEmpty(), osg::LogicOpChunkBase::createEmpty(), osg::LineChunkBase::createEmpty(), osg::LightModelChunkBase::createEmpty(), osg::LightEnvBase::createEmpty(), osg::LightChunkBase::createEmpty(), osg::InverseTransformBase::createEmpty(), osg::InlineBase::createEmpty(), osg::ImageForegroundBase::createEmpty(), osg::ImageBase::createEmpty(), osg::ImageBackgroundBase::createEmpty(), osg::GroupBase::createEmpty(), osg::GraphicStatisticsForegroundBase::createEmpty(), osg::GradientBackgroundBase::createEmpty(), osg::GrabForegroundBase::createEmpty(), osg::GLUTWindowBase::createEmpty(), osg::GeometryBase::createEmpty(), osg::FresnelMaterialBase::createEmpty(), osg::FragmentProgramChunkBase::createEmpty(), osg::FileGrabForegroundBase::createEmpty(), osg::FCPtrAttributeMapBase::createEmpty(), osg::FBOViewportBase::createEmpty(), osg::FatBorderChunkBase::createEmpty(), osg::DVRVolumeTextureBase::createEmpty(), osg::DVRVolumeBase::createEmpty(), osg::DVRSimpleShaderBase::createEmpty(), osg::DVRSimpleLUTShaderBase::createEmpty(), osg::DVRMtexLUTShaderBase::createEmpty(), osg::DVRLookupTableBase::createEmpty(), osg::DVRIsoSurfaceBase::createEmpty(), osg::DVRIsoShaderBase::createEmpty(), osg::DVRGeometryBase::createEmpty(), osg::DVRClipObjectsBase::createEmpty(), osg::DVRClipGeometryBase::createEmpty(), osg::DVRAppearanceBase::createEmpty(), osg::DistortionDisplayFilterBase::createEmpty(), osg::DistanceLODBase::createEmpty(), osg::DisplayFilterForegroundBase::createEmpty(), osg::DisplayCalibrationBase::createEmpty(), osg::DirectionalLightBase::createEmpty(), osg::DepthClearBackgroundBase::createEmpty(), osg::DepthChunkBase::createEmpty(), osg::CubeTextureChunkBase::createEmpty(), osg::ComponentTransformBase::createEmpty(), osg::ColorMaskChunkBase::createEmpty(), osg::ColorDisplayFilterBase::createEmpty(), osg::ColorBufferViewportBase::createEmpty(), osg::ClusterWindowBase::createEmpty(), osg::ClipPlaneChunkBase::createEmpty(), osg::ClipPlaneBase::createEmpty(), osg::ChunkMaterialBase::createEmpty(), osg::BlendChunkBase::createEmpty(), osg::BillboardBase::createEmpty(), osg::XWindowBase::shallowCopy(), osg::WIN32WindowBase::shallowCopy(), osg::ViewportBase::shallowCopy(), osg::VertexProgramChunkBase::shallowCopy(), osg::TwoSidedLightingChunkBase::shallowCopy(), osg::TransformChunkBase::shallowCopy(), osg::TransformBase::shallowCopy(), osg::TileCameraDecoratorBase::shallowCopy(), osg::TextureTransformChunkBase::shallowCopy(), osg::TextureGrabForegroundBase::shallowCopy(), osg::TextureGrabBackgroundBase::shallowCopy(), osg::TextureChunkBase::shallowCopy(), osg::TextureBackgroundBase::shallowCopy(), osg::TexGenChunkBase::shallowCopy(), osg::SwitchMaterialBase::shallowCopy(), osg::SwitchBase::shallowCopy(), osg::SurfaceBase::shallowCopy(), osg::StringAttributeMapBase::shallowCopy(), osg::StereoBufferViewportBase::shallowCopy(), osg::StencilChunkBase::shallowCopy(), osg::StateSortingGroupBase::shallowCopy(), osg::StateBase::shallowCopy(), osg::SpotLightBase::shallowCopy(), osg::SortFirstWindowBase::shallowCopy(), osg::SolidBackgroundBase::shallowCopy(), osg::SlicesBase::shallowCopy(), osg::SkyBackgroundBase::shallowCopy(), osg::SimpleTexturedMaterialBase::shallowCopy(), osg::SimpleStatisticsForegroundBase::shallowCopy(), osg::SimpleMaterialBase::shallowCopy(), osg::SHLParameterChunkBase::shallowCopy(), osg::SHLChunkBase::shallowCopy(), osg::ShearedStereoCameraDecoratorBase::shallowCopy(), osg::ShaderParameterVec4fBase::shallowCopy(), osg::ShaderParameterVec3fBase::shallowCopy(), osg::ShaderParameterVec2fBase::shallowCopy(), osg::ShaderParameterStringBase::shallowCopy(), osg::ShaderParameterRealBase::shallowCopy(), osg::ShaderParameterMVec4fBase::shallowCopy(), osg::ShaderParameterMVec3fBase::shallowCopy(), osg::ShaderParameterMVec2fBase::shallowCopy(), osg::ShaderParameterMRealBase::shallowCopy(), osg::ShaderParameterMMatrixBase::shallowCopy(), osg::ShaderParameterMIntBase::shallowCopy(), osg::ShaderParameterMatrixBase::shallowCopy(), osg::ShaderParameterIntBase::shallowCopy(), osg::ShaderParameterBoolBase::shallowCopy(), osg::ScreenGroupBase::shallowCopy(), osg::SClipPlaneChunkBase::shallowCopy(), osg::ResolutionDisplayFilterBase::shallowCopy(), osg::RenderOptionsBase::shallowCopy(), osg::RegisterCombinersChunkBase::shallowCopy(), osg::QTWindowBase::shallowCopy(), osg::ProxyGroupBase::shallowCopy(), osg::ProjectionCameraDecoratorBase::shallowCopy(), osg::PolygonForegroundBase::shallowCopy(), osg::PolygonChunkBase::shallowCopy(), osg::PolygonBackgroundBase::shallowCopy(), osg::PointLightBase::shallowCopy(), osg::PointChunkBase::shallowCopy(), osg::PhongMaterialBase::shallowCopy(), osg::PerspectiveCameraBase::shallowCopy(), osg::PassiveWindowBase::shallowCopy(), osg::PassiveViewportBase::shallowCopy(), osg::PassiveBackgroundBase::shallowCopy(), osg::ParticlesBase::shallowCopy(), osg::OrthographicCameraBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiPassMaterialBase::shallowCopy(), osg::MultiDisplayWindowBase::shallowCopy(), osg::MatrixCameraDecoratorBase::shallowCopy(), osg::MatrixCameraBase::shallowCopy(), osg::MaterialPoolBase::shallowCopy(), osg::MaterialGroupBase::shallowCopy(), osg::MaterialChunkBase::shallowCopy(), osg::LogicOpChunkBase::shallowCopy(), osg::LineChunkBase::shallowCopy(), osg::LightModelChunkBase::shallowCopy(), osg::LightEnvBase::shallowCopy(), osg::LightChunkBase::shallowCopy(), osg::InverseTransformBase::shallowCopy(), osg::InlineBase::shallowCopy(), osg::ImageForegroundBase::shallowCopy(), osg::ImageBase::shallowCopy(), osg::ImageBackgroundBase::shallowCopy(), osg::GroupBase::shallowCopy(), osg::GraphicStatisticsForegroundBase::shallowCopy(), osg::GradientBackgroundBase::shallowCopy(), osg::GrabForegroundBase::shallowCopy(), osg::GLUTWindowBase::shallowCopy(), osg::GeometryBase::shallowCopy(), osg::FresnelMaterialBase::shallowCopy(), osg::FragmentProgramChunkBase::shallowCopy(), osg::FileGrabForegroundBase::shallowCopy(), osg::FCPtrAttributeMapBase::shallowCopy(), osg::FBOViewportBase::shallowCopy(), osg::FatBorderChunkBase::shallowCopy(), osg::DVRVolumeTextureBase::shallowCopy(), osg::DVRVolumeBase::shallowCopy(), osg::DVRSimpleShaderBase::shallowCopy(), osg::DVRSimpleLUTShaderBase::shallowCopy(), osg::DVRMtexLUTShaderBase::shallowCopy(), osg::DVRLookupTableBase::shallowCopy(), osg::DVRIsoSurfaceBase::shallowCopy(), osg::DVRIsoShaderBase::shallowCopy(), osg::DVRGeometryBase::shallowCopy(), osg::DVRClipObjectsBase::shallowCopy(), osg::DVRClipGeometryBase::shallowCopy(), osg::DVRAppearanceBase::shallowCopy(), osg::DistortionDisplayFilterBase::shallowCopy(), osg::DistanceLODBase::shallowCopy(), osg::DisplayFilterForegroundBase::shallowCopy(), osg::DisplayCalibrationBase::shallowCopy(), osg::DirectionalLightBase::shallowCopy(), osg::DepthClearBackgroundBase::shallowCopy(), osg::DepthChunkBase::shallowCopy(), osg::CubeTextureChunkBase::shallowCopy(), osg::ComponentTransformBase::shallowCopy(), osg::ColorMaskChunkBase::shallowCopy(), osg::ColorDisplayFilterBase::shallowCopy(), osg::ColorBufferViewportBase::shallowCopy(), osg::ClusterWindowBase::shallowCopy(), osg::ClipPlaneChunkBase::shallowCopy(), osg::ClipPlaneBase::shallowCopy(), osg::ChunkMaterialBase::shallowCopy(), osg::BlendChunkBase::shallowCopy(), and osg::BillboardBase::shallowCopy().

00141 {
00142     typedef typename ObjectPtrT::StoredObjectType ObjectType;
00143     
00144     UInt8 *pTmp;
00145     
00146     result._containerSize = sizeof(ObjectType);
00147     
00148     pTmp        = 
00149         static_cast<UInt8 *>(operator new(
00150             sizeof(Int32)      + // ReferenceCount
00151             sizeof(UInt32)     + // ContainerId
00152             sizeof(ObjectType) * ThreadManager::getNumAspects()));
00153     
00154     *(reinterpret_cast<Int32 *>(pTmp)) = 0;
00155     
00156     pTmp += sizeof(Int32);
00157     
00158     result._storeP = (pTmp + sizeof(UInt32));
00159 
00160 #ifdef OSG_DEBUG_FCPTR
00161     result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP);
00162 #endif
00163 
00164     *(reinterpret_cast<UInt32 *>(pTmp)) = 
00165         FieldContainerFactory::the()->registerFieldContainer(result);
00166     
00167     Thread::getCurrentChangeList()->addCreated(
00168         *(reinterpret_cast<UInt32 *>(pTmp)));
00169     
00170     pTmp += sizeof(UInt32);
00171     
00172     ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp);
00173 
00174     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00175     {
00176         pTmp = 
00177             reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP));
00178         
00179         pTmp += sizeof(ObjectType);
00180     }
00181     
00182     result->onCreate(prototypeP);
00183 
00184     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00185     {
00186         aObject[i].onCreateAspect(aObject, prototypeP);
00187     }
00188 
00189 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM)
00190 
00191     fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 
00192             Thread::getAspect(),
00193             result._storeP,
00194 //            ObjectType::getClassType().getCName(),
00195             ObjectType::getClassType().getId());
00196 #endif
00197 
00198 #ifdef OSG_DEBUG_TYPED_FCPTR
00199     result.updateTypedStore();
00200 #endif
00201 }

template<class ObjectPtrT>
void osg::FieldContainer::newPtr ( ObjectPtrT &  result  )  [inline, static, protected, inherited]

Definition at line 204 of file OSGFieldContainerImpl.inl.

References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().

00205 {
00206     typedef typename ObjectPtrT::StoredObjectType ObjectType;
00207     
00208     UInt8 *pTmp;
00209     
00210     result._containerSize = sizeof(ObjectType);
00211     
00212     pTmp        =             
00213         static_cast<UInt8 *>(operator new(
00214             sizeof(Int32)      + // ReferenceCount
00215             sizeof(UInt32)     + // ContainerId
00216             sizeof(ObjectType) * ThreadManager::getNumAspects()));
00217     
00218     *(reinterpret_cast<Int32 *>(pTmp)) = 0;
00219     
00220     pTmp  += sizeof(Int32);
00221     
00222     result._storeP = (pTmp + sizeof(UInt32));
00223     
00224 #ifdef OSG_DEBUG_FCPTR
00225     result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP);
00226 #endif
00227 
00228     *(reinterpret_cast<UInt32 *>(pTmp)) = 
00229         FieldContainerFactory::the()->registerFieldContainer(result);
00230     
00231     Thread::getCurrentChangeList()->addCreated(
00232         *(reinterpret_cast<UInt32 *>(pTmp)));
00233     
00234     pTmp += sizeof(UInt32);
00235     
00236     ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp);
00237 
00238     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00239     {
00240         pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType());
00241         
00242         pTmp += sizeof(ObjectType);
00243     }
00244     
00245     result->onCreate();
00246     
00247     for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++)
00248     {
00249         aObject[i].onCreateAspect(aObject);
00250     }
00251 
00252 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM)
00253     fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 
00254             Thread::getAspect(),
00255             result._storeP,
00256 //            ObjectType::getClassType().getCName(),
00257             ObjectType::getClassType().getId());
00258 #endif
00259     
00260 #ifdef OSG_DEBUG_TYPED_FCPTR
00261     result.updateTypedStore();
00262 #endif
00263 }

template<class FieldTypeT>
void osg::FieldContainer::beginEditX ( const BitVector whichField,
FieldTypeT &  field 
) [inline, protected, inherited]

Definition at line 285 of file OSGFieldContainerImpl.inl.

00286 {
00287 //    fieldR.beginEdit();
00288 }

template<class FieldTypeT>
void osg::FieldContainer::endEditX ( const BitVector whichField,
FieldTypeT &  field 
) [inline, protected, inherited]

Definition at line 291 of file OSGFieldContainerImpl.inl.

References osg::endEditCP().

00292 {
00293     FieldContainerPtr tmpPtr(this);
00294     endEditCP(tmpPtr, whichField);
00295 }

void osg::FieldContainer::onCreateAspect ( const FieldContainer aspect0,
const FieldContainer source = NULL 
) [inline, protected, inherited]

Definition at line 323 of file OSGFieldContainerImpl.inl.

00325 {
00326 }


Friends And Related Function Documentation

friend class FieldContainer [friend]

Reimplemented from osg::CubeTextureChunkBase.

Definition at line 159 of file OSGCubeTextureChunk.h.

friend class CubeTextureChunkBase [friend]

Definition at line 160 of file OSGCubeTextureChunk.h.


Member Data Documentation

Initial value:

 
    (Inherited::MTInfluenceMask) | 
    (static_cast<BitVector>(0x0) << Inherited::NextFieldId)

Reimplemented from osg::TextureChunkBase.

Definition at line 116 of file OSGCubeTextureChunkBase.h.

bool CubeTextureChunkBase::_sfIsReflectionMap [protected, inherited]

UInt32 TextureChunk::_extTex3D [static, protected, inherited]

UInt32 TextureChunk::_arbMultiTex [static, protected, inherited]

UInt32 TextureChunk::_nvPointSprite [static, protected, inherited]

UInt32 TextureChunk::_nvTextureShader [static, protected, inherited]

UInt32 TextureChunk::_nvTextureShader2 [static, protected, inherited]

UInt32 TextureChunk::_nvTextureShader3 [static, protected, inherited]

Definition at line 202 of file OSGTextureChunk.h.

Referenced by osg::TextureChunk::TextureChunk().

UInt32 TextureChunk::_sgisGenerateMipmap [static, protected, inherited]

UInt32 TextureChunk::_extTextureLodBias [static, protected, inherited]

UInt32 TextureChunk::_arbTextureCompression [static, protected, inherited]

UInt32 TextureChunk::_arbTextureRectangle [static, protected, inherited]

UInt32 TextureChunk::_arbTextureNonPowerOfTwo [static, protected, inherited]

UInt32 TextureChunk::_extTextureFilterAnisotropic [static, protected, inherited]

UInt32 TextureChunk::_funcTexImage3D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcTexSubImage3D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcActiveTexture = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_arbCubeTex [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexImage1D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexSubImage1D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexImage2D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexSubImage2D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexImage3D = Window::invalidFunctionID [static, protected, inherited]

UInt32 TextureChunk::_funcCompressedTexSubImage3D = Window::invalidFunctionID [static, protected, inherited]

StateChunkClass TextureChunk::_class [static, protected, inherited]

ImagePtr osg::TextureChunkBase::_sfImage [protected, inherited]

GLenum osg::TextureChunkBase::_sfInternalFormat [protected, inherited]

GLenum osg::TextureChunkBase::_sfExternalFormat [protected, inherited]

bool osg::TextureChunkBase::_sfScale [protected, inherited]

Specifies whether the image should be scaled to the next power of two, thus filling the whole texture coordinate range, or if it should be put in the lower left corner, leaving the rest of the texture undefined. This is mainly used for rapidly changing non power of two textures, to get around the scaling overhead. If set to false, NPOTMatrixScale can be used to use the texture matrix to correct the texture coordinates to show the used part of the texture.

Definition at line 545 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getScale(), osg::TextureChunkBase::getSFScale(), and osg::TextureChunkBase::setScale().

UInt32 osg::TextureChunkBase::_sfFrame [protected, inherited]

Select the frame of the image to be used. See osg::Image about details concerning multi-frame images. Hint! For fast update use GL_LINEAR or GL_NEAREST filters, as mipmap creation is slow right now.

Definition at line 546 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getFrame(), osg::TextureChunkBase::getSFFrame(), and osg::TextureChunkBase::setFrame().

GLenum osg::TextureChunkBase::_sfMinFilter [protected, inherited]

GLenum osg::TextureChunkBase::_sfMagFilter [protected, inherited]

GLenum osg::TextureChunkBase::_sfWrapS [protected, inherited]

GLenum osg::TextureChunkBase::_sfWrapT [protected, inherited]

GLenum osg::TextureChunkBase::_sfWrapR [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvMode [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvCombineRGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvCombineAlpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource0RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource1RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource2RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource0Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource1Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvSource2Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand0RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand1RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand2RGB [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand0Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand1Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfEnvOperand2Alpha [protected, inherited]

GLenum osg::TextureChunkBase::_sfGLId [protected, inherited]

bool osg::TextureChunkBase::_sfPointSprite [protected, inherited]

GLenum osg::TextureChunkBase::_sfShaderOperation [protected, inherited]

GLenum osg::TextureChunkBase::_sfShaderInput [protected, inherited]

GLenum osg::TextureChunkBase::_sfShaderRGBADotProduct [protected, inherited]

The CULL_MODES_NV value, coded into a single byte. The first 4 bits of the byte are used to indicate the wnated cull modes, a value of 0 signifies GL_LESS, a value of 1 GL_GEQUAL. Bit 0 (mask 1) is used for the S coordinate, bit 1 (mask 2) for T, bit 2 (mask 4) for R and bit 4 (mask 8) for Q.

Definition at line 580 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getSFShaderCullModes(), osg::TextureChunkBase::getShaderCullModes(), and osg::TextureChunkBase::setShaderCullModes().

Real32 osg::TextureChunkBase::_sfLodBias [protected, inherited]

GLenum osg::TextureChunkBase::_sfTarget [protected, inherited]

Texture target. Overwrite automatically determined texture target based on the parameters of the assigned image if set to anything else than GL_NONE. Used for nVidia's rectangle textures. Be careful when using it!

Definition at line 583 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getSFTarget(), osg::TextureChunkBase::getTarget(), and osg::TextureChunkBase::setTarget().

Left coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 584 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyLeft(), osg::TextureChunkBase::getSFDirtyLeft(), and osg::TextureChunkBase::setDirtyLeft().

Minimum X coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 585 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMinX(), osg::TextureChunkBase::getSFDirtyMinX(), and osg::TextureChunkBase::setDirtyMinX().

Maximum X coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 586 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMaxX(), osg::TextureChunkBase::getSFDirtyMaxX(), and osg::TextureChunkBase::setDirtyMaxX().

Minimum Y coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 587 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMinY(), osg::TextureChunkBase::getSFDirtyMinY(), and osg::TextureChunkBase::setDirtyMinY().

Maximum Y coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 588 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMaxY(), osg::TextureChunkBase::getSFDirtyMaxY(), and osg::TextureChunkBase::setDirtyMaxY().

Minimum Z coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 589 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMinZ(), osg::TextureChunkBase::getSFDirtyMinZ(), and osg::TextureChunkBase::setDirtyMinZ().

Maximum Z coordinate of the dirty rectangle to use for imageContentChanged(). This doesn't make sense to be stored in files, it does make sense on a cluster, though, that's why it's external.

Definition at line 590 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getDirtyMaxZ(), osg::TextureChunkBase::getSFDirtyMaxZ(), and osg::TextureChunkBase::setDirtyMaxZ().

Use the texture matrix to scale the texture coordinates for NPOT images. Only used if neither rectangular nor NPOT textures are supported. If set to false, the image is scaled to the next power of two before being used as a texture. For convenience xFlip/ yFlip can also be set. Note that this will interfere with other TextureTransform and TexGen chunks. Do not use it if you need to use those chunks!

Definition at line 594 of file OSGTextureChunkBase.h.

Referenced by osg::TextureChunkBase::copyFromBin(), osg::TextureChunkBase::copyToBin(), osg::TextureChunkBase::executeSyncImpl(), osg::TextureChunkBase::getBinSize(), osg::TextureChunkBase::getNPOTMatrixScale(), osg::TextureChunkBase::getSFNPOTMatrixScale(), and osg::TextureChunkBase::setNPOTMatrixScale().

bool osg::StateChunkBase::_sfIgnore [protected, inherited]

const BitVector Attachment::InternalFieldMask = (1 << Attachment::InternalFieldId) [static, inherited]

const BitVector Attachment::ParentsFieldMask = (1 << Attachment::ParentsFieldId) [static, inherited]

SFBool osg::Attachment::_sfInternal [protected, inherited]

const BitVector osg::FieldContainer::NextFieldMask [static, inherited]

Initial value:

 
                    (TypeTraits<BitVector>::One << NextFieldId)

Definition at line 75 of file OSGFieldContainerImpl.h.

const bool osg::FieldContainer::isNodeCore = false [static, inherited]

Reimplemented in osg::NodeCore.

Definition at line 181 of file OSGFieldContainerImpl.h.

UInt32 osg::FieldContainer::_shares [protected, inherited]

Definition at line 199 of file OSGFieldContainerImpl.h.


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

Generated on Mon Mar 17 12:11:15 2008 for OpenSG by  doxygen 1.5.5