本文整理汇总了C++中osg::NodeUnrecPtr::dump方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeUnrecPtr::dump方法的具体用法?C++ NodeUnrecPtr::dump怎么用?C++ NodeUnrecPtr::dump使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::NodeUnrecPtr
的用法示例。
在下文中一共展示了NodeUnrecPtr::dump方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initAnimSetup
// Setup the part of the scene rooted at animRoot
// This includes a file to animate, a beacon for a light,
// and a staged core to render this subtree from the position
// of the light.
void initAnimSetup(int argc, char **argv)
{
// beacon for light and stage camera
OSG::GroupNodeRefPtr beacon = OSG::GroupNodeRefPtr::create();
// transformation for beacon
cam_transScene = OSG::TransformNodeRefPtr::create();
cam_transScene.node()->addChild(beacon);
// light
OSG::DirectionalLightNodeRefPtr dlight =
OSG::DirectionalLightNodeRefPtr::create();
dlight->setAmbient (.3f, .3f, .3f, 1);
dlight->setDiffuse ( 1, 1, 1, 1);
dlight->setDirection( 0, 0, 1 );
dlight->setBeacon (beacon );
// animRoot
animRoot = OSG::GroupNodeRefPtr::create();
animRoot.node()->addChild(cam_transScene );
// Load the file and put it in the graph
// under the sceneXform node.
OSG::NodeUnrecPtr file = NULL;
if(argc > 1)
{ file = OSG::SceneFileHandler::the()->read(argv[1]); }
if(file == NULL)
{
std::cerr << "Couldn't load file, ignoring" << std::endl;
file = OSG::makeTorus(.5, 2, 16, 16);
}
OSG::Vec3f min,max;
OSG::commitChanges();
file->updateVolume();
file->dump();
file->getVolume().getBounds(min, max);
std::cout << "Volume: from " << min << " to " << max << std::endl;
sceneTrans.setValues(min[0] + ((max[0] - min[0]) * 0.5),
min[1] + ((max[1] - min[1]) * 0.5),
max[2] + ( max[2] - min[2]) * 4.5 );
sceneXform = OSG::TransformNodeRefPtr::create();
sceneXform.node()->addChild(file);
OSG::NodeUnrecPtr pBoxNode = OSG::makeBox(1, 1, 1, 5, 5, 5);
pBoxNode->setTravMask(pBoxNode->getTravMask() & 0x0001);
sceneXform.node()->addChild(pBoxNode);
dlight.node()->addChild(sceneXform);
// ---- STAGE RENDERING SETUP --- //
// Camera: setup camera to point from beacon (light pos)
// with a 90deg FOV to render the scene
OSG::PerspectiveCameraUnrecPtr stage_cam = OSG::PerspectiveCamera::create();
stage_cam->setBeacon(beacon);
stage_cam->setFov (OSG::osgDegree2Rad(90));
stage_cam->setNear (0.1f);
stage_cam->setFar (100000);
// Background
OSG::SolidBackgroundUnrecPtr bkgnd = OSG::SolidBackground::create();
bkgnd->setColor(OSG::Color3f(0,1,0));
// FBO setup
pFBO = OSG::FrameBufferObject::create();
pTexBuffer = OSG::TextureBuffer::create();
#ifdef USE_DEPTH_TEXTURE
OSG::TextureBufferUnrecPtr pDepthBuffer = OSG::TextureBuffer::create();
pDepthBuffer->setTexture(txDepth);
#else
OSG::RenderBufferUnrecPtr pDepthBuffer = OSG::RenderBuffer ::create();
pDepthBuffer->setInternalFormat(GL_DEPTH_COMPONENT24 );
#endif
pTexBuffer->setTexture (tx1o);
pTexBuffer->setReadBack(true);
pFBO->setSize(512, 512);
pFBO->setColorAttachment(pTexBuffer, 0);
pFBO->setDepthAttachment(pDepthBuffer );
pFBO->editMFDrawBuffers()->clear();
pFBO->editMFDrawBuffers()->push_back(GL_COLOR_ATTACHMENT0_EXT);
//.........这里部分代码省略.........