参考OSG自带的osgautotransform示例
效果:实现不管视点拉远和拉近,模型始终按模型的像素大小显示。
通过osg::AtuoTransform类实现,代码如下:
osg::AutoTransform* addFixedPixelNode(osg::Node *node){
osg::AutoTransform *at = new osg::AtuoTransform;
at->addChild(node);
at->setAutoRotateMode(osg::AutoTransform::ROTATE_TO_SCREEN);
at->setAutoScaleToScreen(true);
return at;
}
osg::AutoTransform类的两个方法介绍:
setMinimumScale方法,默认值是0.0,如果是0.0时源码中不处理最小缩放;非0.0时,按实际设置的值自动缩放;
setMaximumScale方法,默认值是DBL_MAX,如果是DBL_MAX时源码中不处理最大缩放;非DBL_MAX时,按实际设置的值自动缩放。