![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
osg
文章平均质量分 68
金色12点丶
这个作者很懒,什么都没留下…
展开
-
4.osg中HUD的实现
osg中HUD的实现:HUD(head up display)主要用来显示固定的文字等信息。//创建一个用来建立投影和视图的相机,即是画HUD的子窗口 osg::Camera* camera = new osg::Camera; osg::Viewport*port = camera->getViewport(); // 设置投影矩阵,此处为正射投影转载 2015-07-14 20:08:54 · 1807 阅读 · 0 评论 -
1. 矩形的渲染与绘制
矩形的渲染与绘制:代码如下:osg::ref_ptr createRec(osg::Vec3vec3, float length, floatwidth, float height){osg::ref_ptrgeom =newosg::Geometry;//创建几何对象osg::ref_ptrv =newosg::Vec3Array;v->push_back原创 2015-07-14 19:55:25 · 873 阅读 · 0 评论 -
3.osg中的CallBack回调、NodeVisitor与鼠标键盘的交互
一、CallBack回调:规定在某事件发生时启动一个函数,这个函数能够执行相应的操作。一般使用的回调为更新回调,需创建osg::MatrixTransform类对象,调用它的setUpdateCallback()函数进行设置。也可以使用自定义的回调,具体如下://申请一个继承NodeCallBack的类class MyTransformCallback :public osg:原创 2015-07-14 20:03:46 · 1437 阅读 · 0 评论 -
2.osg内置几何类型、osg::Geometry的类型与osg::MatrixTransform
osg内置几何类型包括:osg::Box盒子 osg::CompositeShape组合类型 osg::Cone圆锥原创 2015-07-14 20:02:32 · 1241 阅读 · 0 评论 -
6.osg中光照的使用
在球的基础上进行操作。添加光照前:添加光照后:实现如下:osg::LightSource*createLight(){ osg::ref_ptr l = newosg::Light; l->setLightNum(0);//启用第几个光源 OpenGL有8个光源 //l->setAmbient(osg::Vec4(0.0f,1.0原创 2015-07-16 20:14:25 · 3127 阅读 · 0 评论 -
7.osg中子窗口的实现
在球的基础上进行操作。首先设置图形环境://得到屏幕分辨率 osg::GraphicsContext::WindowingSystemInterface*wsi = osg::GraphicsContext::getWindowingSystemInterface(); wsi->getScreenResolution(osg::GraphicsContext::Scr原创 2015-07-16 20:19:26 · 461 阅读 · 0 评论 -
5.osg中用顶点绘制球体并贴上地球纹理
代码及注释如下:classGeometry_sphere : public osg::Geometry{public: Geometry_sphere(double dRadius=1, intiNumPartsLongtitude_half=13, int iNumPartsLatitude_half=13); void Ini原创 2015-07-16 20:13:06 · 2433 阅读 · 0 评论 -
9.osg中实现半透明效果:
在为球贴图的基础上,实现模拟地球的透明展示。是先前效果如下:实现后效果如下:实现代码如下,主要是在状态集中进行设置:osg::ref_ptrblendFunc = new osg::BlendFunc(); blendFunc->setSource(osg::BlendFunc::SRC_ALPHA); blendFunc->setDestination原创 2015-07-16 20:26:45 · 2339 阅读 · 0 评论 -
8.osg中使用Tesselator分格化(三角剖分)
在球的基础上进行操作。效果为与主窗口和子窗口添加一个边框 osg::ref_ptrvertice2 = new osg::Vec3Array(8); //外边界逆针 (*vertice2)[0].set(1,1,0); (*vertice2)[1].set(w-1,1,0); (*vertice2)[2]原创 2015-07-16 20:22:51 · 4041 阅读 · 0 评论