#include <OSGShaderParameterChunkBase.h>
Inheritance diagram for osg::ShaderParameterChunkBase:

Chunk Class Access | |
| *UInt32 | getClassId (void) const |
| virtual const StateChunkClass * | getClass (void) 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) |
| virtual bool | isTransparent (void) const |
General Fieldcontainer Declaration | |
| virtual osg::FieldContainerPtr | shallowCopy (void) const |
| static AttachmentPtr | create (void) |
| static AttachmentPtr | createEmpty (void) |
Sync | |
| *void | executeSyncImpl (ShaderParameterChunkBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Public Types | |
| typedef ShaderParameterChunkPtr | Ptr |
| enum | { ParametersFieldId = Inherited::NextFieldId, NextFieldId = ParametersFieldId + 1 } |
Public Member Functions | |
FieldContainer Get | |
| *virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Binary Access | |
| *virtual UInt32 | getBinSize (const BitVector &whichField) |
| virtual void | copyToBin (BinaryDataHandler &pMem, const BitVector &whichField) |
| virtual void | copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField) |
Static Public Member Functions | |
Class Get | |
| *static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Static Public Attributes | |
| static const osg::BitVector | ParametersFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | InternalFieldMask = (1 << Attachment::InternalFieldId) |
| static const BitVector | ParentsFieldMask = (1 << Attachment::ParentsFieldId) |
| static const BitVector | NextFieldMask |
Protected Member Functions | |
Constructors | |
| * | ShaderParameterChunkBase (void) |
| ShaderParameterChunkBase (const ShaderParameterChunkBase &source) | |
Destructors | |
| *virtual | ~ShaderParameterChunkBase (void) |
Static Protected Member Functions | |
| static void | initMethod (void) |
Private Types | |
| typedef StateChunk | Inherited |
Private Member Functions | |
| void | operator= (const ShaderParameterChunkBase &source) |
Static Private Attributes | |
| static FieldDescription * | _desc [] |
| ShaderParameterChunk description. | |
| static FieldContainerType | _type |
Friends | |
| class | FieldContainer |
Definition at line 81 of file OSGShaderParameterChunkBase.h.
|
|
Reimplemented from osg::StateChunk. Reimplemented in osg::ShaderChunk, osg::ShaderChunkBase, osg::ShaderParameterChunk, osg::SHLChunk, osg::SHLChunkBase, osg::SHLParameterChunk, and osg::SHLParameterChunkBase. Definition at line 85 of file OSGShaderParameterChunkBase.h. |
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 90 of file OSGShaderParameterChunkBase.h. |
|
|
Reimplemented from osg::Attachment. Definition at line 92 of file OSGShaderParameterChunkBase.h. 00093 { 00094 ParametersFieldId = Inherited::NextFieldId, 00095 NextFieldId = ParametersFieldId + 1 00096 };
|
|
|
Definition at line 156 of file OSGShaderParameterChunkBase.cpp. 00156 : 00157 _mfParameters (), 00158 Inherited() 00159 { 00160 }
|
|
|
Definition at line 166 of file OSGShaderParameterChunkBase.cpp. 00166 : 00167 _mfParameters (source._mfParameters ), 00168 Inherited (source) 00169 { 00170 }
|
|
|
Definition at line 174 of file OSGShaderParameterChunkBase.cpp.
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 58 of file OSGShaderParameterChunkBase.inl. References _type. 00059 { 00060 return _type; 00061 }
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 65 of file OSGShaderParameterChunkBase.inl. References _type, and osg::TypeBase::getId(). 00066 { 00067 return _type.getId(); 00068 }
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 106 of file OSGShaderParameterChunkBase.cpp. References _type. 00107 { 00108 return _type; 00109 }
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 111 of file OSGShaderParameterChunkBase.cpp. References _type. 00112 { 00113 return _type; 00114 }
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 117 of file OSGShaderParameterChunkBase.cpp. 00118 { 00119 return sizeof(ShaderParameterChunk); 00120 }
|
|
|
Definition at line 75 of file OSGShaderParameterChunkBase.inl. References _mfParameters. 00076 { 00077 return &_mfParameters; 00078 }
|
|
|
Definition at line 84 of file OSGShaderParameterChunkBase.inl. References _mfParameters. Referenced by osg::SHLParameterChunk::operator==(), and osg::SHLChunk::operator==(). 00085 { 00086 return _mfParameters[index]; 00087 }
|
|
|
Definition at line 91 of file OSGShaderParameterChunkBase.inl. References _mfParameters. Referenced by osg::SHLChunk::checkOSGParameters(), osg::SHLChunk::handleGL(), osg::ShaderParameterChunk::onCreate(), osg::SHLParameterChunk::operator==(), osg::SHLChunk::operator==(), osg::SHLParameterChunk::updateParameters(), and osg::SHLChunk::updateProgram(). 00092 { 00093 return _mfParameters; 00094 }
|
|
|
Definition at line 98 of file OSGShaderParameterChunkBase.inl. References _mfParameters. 00099 { 00100 return _mfParameters; 00101 }
|
|
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 180 of file OSGShaderParameterChunkBase.cpp. References _mfParameters, osg::MField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::StateChunkBase::getBinSize(), osg::FieldBits::NoField, and ParametersFieldMask. Referenced by osg::SHLParameterChunkBase::getBinSize(), and osg::ShaderChunkBase::getBinSize(). 00181 { 00182 UInt32 returnValue = Inherited::getBinSize(whichField); 00183 00184 if(FieldBits::NoField != (ParametersFieldMask & whichField)) 00185 { 00186 returnValue += _mfParameters.getBinSize(); 00187 } 00188 00189 00190 return returnValue; 00191 }
|
|
||||||||||||
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 193 of file OSGShaderParameterChunkBase.cpp. References _mfParameters, osg::MField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::StateChunkBase::copyToBin(), osg::FieldBits::NoField, and ParametersFieldMask. Referenced by osg::SHLParameterChunkBase::copyToBin(), and osg::ShaderChunkBase::copyToBin(). 00195 { 00196 Inherited::copyToBin(pMem, whichField); 00197 00198 if(FieldBits::NoField != (ParametersFieldMask & whichField)) 00199 { 00200 _mfParameters.copyToBin(pMem); 00201 } 00202 00203 00204 }
|
|
||||||||||||
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 206 of file OSGShaderParameterChunkBase.cpp. References _mfParameters, osg::MField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::StateChunkBase::copyFromBin(), osg::FieldBits::NoField, and ParametersFieldMask. Referenced by osg::SHLParameterChunkBase::copyFromBin(), and osg::ShaderChunkBase::copyFromBin(). 00208 { 00209 Inherited::copyFromBin(pMem, whichField); 00210 00211 if(FieldBits::NoField != (ParametersFieldMask & whichField)) 00212 { 00213 _mfParameters.copyFromBin(pMem); 00214 } 00215 00216 00217 }
|
|
||||||||||||
|
Definition at line 220 of file OSGShaderParameterChunkBase.cpp. References _mfParameters, osg::StateChunkBase::executeSyncImpl(), osg::FieldBits::NoField, ParametersFieldMask, and osg::MField< FieldTypeT, fieldNameSpace >::syncWith(). Referenced by executeSync(), osg::SHLParameterChunkBase::executeSyncImpl(), and osg::ShaderChunkBase::executeSyncImpl(). 00222 { 00223 00224 Inherited::executeSyncImpl(pOther, whichField); 00225 00226 if(FieldBits::NoField != (ParametersFieldMask & whichField)) 00227 _mfParameters.syncWith(pOther->_mfParameters); 00228 00229 00230 }
|
|
||||||||||||
|
Reimplemented from osg::StateChunkBase. Reimplemented in osg::ShaderChunkBase, osg::SHLChunkBase, and osg::SHLParameterChunkBase. Definition at line 124 of file OSGShaderParameterChunkBase.cpp. References executeSyncImpl(). 00126 { 00127 this->executeSyncImpl((ShaderParameterChunkBase *) &other, whichField); 00128 }
|
|
|
|
|
|
Definition at line 48 of file OSGStateChunk.inl. References osg::StateChunk::getClass(), and osg::StateChunkClass::getId(). 00049 { 00050 return getClass()->getId(); 00051 }
|
|
|
|
Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::FragmentProgramChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, and osg::VertexProgramChunk. Definition at line 56 of file OSGStateChunk.inl. References osg::StateChunkClass::getId(), and osg::StateChunk::getStaticClass(). 00057 { 00058 return StateChunk::getStaticClass()->getId(); 00059 }
|
|
|
||||||||||||
|
||||||||||||
|
Reimplemented from osg::Attachment. Reimplemented in osg::FatBorderChunk, osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::FragmentProgramChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::VertexProgramChunk, osg::ShaderChunk, osg::ShaderParameterChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 229 of file OSGStateChunk.cpp. References SLOG. Referenced by osg::PolygonChunk::dump(). 00231 { 00232 SLOG << "Dump StateChunk NI" << std::endl; 00233 }
|
|
||||||||||||
|
Activate the chunk, i.e. set the OpenGl state covered by the chunk which is different from the default state to the given state. Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 242 of file OSGStateChunk.cpp. References FWARNING. Referenced by osg::StateChunk::changeFrom(). 00244 { 00245 FWARNING(("StateChunk::activate called!\n")); 00246 }
|
|
||||||||||||||||
|
Change from an old chunk of the same type to this chunk. Note that in general no type checking is done, make sure to use this on a legal combination of chunks! Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 253 of file OSGStateChunk.cpp. References osg::StateChunk::activate(), and osg::StateChunk::deactivate(). 00256 { 00257 old->deactivate(action, index); 00258 activate(action, index); 00259 }
|
|
||||||||||||
|
|
Check if the chunk is transparent, i.e. needs to be rendered after the opaque objects. Reimplemented in osg::BlendChunk, osg::MaterialChunk, osg::PointChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, and osg::TextureChunk. Definition at line 275 of file OSGStateChunk.cpp.
|
|
|
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0. Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 293 of file OSGStateChunk.cpp.
|
|
|
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0. Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 298 of file OSGStateChunk.cpp.
|
|
|
Compare two chunks. In most cases not implemented yet, will return false. Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 306 of file OSGStateChunk.cpp.
|
|
|
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0. Reimplemented in osg::BlendChunk, osg::ClipPlaneChunk, osg::ColorMaskChunk, osg::CubeTextureChunk, osg::DepthChunk, osg::LightChunk, osg::LineChunk, osg::MaterialChunk, osg::PointChunk, osg::PolygonChunk, osg::ProgramChunk, osg::RegisterCombinersChunk, osg::StencilChunk, osg::TexGenChunk, osg::TextureChunk, osg::TextureTransformChunk, osg::TransformChunk, osg::TwoSidedLightingChunk, osg::SHLChunk, and osg::SHLParameterChunk. Definition at line 311 of file OSGStateChunk.cpp.
|
|
|
||||||||||||
|
||||||||||||
|
Definition at line 306 of file |