Hi,
with the following setup I expect to have a line from the center of the
screeen to the point hard coded. It not that case. Any ideas?
Thanks
this is geode update callback
class UpdateCallback : public osg::NodeCallback
{
public:
UpdateCallback(osgViewer::Viewer* viewer)
: mViewer(viewer)
{
}
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
{
osg::Geode* geode = dynamic_cast<osg::Geode*>(node);
if (!geode) return;
geode->removeDrawables(0,geode->getNumDrawables());
osg::Geometry* geometry = new osg::Geometry;
geode->addDrawable(geometry);
osg::Vec3 eye;
osg::Vec3 center;
osg::Vec3 up;
mViewer->getCamera()->getViewMatrixAsLookAt(eye,center,up);
osg::Vec3Array* verts = new osg::Vec3Array;
verts->push_back(eye);
verts->push_back(osg::Vec3(20,20,20));
geometry->setVertexArray(verts);
osg::Vec4Array* colors = new osg::Vec4Array;
colors->push_back(osg::Vec4(0,1,0,1));
geometry->setColorArray(colors);
geometry->setColorBinding(osg::Geometry::BIND_OVERALL);
geometry->addPrimitiveSet(new
osg::DrawArrays(osg::PrimitiveSet::LINES,0,verts->size()));
float radius = 0.8f;
float height = 1.0f;
osg::TessellationHints* hints = new osg::TessellationHints;
hints->setDetailRatio(0.5f);
geode->addDrawable(new osg::ShapeDrawable(new
osg::Sphere(osg::Vec3(20.0f,20.0f,20.0f),radius),hints));
geode->dirtyBound();
}
protected:
osgViewer::Viewer* mViewer;
};
Nick
http://www.linkedin.com/in/tnick
Sent from Devlet, Ankara, Turkey
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org