#include <OSGDVRSimpleLUTShaderBase.h>

Public Types | |
| enum | { LutModeFieldId = Inherited::NextFieldId, ActiveLutModeFieldId = LutModeFieldId + 1, NextFieldId = ActiveLutModeFieldId + 1 } |
| typedef DVRSimpleLUTShaderPtr | Ptr |
| enum | { NextFieldId = 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) |
Copy | |
| virtual FieldContainerPtr | shallowCopy (void) const |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 from) |
| react to field changes | |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
| output the instance for debug purposes | |
Volume Rendering | |
| virtual bool | initialize (DVRVolume *volume, DrawActionBase *action) |
| Callback to set up shader - register textures here. | |
| virtual void | activate (DVRVolume *volume, DrawActionBase *action) |
| Callback before any slice is rendered - setup per volume. | |
| virtual void | brickActivate (DVRVolume *volume, DrawActionBase *action, Brick *brick) |
| Callback before any brick - state setup per brick. | |
| virtual void | deactivate (DVRVolume *volume, DrawActionBase *action) |
| Callback after all rendering of the volume is done. | |
| virtual void | cleanup (DVRVolume *volume, DrawActionBase *action) |
| Callback to clean up shader resources. | |
Volume Rendering | |
| virtual void | renderSlice (DVRVolume *volume, DrawActionBase *action, Real32 *data, UInt32 vertices, UInt32 values) |
| virtual void | renderSlice (DVRVolume *volume, DrawActionBase *action, DVRRenderSlice *clippedSlice) |
| virtual bool | hasRenderCallback (void) |
| virtual bool | useMTSlabs (void) |
Get Instance Type Information | |
| UInt32 | getTypeId (void) const |
| UInt16 | getGroupId (void) const |
| const Char8 * | getTypeName (void) const |
| Field * | getField (UInt32 fieldId) |
| Field * | getField (const Char8 *fieldName) |
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 | |
Construction | |
| static DVRSimpleLUTShaderPtr | create (void) |
| create a new instance of the class | |
| static DVRSimpleLUTShaderPtr | createEmpty (void) |
| create an empty new instance of the class, do not copy the prototype | |
Get Class Type Information | |
| static UInt16 | getClassGroupId (void) |
Static Public Attributes | |
| static const osg::BitVector | LutModeFieldMask |
| static const osg::BitVector | ActiveLutModeFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const BitVector | NextFieldMask |
CoredNodePtr helper | |
| static const bool | isNodeCore = false |
Protected Member Functions | |
Constructors | |
| DVRSimpleLUTShaderBase (void) | |
| DVRSimpleLUTShaderBase (const DVRSimpleLUTShaderBase &source) | |
Destructors | |
| virtual | ~DVRSimpleLUTShaderBase (void) |
Field Get | |
| SFInt8 * | getSFLutMode (void) |
| Get the DVRSimpleLUTShader::_sfLutMode field. | |
| SFInt8 * | getSFActiveLutMode (void) |
| Get the DVRSimpleLUTShader::_sfActiveLutMode field. | |
| Int8 & | getLutMode (void) |
| Get the value of the DVRSimpleLUTShader::_sfLutMode field. | |
| const Int8 & | getLutMode (void) const |
| Get the value of the DVRSimpleLUTShader::_sfLutMode field. | |
| Int8 & | getActiveLutMode (void) |
| Get the value of the DVRSimpleLUTShader::_sfActiveLutMode field. | |
| const Int8 & | getActiveLutMode (void) const |
| Get the value of the DVRSimpleLUTShader::_sfActiveLutMode field. | |
Field Set | |
| void | setLutMode (const Int8 &value) |
| Set the value of the DVRSimpleLUTShader::_sfLutMode field. | |
| void | setActiveLutMode (const Int8 &value) |
| Set the value of the DVRSimpleLUTShader::_sfActiveLutMode field. | |
Sync | |
| void | executeSyncImpl (DVRSimpleLUTShaderBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (DVRSimpleShaderBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (DVRShaderBase *pOther, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (FieldContainer *pOther, const BitVector &whichField) |
MT Edit | |
| template<class FieldTypeT> | |
| void | beginEditX (const BitVector &whichField, FieldTypeT &field) |
| template<class FieldTypeT> | |
| void | endEditX (const BitVector &whichField, FieldTypeT &field) |
MT Construction | |
| void | onCreate (const FieldContainer *source=NULL) |
| void | onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL) |
MT Destruction | |
| virtual void | onDestroy (void) |
Static Protected Member Functions | |
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 | |
| Int32 | m_nTextureId |
Fields | |
| SFInt8 | _sfLutMode |
| SFInt8 | _sfActiveLutMode |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef DVRSimpleShader | Inherited |
Private Member Functions | |
| void | operator= (const DVRSimpleLUTShaderBase &source) |
Static Private Attributes | |
| static FieldDescription * | _desc [] |
| DVRSimpleLUTShader description. | |
| static FieldContainerType | _type |
Friends | |
| class | FieldContainer |
Definition at line 82 of file OSGDVRSimpleLUTShaderBase.h.
typedef DVRSimpleShader osg::DVRSimpleLUTShaderBase::Inherited [private] |
Reimplemented from osg::DVRSimpleShader.
Reimplemented in osg::DVRMtexLUTShader, osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShader.
Definition at line 86 of file OSGDVRSimpleLUTShaderBase.h.
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 91 of file OSGDVRSimpleLUTShaderBase.h.
| anonymous enum |
Definition at line 93 of file OSGDVRSimpleLUTShaderBase.h.
00094 { 00095 LutModeFieldId = Inherited::NextFieldId, 00096 ActiveLutModeFieldId = LutModeFieldId + 1, 00097 NextFieldId = ActiveLutModeFieldId + 1 00098 };
anonymous enum [inherited] |
| DVRSimpleLUTShaderBase::DVRSimpleLUTShaderBase | ( | void | ) | [protected] |
Definition at line 175 of file OSGDVRSimpleLUTShaderBase.cpp.
00175 : 00176 _sfLutMode (Int8(0)), 00177 _sfActiveLutMode (), 00178 Inherited() 00179 { 00180 }
| DVRSimpleLUTShaderBase::DVRSimpleLUTShaderBase | ( | const DVRSimpleLUTShaderBase & | source | ) | [protected] |
Definition at line 186 of file OSGDVRSimpleLUTShaderBase.cpp.
00186 : 00187 _sfLutMode (source._sfLutMode ), 00188 _sfActiveLutMode (source._sfActiveLutMode ), 00189 Inherited (source) 00190 { 00191 }
| DVRSimpleLUTShaderBase::~DVRSimpleLUTShaderBase | ( | void | ) | [protected, virtual] |
| osg::FieldContainerType & osg::DVRSimpleLUTShaderBase::getClassType | ( | void | ) | [inline, static] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 58 of file OSGDVRSimpleLUTShaderBase.inl.
References _type.
Referenced by create().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::DVRSimpleLUTShaderBase::getClassTypeId | ( | void | ) | [inline, static] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 65 of file OSGDVRSimpleLUTShaderBase.inl.
References _type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & DVRSimpleLUTShaderBase::getType | ( | void | ) | [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 117 of file OSGDVRSimpleLUTShaderBase.cpp.
References _type.
00118 { 00119 return _type; 00120 }
| const FieldContainerType & DVRSimpleLUTShaderBase::getType | ( | void | ) | const [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 122 of file OSGDVRSimpleLUTShaderBase.cpp.
References _type.
00123 { 00124 return _type; 00125 }
| UInt32 DVRSimpleLUTShaderBase::getContainerSize | ( | void | ) | const [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 137 of file OSGDVRSimpleLUTShaderBase.cpp.
00138 { 00139 return sizeof(DVRSimpleLUTShader); 00140 }
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 201 of file OSGDVRSimpleLUTShaderBase.cpp.
References _sfActiveLutMode, _sfLutMode, ActiveLutModeFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::DVRSimpleShaderBase::getBinSize(), LutModeFieldMask, and osg::FieldBits::NoField.
Referenced by osg::DVRMtexLUTShaderBase::getBinSize().
00202 { 00203 UInt32 returnValue = Inherited::getBinSize(whichField); 00204 00205 if(FieldBits::NoField != (LutModeFieldMask & whichField)) 00206 { 00207 returnValue += _sfLutMode.getBinSize(); 00208 } 00209 00210 if(FieldBits::NoField != (ActiveLutModeFieldMask & whichField)) 00211 { 00212 returnValue += _sfActiveLutMode.getBinSize(); 00213 } 00214 00215 00216 return returnValue; 00217 }
| void DVRSimpleLUTShaderBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 219 of file OSGDVRSimpleLUTShaderBase.cpp.
References _sfActiveLutMode, _sfLutMode, ActiveLutModeFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::DVRSimpleShaderBase::copyToBin(), LutModeFieldMask, and osg::FieldBits::NoField.
Referenced by osg::DVRMtexLUTShaderBase::copyToBin().
00221 { 00222 Inherited::copyToBin(pMem, whichField); 00223 00224 if(FieldBits::NoField != (LutModeFieldMask & whichField)) 00225 { 00226 _sfLutMode.copyToBin(pMem); 00227 } 00228 00229 if(FieldBits::NoField != (ActiveLutModeFieldMask & whichField)) 00230 { 00231 _sfActiveLutMode.copyToBin(pMem); 00232 } 00233 00234 00235 }
| void DVRSimpleLUTShaderBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 237 of file OSGDVRSimpleLUTShaderBase.cpp.
References _sfActiveLutMode, _sfLutMode, ActiveLutModeFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::DVRSimpleShaderBase::copyFromBin(), LutModeFieldMask, and osg::FieldBits::NoField.
Referenced by osg::DVRMtexLUTShaderBase::copyFromBin().
00239 { 00240 Inherited::copyFromBin(pMem, whichField); 00241 00242 if(FieldBits::NoField != (LutModeFieldMask & whichField)) 00243 { 00244 _sfLutMode.copyFromBin(pMem); 00245 } 00246 00247 if(FieldBits::NoField != (ActiveLutModeFieldMask & whichField)) 00248 { 00249 _sfActiveLutMode.copyFromBin(pMem); 00250 } 00251 00252 00253 }
| DVRSimpleLUTShaderPtr osg::DVRSimpleLUTShaderBase::create | ( | void | ) | [inline, static] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 72 of file OSGDVRSimpleLUTShaderBase.inl.
References getClassType(), osg::NullFC, and shallowCopy().
00073 { 00074 DVRSimpleLUTShaderPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = DVRSimpleLUTShaderPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| DVRSimpleLUTShaderPtr osg::DVRSimpleLUTShaderBase::createEmpty | ( | void | ) | [inline, static] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 87 of file OSGDVRSimpleLUTShaderBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 DVRSimpleLUTShaderPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr DVRSimpleLUTShaderBase::shallowCopy | ( | void | ) | const [virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 128 of file OSGDVRSimpleLUTShaderBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by create().
00129 { 00130 DVRSimpleLUTShaderPtr returnValue; 00131 00132 newPtr(returnValue, dynamic_cast<const DVRSimpleLUTShader *>(this)); 00133 00134 return returnValue; 00135 }
| SFInt8 * osg::DVRSimpleLUTShaderBase::getSFLutMode | ( | void | ) | [inline, protected] |
Definition at line 101 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfLutMode.
00102 { 00103 return &_sfLutMode; 00104 }
| SFInt8 * osg::DVRSimpleLUTShaderBase::getSFActiveLutMode | ( | void | ) | [inline, protected] |
Definition at line 108 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfActiveLutMode.
00109 { 00110 return &_sfActiveLutMode; 00111 }
| Int8 & osg::DVRSimpleLUTShaderBase::getLutMode | ( | void | ) | [inline, protected] |
Definition at line 116 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::DVRSimpleLUTShader::initialize(), and osg::DVRMtexLUTShader::initialize().
00117 { 00118 return _sfLutMode.getValue(); 00119 }
| const Int8 & osg::DVRSimpleLUTShaderBase::getLutMode | ( | void | ) | const [inline, protected] |
Definition at line 123 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00124 { 00125 return _sfLutMode.getValue(); 00126 }
| Int8 & osg::DVRSimpleLUTShaderBase::getActiveLutMode | ( | void | ) | [inline, protected] |
Definition at line 137 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfActiveLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::DVRSimpleLUTShader::activate().
00138 { 00139 return _sfActiveLutMode.getValue(); 00140 }
| const Int8 & osg::DVRSimpleLUTShaderBase::getActiveLutMode | ( | void | ) | const [inline, protected] |
Definition at line 144 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfActiveLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00145 { 00146 return _sfActiveLutMode.getValue(); 00147 }
| void osg::DVRSimpleLUTShaderBase::setLutMode | ( | const Int8 & | value | ) | [inline, protected] |
Definition at line 130 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00131 { 00132 _sfLutMode.setValue(value); 00133 }
| void osg::DVRSimpleLUTShaderBase::setActiveLutMode | ( | const Int8 & | value | ) | [inline, protected] |
Definition at line 151 of file OSGDVRSimpleLUTShaderBase.inl.
References _sfActiveLutMode, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by osg::DVRSimpleLUTShader::changed(), osg::DVRSimpleLUTShader::initialize(), and osg::DVRMtexLUTShader::initialize().
00152 { 00153 _sfActiveLutMode.setValue(value); 00154 }
| void DVRSimpleLUTShaderBase::executeSyncImpl | ( | DVRSimpleLUTShaderBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected] |
Definition at line 256 of file OSGDVRSimpleLUTShaderBase.cpp.
References _sfActiveLutMode, _sfLutMode, ActiveLutModeFieldMask, osg::DVRSimpleShaderBase::executeSyncImpl(), LutModeFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by executeSync(), and osg::DVRMtexLUTShaderBase::executeSyncImpl().
00258 { 00259 00260 Inherited::executeSyncImpl(pOther, whichField); 00261 00262 if(FieldBits::NoField != (LutModeFieldMask & whichField)) 00263 _sfLutMode.syncWith(pOther->_sfLutMode); 00264 00265 if(FieldBits::NoField != (ActiveLutModeFieldMask & whichField)) 00266 _sfActiveLutMode.syncWith(pOther->_sfActiveLutMode); 00267 00268 00269 }
| void DVRSimpleLUTShaderBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 144 of file OSGDVRSimpleLUTShaderBase.cpp.
References executeSyncImpl().
00146 { 00147 this->executeSyncImpl((DVRSimpleLUTShaderBase *) &other, whichField); 00148 }
| void osg::DVRSimpleLUTShaderBase::operator= | ( | const DVRSimpleLUTShaderBase & | source | ) | [private] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 89 of file OSGDVRSimpleShader.cpp.
References osg::DVRShader::changed().
Referenced by osg::DVRSimpleLUTShader::changed().
00090 { 00091 Inherited::changed(whichField, origin); 00092 }
| void DVRSimpleShader::dump | ( | UInt32 | uiIndent = 0, |
|
| const BitVector | bvFlags = 0 | |||
| ) | const [virtual, inherited] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 95 of file OSGDVRSimpleShader.cpp.
References SLOG.
00097 { 00098 SLOG << "Dump DVRSimpleShader NI" << std::endl; 00099 }
| bool DVRSimpleShader::initialize | ( | DVRVolume * | volume, | |
| DrawActionBase * | action | |||
| ) | [virtual, inherited] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 103 of file OSGDVRSimpleShader.cpp.
References DVRVOLUME_PARAMETER, FDEBUG, FNOTICE, FWARNING, osg::DVRVolume::getTextureManager(), GLenum, osg::DVRSimpleShader::m_nTextureId, osg::Image::OSG_FLOAT16_IMAGEDATA, osg::Image::OSG_FLOAT32_IMAGEDATA, osg::Image::OSG_L_PF, osg::Image::OSG_LA_PF, osg::Image::OSG_RGB_DXT1, osg::Image::OSG_RGB_PF, osg::Image::OSG_RGBA_DXT1, osg::Image::OSG_RGBA_DXT3, osg::Image::OSG_RGBA_DXT5, osg::Image::OSG_RGBA_PF, osg::Image::OSG_UINT16_IMAGEDATA, osg::Image::OSG_UINT32_IMAGEDATA, osg::Image::OSG_UINT8_IMAGEDATA, osg::TextureManager::registerTexture(), and SWARNING.
00105 { 00106 FDEBUG(("DVRSimpleShader::initialize\n")); 00107 00108 m_nTextureId = -1; 00109 00110 DVRVolumeTexturePtr vol = DVRVOLUME_PARAMETER(volume, DVRVolumeTexture); 00111 00112 ImagePtr img = vol->getImage(); 00113 00114 // Map the size to an index 00115 00116 static Int16 types[] = { Image::OSG_UINT8_IMAGEDATA, 00117 Image::OSG_UINT16_IMAGEDATA, 00118 Image::OSG_UINT32_IMAGEDATA, 00119 Image::OSG_FLOAT16_IMAGEDATA, 00120 Image::OSG_FLOAT32_IMAGEDATA, 00121 -1 }; 00122 00123 UInt16 type = 0; 00124 while(types[type] != -1 && types[type] != img->getDataType()) type++; 00125 00126 if(!types[type]) 00127 { 00128 FWARNING(("DVRSimpleShader::initialize: Image data type %d " 00129 "unknown!\n", img->getDataType())); 00130 type = 0; 00131 } 00132 00133 if(type > 2) // Ignore float types for now 00134 { 00135 FWARNING(("DVRSimpleShader::initialize: Can't do float image types," 00136 " treating as int.\n")); 00137 type = 0; 00138 } 00139 00140 00141 // Map the pixel format to an index 00142 00143 static Int16 formats[] = { Image::OSG_L_PF, 00144 Image::OSG_LA_PF, 00145 Image::OSG_RGBA_DXT1, 00146 Image::OSG_RGBA_DXT3, 00147 Image::OSG_RGBA_DXT5, 00148 Image::OSG_RGBA_PF, 00149 Image::OSG_RGB_DXT1, 00150 Image::OSG_RGB_PF, 00151 -1 }; 00152 00153 UInt16 format = 0; 00154 while(formats[format] != -1 && 00155 formats[format] != img->getPixelFormat()) format++; 00156 00157 if(!formats[format]) 00158 { 00159 FWARNING(("DVRSimpleShader::initialize: Image pixel format %d " 00160 "unknown!\n", img->getPixelFormat())); 00161 format = 0; 00162 } 00163 00164 if(type > 5) // RGB doesn't have alpha... 00165 { 00166 FNOTICE(("DVRSimpleShader::initialize: Image pixel format doesn't " 00167 "have alpha! Volume will not be transparent!\n")); 00168 } 00169 00170 // Now get the best internal format for the image 00171 00172 static GLenum intfs[8][3] = { 00173 { GL_INTENSITY, GL_INTENSITY16, GL_INTENSITY16 }, 00174 { GL_LUMINANCE_ALPHA, GL_LUMINANCE16_ALPHA16, GL_LUMINANCE16_ALPHA16 }, 00175 { GL_RGBA, GL_RGBA, GL_RGBA }, 00176 { GL_RGBA, GL_RGBA, GL_RGBA }, 00177 { GL_RGBA, GL_RGBA, GL_RGBA }, 00178 { GL_RGBA, GL_RGBA16, GL_RGBA16 }, 00179 { GL_RGB, GL_RGB, GL_RGB }, 00180 { GL_RGB, GL_RGB16, GL_RGB16 } 00181 }; 00182 00183 00184 m_nTextureId = volume->getTextureManager().registerTexture( 00185 vol->getImage(), // image 00186 intfs[format][type], // internalFormat 00187 GL_NONE, // externalFormat 00188 1, // doBricking 00189 0, // textureStage0 00190 -1); // textureStage1 00191 00192 if(m_nTextureId == -1) 00193 { 00194 SWARNING << "Error registering textures ..." << std::endl; 00195 return false; 00196 } 00197 00198 return true; 00199 }
| void DVRSimpleShader::activate | ( | DVRVolume * | volume, | |
| DrawActionBase * | action | |||
| ) | [virtual, inherited] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 203 of file OSGDVRSimpleShader.cpp.
References osg::DVRVolumeBase::getDoTextures().
Referenced by osg::DVRSimpleLUTShader::activate().
00204 { 00205 //FDEBUG << "DVRSimpleShader::activate\n")); 00206 00207 glPushAttrib(GL_ENABLE_BIT | 00208 GL_COLOR_BUFFER_BIT | 00209 GL_STENCIL_BUFFER_BIT | 00210 GL_DEPTH_BUFFER_BIT | 00211 GL_POLYGON_BIT | 00212 GL_TEXTURE_BIT); 00213 00214 glDisable(GL_DITHER); 00215 glDisable(GL_LIGHTING); 00216 00217 glColor4f(1.0,1.0,1.0,1.0); 00218 00219 if(volume->getDoTextures()) 00220 { 00221 // glDisable(GL_TEXTURE_2D); 00222 // glEnable(GL_TEXTURE_3D_EXT); 00223 glEnable(GL_BLEND); 00224 glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); 00225 00226 glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); 00227 } 00228 }
| void DVRSimpleShader::brickActivate | ( | DVRVolume * | volume, | |
| DrawActionBase * | action, | |||
| Brick * | brick | |||
| ) | [virtual, inherited] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRSimpleLUTShader.
Definition at line 231 of file OSGDVRSimpleShader.cpp.
Referenced by osg::DVRSimpleLUTShader::brickActivate().
| void DVRSimpleShader::deactivate | ( | DVRVolume * | volume, | |
| DrawActionBase * | action | |||
| ) | [virtual, inherited] |
Reimplemented from osg::DVRShader.
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 239 of file OSGDVRSimpleShader.cpp.
References FDEBUG.
Referenced by osg::DVRSimpleLUTShader::deactivate().
00241 { 00242 FDEBUG(("DVRSimpleShader::deactivate\n")); 00243 00244 glPopAttrib(); 00245 }
| void DVRSimpleShader::cleanup | ( | DVRVolume * | volume, | |
| DrawActionBase * | action | |||
| ) | [virtual, inherited] |
Reimplemented in osg::DVRMtexLUTShader, and osg::DVRSimpleLUTShader.
Definition at line 248 of file OSGDVRSimpleShader.cpp.
References osg::DVRVolume::getTextureManager(), osg::DVRSimpleShader::m_nTextureId, and osg::TextureManager::unregisterTexture().
00249 { 00250 if (volume != NULL) 00251 { 00252 if (m_nTextureId != -1) 00253 volume->getTextureManager().unregisterTexture(m_nTextureId); 00254 } 00255 }
| void DVRSimpleShaderBase::executeSyncImpl | ( | DVRSimpleShaderBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 191 of file OSGDVRSimpleShaderBase.cpp.
References osg::DVRShaderBase::executeSyncImpl().
Referenced by osg::DVRSimpleShaderBase::executeSync(), and executeSyncImpl().
00193 { 00194 00195 Inherited::executeSyncImpl(pOther, whichField); 00196 00197 00198 }
| void DVRShaderBase::executeSyncImpl | ( | DVRShaderBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 182 of file OSGDVRShaderBase.cpp.
References osg::FieldContainer::executeSyncImpl().
Referenced by osg::DVRShaderBase::executeSync(), osg::DVRSimpleShaderBase::executeSyncImpl(), and osg::DVRIsoShaderBase::executeSyncImpl().
00184 { 00185 00186 Inherited::executeSyncImpl(pOther, whichField); 00187 00188 00189 }
| void osg::FieldContainer::executeSyncImpl | ( | FieldContainer * | pOther, | |
| const BitVector & | whichField | |||
| ) | [inline, protected, inherited] |
Definition at line 333 of file OSGFieldContainerImpl.inl.
Referenced by osg::StateBase::executeSyncImpl(), osg::DVRShaderBase::executeSyncImpl(), osg::DVRClipGeometryBase::executeSyncImpl(), osg::AttachmentContainer::executeSyncImpl(), and osg::Attachment::executeSyncImpl().
| void DVRShader::renderSlice | ( | DVRVolume * | volume, | |
| DrawActionBase * | action, | |||
| Real32 * | data, | |||
| UInt32 | vertices, | |||
| UInt32 | values | |||
| ) | [virtual, inherited] |
Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.
Definition at line 85 of file OSGDVRShader.cpp.
References SLOG.
00090 { 00091 SLOG << "DVRShader::renderSlice - NI" << std::endl; 00092 }
| void DVRShader::renderSlice | ( | DVRVolume * | volume, | |
| DrawActionBase * | action, | |||
| DVRRenderSlice * | clippedSlice | |||
| ) | [virtual, inherited] |
Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.
Definition at line 94 of file OSGDVRShader.cpp.
References SLOG.
00097 { 00098 SLOG << "DVRShader::renderSlice - NI" << std::endl; 00099 }
| bool DVRShader::hasRenderCallback | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.
Definition at line 101 of file OSGDVRShader.cpp.
| bool DVRShader::useMTSlabs | ( | void | ) | [virtual, inherited] |
Reimplemented in osg::DVRIsoShader, and osg::DVRMtexLUTShader.
Definition at line 106 of file OSGDVRShader.cpp.
| 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 osg::CubeTextureChunk::changeFrom().
00078 { 00079 return getType().getId(); 00080 }
| UInt16 osg::FieldContainer::getGroupId | ( | void | ) | const [inline, inherited] |
Definition at line 83 of file OSGFieldContainerImpl.inl.
References osg::FieldContainerType::getGroupId(), and osg::FieldContainer::getType().
Referenced by osg::fcptrAttributeMap(), osg::Image::setAttachmentField(), and osg::stringAttributeMap().
00084 { 00085 return getType().getGroupId(); 00086 }
| 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 }
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 }
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 }
| 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(), 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(), 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 }
| 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 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
| 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::onCreate | ( | const FieldContainer * | source = NULL |
) | [inline, protected, inherited] |
Definition at line 318 of file OSGFieldContainerImpl.inl.
Referenced by osg::ShaderParameterChunk::onCreate().
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
| void FieldContainer::onDestroy | ( | void | ) | [protected, virtual, inherited] |
Reimplemented in osg::NodeCore, osg::Attachment, osg::Geometry, osg::Surface, osg::MaterialPool, osg::CubeTextureChunk, osg::TextureChunk, osg::FBOViewport, osg::Window, osg::ShaderParameterChunk, and osg::SHLChunk.
Definition at line 98 of file OSGFieldContainer.cpp.
friend class FieldContainer [friend] |
Reimplemented from osg::DVRSimpleShader.
Reimplemented in osg::DVRMtexLUTShader, osg::DVRMtexLUTShaderBase, and osg::DVRSimpleLUTShader.
Definition at line 238 of file OSGDVRSimpleLUTShaderBase.h.
const osg::BitVector DVRSimpleLUTShaderBase::LutModeFieldMask [static] |
Initial value:
(TypeTraits<BitVector>::One << DVRSimpleLUTShaderBase::LutModeFieldId)
Definition at line 100 of file OSGDVRSimpleLUTShaderBase.h.
Referenced by osg::DVRSimpleLUTShader::changed(), copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().
const osg::BitVector DVRSimpleLUTShaderBase::ActiveLutModeFieldMask [static] |
Initial value:
(TypeTraits<BitVector>::One << DVRSimpleLUTShaderBase::ActiveLutModeFieldId)
Definition at line 101 of file OSGDVRSimpleLUTShaderBase.h.
Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), and getBinSize().
const osg::BitVector DVRSimpleLUTShaderBase::MTInfluenceMask [static] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 104 of file OSGDVRSimpleLUTShaderBase.h.
Int8 DVRSimpleLUTShaderBase::_sfLutMode [protected] |
Debug field to manually select a harware method
Definition at line 164 of file OSGDVRSimpleLUTShaderBase.h.
Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getBinSize(), getLutMode(), getSFLutMode(), and setLutMode().
Int8 DVRSimpleLUTShaderBase::_sfActiveLutMode [protected] |
READ ONLY - The currently active hardware method
Definition at line 165 of file OSGDVRSimpleLUTShaderBase.h.
Referenced by copyFromBin(), copyToBin(), executeSyncImpl(), getActiveLutMode(), getBinSize(), getSFActiveLutMode(), and setActiveLutMode().
FieldDescription * DVRSimpleLUTShaderBase::_desc [static, private] |
Initial value:
{
new FieldDescription(SFInt8::getClassType(),
"lutMode",
LutModeFieldId, LutModeFieldMask,
true,
(FieldAccessMethod) &DVRSimpleLUTShaderBase::getSFLutMode),
new FieldDescription(SFInt8::getClassType(),
"activeLutMode",
ActiveLutModeFieldId, ActiveLutModeFieldMask,
true,
(FieldAccessMethod) &DVRSimpleLUTShaderBase::getSFActiveLutMode)
}
Definition at line 240 of file OSGDVRSimpleLUTShaderBase.h.
FieldContainerType DVRSimpleLUTShaderBase::_type [static, private] |
Reimplemented from osg::DVRSimpleShaderBase.
Reimplemented in osg::DVRMtexLUTShaderBase.
Definition at line 241 of file OSGDVRSimpleLUTShaderBase.h.
Referenced by getClassType(), getClassTypeId(), and getType().
Int32 osg::DVRSimpleShader::m_nTextureId [protected, inherited] |
Definition at line 112 of file OSGDVRSimpleShader.h.
Referenced by osg::DVRSimpleLUTShader::activate(), osg::DVRSimpleShader::cleanup(), osg::DVRSimpleLUTShader::cleanup(), osg::DVRMtexLUTShader::cleanup(), osg::DVRSimpleShader::initialize(), osg::DVRSimpleLUTShader::initialize(), and osg::DVRMtexLUTShader::initialize().
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] |
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.5.5