
osg学习
smells2
热爱编程,学习能力强,有协作精神。
展开
-
osg,纹理贴图,地球、月球、火星
createSphere.h#include #include #include osg::ref_ptr createSphere(float radius){ osg::ref_ptr sphereShape = new osg::Sphere(osg::Vec3(2.5,0.0,0.0),radius); osg::ref_ptr sphereShapeDrawable =原创 2012-02-22 16:20:40 · 11118 阅读 · 2 评论 -
osg中实现文字显示和HUD
一开始不知道什么事HUD,云里雾里,后来看了孤独钓客的博客才明白,后来自己就仿照做了一个。/* *Add text to a scene - both HUD style text and text as part of the scene. *By smells2 *At Lab 2012-02-22 *smells2@sina.com*/#ifdef _DEBUG#prag原创 2012-02-23 22:02:57 · 7520 阅读 · 0 评论 -
DOF和MultiSwitch的使用
利用前一篇博客的场景,添加两个坦克结点,一个结点是报废的坦克,一个是旋转炮塔的坦克,需要用到DOF和MultSwitch。1.坦克模型由许多的其他模型结点组成,这里就包括炮塔结点和炮筒结点,本文只用了炮塔。2.需要一个能找到炮塔结点的方法,这里我们定义了一个类myFindNodeVisitor.myFindNodeVisitor.h//By smells2 At Lab 2012-原创 2012-02-26 12:10:42 · 3201 阅读 · 1 评论 -
回调的使用
今天学习回调,回调分为更新回调、拣选回调、绘制。自以为顺序是从左到右的,即更新>拣选>绘制。根据海军教程里的内容,我今天将回调用到之前博客中的地球上,之前的那篇博客只是将球体贴上了世界地图的纹理,现在我们让它自转起来,当然能自转也一定能公转(这个就先不做了,不过一定能够实现)。1.定义一个用户自定义数据类,当然,这个类一定要从osg::Referenced类派生。2.定义回调类,重写操作符原创 2012-02-27 13:04:49 · 1252 阅读 · 0 评论 -
键盘响应和回调的结合
响应键盘操作需要定义一个从osgGA::GUIEventHandle派生出来的类,结合自定义的回调类callBack实现对坦克模型的前进、后退,以及炮塔的旋转操作。键盘响应类keyboardEventHandle与回调类callBack是如何通信的呢?这里我们需要在定义一个用户自定义的类,将对模型的操作的数据封装进去。用户自定义数据类tankInputDeviceType。tankIn原创 2012-02-27 20:50:58 · 2638 阅读 · 0 评论 -
osg::Sphere,osg::Texture2D,osg::StateSet,osg::TexEnv的使用
//By smells2 at Lab 2012-02-21#include #include #include #include #include #include #include #include #include #include int main(){ osg::ref_ptr root = new osg::Group; osgViewer::Viewer原创 2012-02-21 11:12:36 · 4704 阅读 · 0 评论 -
使用“告示板”
osg中有一种结点叫做告示板结点,其从osg::Geode类派生,它与其他的osg::Geode类相似,但它有一个特点就是能够让自己的一面朝向观察屏幕。这样就可以有很多的应用,比如说,可以用多个这种结点做成一片森林。osg::Billboard类有两种朝向方式,一种是平行于观察平面,一种是垂直与观察点。#include #include #include #include #inc原创 2012-02-29 22:17:03 · 1012 阅读 · 0 评论 -
warning C4312: “类型转换”: 从“GLsizeiptrARB”转换到更大的“const GLvoid *”
今天,换osg3.01做了一个小程序,在osg2.9上面运行没有提示错误和警告,但是在3.01上却出现了一大堆的警告,如图:不明白原因,不过从警告的提示可以看出来这个警告是对类型转换的警告,所以查了一下网络在论天上找到了解决办法:属性->c++->常规->检查64位可移植问题->-“否”运行结果:问题解决。原创 2012-06-24 14:29:53 · 4087 阅读 · 0 评论