
OSG
MagiChos
这个作者很懒,什么都没留下…
展开
-
osg显示点云
利用pcl读取点云,osg显示,相比pcl中的vtk显示,osg显示点云稍微复杂一些。#include <osgViewer/Viewer>#include <osgViewer/ViewerEventHandlers>#include <osg/Node>#include <osg/Geode>#include <osg/Geometry>#include <osgDB/ReaderWr原创 2016-06-07 16:54:42 · 6431 阅读 · 1 评论 -
osg中的Impostor
类说明:用图代替模型的LOD技术。 类继承图: 类中方法: Impostor () Impostor (const Impostor &lod, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) 说明:构造函数。第二个从已有的Imposter中构造现在的Imposter。 参数 lod 源LOD copyop原创 2017-01-11 23:39:45 · 1001 阅读 · 0 评论 -
osg中的LOD类
LOD () LOD (const LOD &, const CopyOp ©op=CopyOp::SHALLOW_COPY) 说明:构造函数,第二个构造函数为从已知的LOD构造新的LOD,第二个参数为拷贝类型。默认为是浅拷贝。 参数 lod 源LOD copyop 拷贝方式,默认为是浅拷贝,可以为深拷贝:DEEP_COPY_OBJECTSvirtua原创 2017-01-11 23:44:35 · 2549 阅读 · 0 评论 -
osgGA的CameraManipulator类
操作器基类,用于实现各种操作器接口。本身也是一个操作器的管理类,里面可以压入多个操作器,根据用户按键选择使用哪一个操作器。virtual const char * className() const 说明:获取当前类的名称 void addMatrixManipulator(int key , std::string nam , CameraManipulator *cm) 说明:添加一个操作原创 2017-01-12 00:20:19 · 940 阅读 · 1 评论 -
osg截图示例
#include <osgViewer/Viewer>#include <osgViewer/GraphicsWindow>#include <osg/Node>#include <osg/Geode>#include <osg/Group>#include <osg/Camera>#include <osg/Image>#include <osg/BufferObject>#inc原创 2017-03-08 22:50:04 · 3936 阅读 · 0 评论 -
AnimationPath类
bool getMatrix (double time, Matrixf &matrix) const bool getMatrix (double time, Matrixd &matrix) const bool getInverse (double time, Matrixf &matrix) const bool getInverse (double time, Matrixd原创 2017-01-12 00:21:28 · 924 阅读 · 0 评论 -
LineSegment类
线段类,可以计算与其他片元的交点或与其他类配合使用计算片元的交点,只能计算是否有交点,但是无法求出交点。 类方法如下: void set(const vec_type &s , const vec_type &e) 设置线段的起点和终点vec_type &start() const vec_type &start() const 得到线段的起点vec_type &end() const原创 2017-05-21 15:35:12 · 3863 阅读 · 0 评论 -
IntersectVisitor类
该类是一个访问器类,包含线段并对节点进行碰撞检测的类。可以判断其包含的线段是否与物体发生交集,也可以求出交点。 类方法如下: void addLineSegment(osg::LineSegment *seg) 往当前访问器中添加线段,以用于计算该线段与物体是否相交HitList &getHitList(cosnt osg::LineSegment *seg) 求出当前线段与物体的交点。Hi原创 2017-05-21 15:55:49 · 1113 阅读 · 0 评论 -
osg和ogre的异同
OGRE特点: ● 自动处理渲染状态和空间裁剪 ● 支持所有纹理混合和绑定技术,同时支持对GPU编程技术,支持汇编语言和所有高级语言形式的各种着色器语言,其中包括:Cg、HLSL和GLSL。 ● 强大且成熟的材质管理和脚本系统 ● 支持多种纹理图片格式 ● 全面支持对顶点和索引缓存、顶点声明以及贴图缓存 ● 给出以插件方式连接不同场景结构的接口 ● 成熟且可原创 2017-05-22 16:44:36 · 2803 阅读 · 0 评论 -
StateAttribute类
osg::StateAttribute类是一个无法直接实例化的虚基类。 其函数如下: unsigned int getMember() const 函数说明:虚函数,用于获取属性的成员号 bool getModeUsage(StateAttribute::ModeUsage &) const 函数说明:虚函数,用于获取与属性绑定的渲染模式 int compare(const StateA原创 2017-05-22 21:08:38 · 930 阅读 · 0 评论 -
遮挡节点
#include <osg/Node>#include <osg/Geode>#include <osg/Geometry>#include <osg/Group>#include <osg/OccluderNode>#include <osg/StateSet>#include <osg/BoundingBox>#include <osg/BoundingSphere>#inclu原创 2016-11-15 22:58:07 · 2205 阅读 · 0 评论 -
osg中的MatrixTransform
类说明:这是一个最常用的移动结点的类,可以随动,旋转控制结点。这些操作都是乘矩阵得到。 类继承图: MatrixTransform () MatrixTransform (const MatrixTransform &, const CopyOp ©op=CopyOp::SHALLOW_COPY) MatrixTransform (const Matrix &matix) 说明:构原创 2017-01-11 23:38:38 · 3618 阅读 · 0 评论 -
osgViewer::ViewerBase
类描述:是view的基本类,同时也是osgViewer::CompositeViewer和osgViewer::Viewer的父类。 类继承图:由于是osgViewer::Viewer的父类,所以它的方法一般都会提供给osgVIewer::Viewer使用,而且非常重要。 ViewerBase () ViewerBase (const ViewerBase &vb) 说明:构造函数。第二个构造原创 2017-01-11 23:35:55 · 1366 阅读 · 0 评论 -
OSG简化几何体显示
#include <osgViewer/ViewerEventHandlers>#include <osg/Node>#include <osg/Geode>#include <osg/Group>#include <osg/PositionAttitudeTransform>#include <osgDB/ReadFile>#include <osgDB/WriteFile>#inc原创 2016-11-11 09:44:53 · 686 阅读 · 0 评论 -
osg三角带绘制
#include <osgViewer/Viewer>#include <osgViewer/ViewerEventHandlers>#include <osg/Node>#include <osg/Group>#include <osgDB/ReadFile>#include <osgDB/WriteFile>#include <osgGA/StateSetManipulator>#原创 2016-11-11 13:36:44 · 1594 阅读 · 0 评论 -
坐标系节点
osg::CoordinateSystemNode 类继承自osg::Group节点,它的主要作用是使一个场景的对象关联一个坐标系统。 osg::EllipsoidModel节点(椭圆体模型节点)主要用来模拟天体、,默认情况下是地球体。osg::EllipsoidModel节点还有一个作用就是实现经纬度与坐标之间的转换,这样可以实现天体椭球原体模型子节点的精确定位。#include <osgVie原创 2016-11-16 00:33:04 · 1827 阅读 · 0 评论 -
顶点访问
#include <osgViewer/Viewer>#include <osg/Geode>#include <osg/Geometry>#include <osgDB/ReadFile>#include <osgDB/WriteFile>#include <osgUtil/Optimizer>#include <osg/Group>#include <fstream>#inclu原创 2016-11-12 22:31:20 · 501 阅读 · 0 评论 -
OSG LOD示例
#include <osgViewer/Viewer>#include <osgDB/ReadFile>#include <osgDB/WriteFile>#include <osg/ShapeDrawable>#include <osg/Geode>#include <osgGA/StateSetManipulator>int main(){ osg::ref_ptr<osgV原创 2016-11-12 23:57:01 · 1769 阅读 · 0 评论 -
Viewer类参考
类描述: 为一个单独的场景[scene]保存一个单独的view. Viewer()Viewer (osg::ArgumentParser &arguments)从类osg::ArgumentParser中传递参数入Viewer,类ArgumentParser可以获取main入口参数以及程序的其它信息,也可以判断传参是否有误。Viewer (const osgViewer::Viewer &v原创 2017-01-13 22:49:28 · 609 阅读 · 0 评论 -
GraphicsWindowQt类参考
公有成员 GraphicsWindowQt (osg::GraphicsContext::Traits *traits, QWidget *parent=NULL, const QGLWidget *shareWidget=NULL, Qt::WindowFlags f=0) GraphicsWindowQt (GLWidget *widget) GLWidget *getGLWidget()原创 2017-01-13 23:59:57 · 2989 阅读 · 0 评论 -
Operation类参考
图形操作的基类 继承关系如下图: #include <OperationThread.h>Operation(const std::string &name , bool keep)void setName(const std::string &name)const std::string & getName() const获取可读的操作名称void setKeep(bool keep原创 2017-01-12 21:24:46 · 1373 阅读 · 0 评论 -
OpenThreads线程的创建与控制
下面的例子创建了一个新的线程并使其运行,同时阻塞主进程,直到新县城完成任务为止。#include <OpenThreads/Thread>#include <OpenThreads/Block>#include <iostream>class TestThread:public OpenThreads::Thread{public: TestThread() {原创 2017-01-15 22:33:06 · 1364 阅读 · 0 评论 -
Camera类
为视口添加Camera的类,用于显示。类的继承关系如下图 void setView(View *view) 说明:为camera设置依附的view View *getView() const View *getView() const 说明:得到该camera的view void setStates(osg::State *states) 说明:为该camera设置states原创 2017-01-16 01:54:44 · 1254 阅读 · 0 评论 -
MatrixManipulator类
MatrixManipulator 是一个基类,提供了各种接口,它提供的接口包括矩阵变换和事件处理。 从osgGA::MatrixManipulator类派生的子类就是OSG中默认的操作器,主要包括: osgGA::AnimationPathManipulator //动画路径操作器 osgGA::DriveManipulator //车行操作器 osgGA::FlightManipulat原创 2017-05-22 21:17:00 · 1455 阅读 · 0 评论