• PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 17KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 86
    下载次数
  • 2009-03-29 00:20
    上传日期
基于OSG的基本几何体绘制(Geometry)示例
Geometry.rar
  • 基本几何体绘制(Geometry)示例
  • release
  • osgVR.exe
    44KB
  • osgVR
  • main.cpp
    2.3KB
  • osgVR.vcproj
    4.1KB
  • osgVR.vcproj.DCED96CCF2F246F.Administrator.user
    1.4KB
  • osgVR.sln
    880B
  • osgVR.suo
    11KB
内容介绍
/********************************************************** *Write by FlySky *zzuxp@163.com http://www.OsgChina.org **********************************************************/ #include <osgViewer/Viewer> #include <osg/Node> #include <osg/Geode> #include <osg/Group> #include <osgDB/ReadFile> #include <osgDB/WriteFile> #include <osgUtil/Optimizer> //创建一个四边形节点 osg::Node* createQuad() { //创建一个叶节点对象 osg::Geode* geode = new osg::Geode(); //创建一个几何体对象 osg::Geometry* geom = new osg::Geometry(); //创建顶点数组,注意顶点的添加顺序是逆时针的 osg::Vec3Array* v= new osg::Vec3Array(); //添加数据 v->push_back(osg::Vec3(0.0f,0.0f,0.0f)); v->push_back(osg::Vec3(1.0f,0.0f,0.0f)); v->push_back(osg::Vec3(1.0f,0.0f,1.0f)); v->push_back(osg::Vec3(0.0f,0.0f,1.0f)); //设置顶点数据 geom->setVertexArray(v); //创建纹理坐标 osg::Vec2Array* vt= new osg::Vec2Array(); //添加数据 vt->push_back(osg::Vec2(0.0f,0.0f)); vt->push_back(osg::Vec2(1.0f,0.0f)); vt->push_back(osg::Vec2(1.0f,1.0f)); vt->push_back(osg::Vec2(0.0f,1.0f)); //设置纹理坐标 geom->setTexCoordArray(0,vt); //创建颜色数组 osg::Vec4Array* vc = new osg::Vec4Array(); //添加数据 vc->push_back(osg::Vec4(1.0f,0.0f,0.0f,1.0f)); vc->push_back(osg::Vec4(0.0f,1.0f,0.0f,1.0f)); vc->push_back(osg::Vec4(0.0f,0.0f,1.0f,1.0f)); vc->push_back(osg::Vec4(1.0f,1.0f,0.0f,1.0f)); //设置颜色数组 geom->setColorArray(vc); //设置颜色的绑定方式为单个顶点 geom->setColorBinding(osg::Geometry::BIND_PER_VERTEX); //创建法线数组 osg::Vec3Array* nc = new osg::Vec3Array(); //添加法线 nc->push_back(osg::Vec3(0.0f,-1.0f,0.0f)); //设置法线数组 geom->setNormalArray(nc); //设置法线的绑定方式为全部顶点 geom->setNormalBinding(osg::Geometry::BIND_OVERALL); //添加图元,绘图基元为四边形 geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); //添加到叶节点 geode->addDrawable(geom); return geode; } int main() { //创建Viewer对象,场景浏览器 osgViewer::Viewer* viewer = new osgViewer::Viewer(); osg::Group* root = new osg::Group(); //添加到场景 root->addChild(createQuad()); //优化场景数据 osgUtil::Optimizer optimizer ; optimizer.optimize(root) ; viewer->setSceneData(root); viewer->realize(); viewer->run(); return 0 ; }
评论
    相关推荐
    • OSG-NAVY-course.rar
      内容就是 array 贴的海军教程,内容没有任何改动(本人是个 新手,菜鸟级别的,学习为主),只是个人觉得网页上看的不 舒服,在网页上下下来转成pdf 看的。本来是准备自己看的, 后来发现看的很方便,就分享一下...
    • Array-osg-course.rar
      传说中的海军OpenSceneGraph教程,已经翻译成了中文,入门必选
    • Shape.rar
      基于vs2010+OSG的预定义几何体示例,主要实现快速绘制多个预定义的几何体
    • osg-review.rar
      OpenSceneGraph学习总结,包括以下基本的知识梳理。
    • main.rar
      OSG基本图形的绘制,定义顶点、法线、纹理、颜色,用于基本初学者
    • StepIntoOpenSceneGraph(Freesouth).zip
      用于OSG图形图像程序开发,由郑州大学实验室提供的
    • OSG(OpenSceneGraph).rar
      美国海军研究生学校(Naval Postgraduate School)的军事教员Joseph Sullivan 为我们新手编写该教程, 当然更的感谢Array 的翻译
    • 海军教程pdf.zip
      用于OSG图形图像开发,由美国海军研究生学校教员编写
    • E_3_1_Billboard.rar
      一个osg的布告板示例,显示树木,程序中会使用到如何绘制几何体,节点以及纹理贴图
    • codesforimageprocessing.rar
      实现简单图像处理,包括256色转灰度图、Hough变换、Walsh变换、中值滤波、二值化变换、亮度增减、傅立叶变换、反色、取对数、取指数、图像平移、图像旋转、图像细化、图像缩放、图像镜像、均值滤波、对比度拉伸、拉普拉斯锐化(边缘检测)、方块编码、梯度锐化、灰度均衡、直方图均衡、离散余弦变换、维纳滤波处理、逆滤波处理、阈值变换、高斯平滑。