#include <osgViewer/Viewer>
#include <osg/Node>
#include <osg/Group>
#include <osg/Geode>
#include <osg/CoordinateSystemNode>
#include <osg/ShapeDrawable>
#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
#include <osgUtil/Optimizer>
osg::ref_ptr<osg::Node> createEarth()
{
//创建一个球体
osg::ref_ptr<osg::ShapeDrawable> sd = new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0.0 , 0.0 , 0.0) , osg::WGS_84_RADIUS_POLAR)) ;
osg::ref_ptr<osg::Geode> geode = new osg::Geode() ;
geode->addDrawable(sd.get()) ;
//设置纹理
std::string filename("Images/1.jpg") ;
geode->getOrCreateStateSet()->setTextureAttributeAndModes(0 , new osg::Texture2D(osgDB::readImageFile(filename))) ;
//创建坐标系节点
osg::ref_ptr<osg::CoordinateSystemNode> csn = new osg::CoordinateSystemNode ;
//设置椭圆体模型,默认坐标系为wGS-84
csn->setEllipsoidModel(ne
osg往球体上贴图
最新推荐文章于 2024-04-18 19:40:09 发布