我一直在练习OSG提供的一些openSceneGraph示例。其中一个例子是,我在椭球体上遇到了文本。
osgText::Text* createText(osg::EllipsoidModel* ellipsoid, double latitude, double longitude, double height, const std::string& str)
{
double X, Y, Z;
ellipsoid->convertLatLongHeightToXYZ(osg::DegreesToRadians(latitude), osg::DegreesToRadians(longitude), height, X, Y, Z);
这在我的case.then中工作得很好,我想在球体上也是如此。在此示例中,根据经度、长度和高度绘制的椭球体。我想绘制半径取决于窗口大小/屏幕大小的球体。不幸的是,我在osg::Sphere类中看不到将屏幕坐标转换为球体大小的方法。
有人可以帮我解决这个问题。可能会有一些东西改变了这一点,可能是因为我的经验较少,所以我没有遇到。
干杯,英娜。
发布于 2016-09-23 14:03:10
osg::Sphere不是像osg::EllipsoidModel那样的地理空间模型。
只需创建一个半径(赤道和极轴)与球体半径相同的osg::EllipsoidModel,并使用osg::EllipsoidModel。
https://stackoverflow.com/questions/39639422
复制相似问题