GPUScene::GPUScene(GPUDrawTechnique* st) { setNumChildrenRequiringUpdateTraversal(1); // setShadowSettings(new ShadowSettings); if (st) setGPUDrawTechnique(st); }
TexturePlaneNode::TexturePlaneNode() : _center( 0, 0, 0 ) , _width( 1, 1, 0 ) , _textureBrickSize( 64 ) , _needsUpdate( true ) , _disperseFactor( 0 ) , _useShaders( true ) , _swapTextureAxes( false ) { osg::ref_ptr<osg::LightModel> lightModel = new osg::LightModel; lightModel->setTwoSided( true ); getOrCreateStateSet()->setAttributeAndModes( lightModel.get() ); setNumChildrenRequiringUpdateTraversal( 1 ); }
TexturePlaneNode::TexturePlaneNode( const TexturePlaneNode& node, const osg::CopyOp& co ) : osg::Node( node, co ) , _center( node._center ) , _width( node._width ) , _textureBrickSize( node._textureBrickSize ) , _needsUpdate( true ) , _disperseFactor( node._disperseFactor ) , _useShaders( node._useShaders ) { if ( node._texture ) { if ( co.getCopyFlags()==osg::CopyOp::DEEP_COPY_ALL ) _texture = static_cast<LayeredTexture*>(node._texture->clone( co ) ); else _texture = node._texture; } setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1); }
GPUScene::GPUScene(const GPUScene& ss, const osg::CopyOp& copyop): osg::Group(ss,copyop) { setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1); if (ss._GPUDrawTechnique.valid()) { setGPUDrawTechnique( dynamic_cast<GPUDrawTechnique*>(ss._GPUDrawTechnique->clone(copyop)) ); } /* if (ss._shadowSettings) { setShadowSettings(ss._shadowSettings.get()); } else { setShadowSettings(new ShadowSettings); }*/ }