生成Geometry

    // 由一组点集生成一张三角面片网格Geometry
    osg::Geometry* createTRIANGLESGeometry(MyMesh &mesh)
    {
        osg::ref_ptr< osg::Geometry > triGeom = new osg::Geometry();

        // 顶点坐标数组
        int vertexNum=mesh.vertex.size();
        osg::ref_ptr<osg::Vec3Array> vertices = new osg::Vec3Array();
        triGeom->setVertexArray(vertices);

        // 颜色数组
        osg::ref_ptr<osg::Vec4Array> colors = new osg::Vec4Array;
        colors->push_back(osg::Vec4(0.0f,1.0f,0.0f,1.0f));
        triGeom->setColorArray(colors);
        triGeom->setColorBinding(osg::Geometry::BIND_OVERALL);

        // 法向量数组
        int normalNum=mesh.normal.size();
        osg::ref_ptr<osg::Vec3Array> normals = new osg::Vec3Array();
        triGeom->setNormalArray(normals);
        triGeom->setNormalBinding(osg::Geometry::BIND_PER_VERTEX);// 一个顶点对应一个法向量

        triGeom->addPrimitiveSet(
            new osg::DrawElementsUShort(osg::PrimitiveSet::TRIANGLES,
            mesh.triangleNum*3,// 索引个数
            (unsigned short*)&mesh.index.at( 0 )));

        return triGeom.release();
    }
时间: 2024-11-06 08:39:32

生成Geometry的相关文章

【翻译】口袋妖怪X/Y 制作技法

口袋妖怪X/Y [口袋妖怪]系列最终的全3D化     再现图像风格的制作技法 完成系列最初的全3D化的本作,在手掌游戏机的性能和容量的限制中,把杉森建氏的公式设定图风格用Toon Shading漂亮的再现. 关于职人的制作的大胆想象被大量加入的本作的制作技法,请全都看一下. 忠实再现设定画的Toon Shading 以前以2D为主的展开的[口袋妖怪]系列.系列最初的Pokémon模型全3D化的尝试,技术担当的GAME FREAK Inc,模型和动画担当的Creatures Inc两个公司共通进

PIE SDK打开自定义矢量数据

1. 数据介绍 信息提取和解译的过程中,经常会生成一部分中间临时矢量数据,这些数据在执行完对应操作后就失去了存在的价值,针对这种情况,PIE增加了内存矢量数据集,来协助用户完成对自定义矢量数据的读取和显示. 下面以Micaps1类数据为例介绍自定义矢量数据的构建和显示. 2. 实现思路及原理说明 第一步 构建数据的字段.空间参考等信息: 第二步 根据字段和空间参考信息创建内存矢量数据集: 第三步 在内存矢量数据集中逐条添加数据记录(包括几何图形和属性): 第四步 通过内存数据集创建矢量图层: 第

Data Lake Analytics的Geospatial分析函数

0. 简介 为满足部分客户在云上做Geometry数据的分析需求,阿里云Data Lake Analytics(以下简称:DLA)支持多种格式的地理空间数据处理函数,符合Open Geospatial Consortium's (OGC) OpenGIS规范,支持的常用数据格式包括: WKT WKB GeoJson ESRI Geometry Object Json ESRI Shape DLA采用4326坐标系标准,EPSG 4326使用经纬度坐标,属于地理坐标系.GPS采用的就是这个坐标系.

双足机器人简单步态生成

 让机器人行走最简单的方法是先得到一组步态曲线,即腿部每个关节随时间运动的角度值.可以在ADAMS或3D Max.Blender等软件中建立好机构/骨骼模型,设计出脚踝和髋关节的运动曲线,然后进行逆运动学解算,测量每个关节在运动过程中的转角,最后将得到的曲线导出.拿到曲线数据后我们就可以用单片机读取,然后发送给机器人的舵机去执行运行.这种方法的缺点是机器人只能按照固定的步态行走,不够灵活,比如抬脚高度.步长等参数都是定死的,如果需要修改还得再使用别的软件导出新的步态数据. 最简单的腿部结构如下图

Python生成二维码和短网址

使用PyQt5. 方便电脑传输网址或者文字内容到手机上面,扫一下二维码就行了,短网址偶尔也能用上. 1 #!/usr/bin/env python3 2 from PyQt5.QtGui import QPixmap 3 from PyQt5 import QtWidgets 4 from PyQt5.QtCore import Qt 5 import requests 6 from os.path import expanduser 7 8 9 class Ui_qrDlg(): 10 11

ISurfaceOp 接口生成等高线

(1)ISurfaceOp.Contour 根据DEM生成等高线图层: private void button1_Click(object sender, EventArgs e)        {            //得到Raster            ILayer tLayer=this.axMapControl1.get_Layer(0);            IRasterLayer tRasterLayer=(IRasterLayer)tLayer; IFeatureCla

vs2013下geos3.4.2的编译与缓冲区生成示例

环境:vs2013,windows8.1 参考:http://www.cnblogs.com/begincsdn/archive/2012/07/22/2603621.html http://www.cnblogs.com/mazhenyu/p/4150454.html http://blog.csdn.net/qq503690160/article/details/7055203 一.geos简介 GEOS是一个集合形状的拓扑关系操作实用库(可能这么说不太准确),简单得说,就是判断两个几何形状

关卡中如何使用 Geometry(BSP) 创建障碍物 【UE4】

如图,BSP 选项(新版本为Geometry)在左侧的 Mode 面板下,提供了若干基础的 BSP 供我们选择. 我们虽然可以通过 Detail 面板下的 Transorm 下的 Scale 来改变它的大小,但是它有个很大的问题--当我们最后将它转换为 "Block Volume"的时候,它的 Scale 会被重置为 1,这显然不是我们想看到的结果.建议的方法是,通过修改 Brush Setting 下的 X, Y, Z 来修改大小 我们除了可以通过 Ctrl+C, Ctrl+V 来复

Geometry shader总结

什么是Geometry Shader GS存在于vertext shader和固定功能vertex post-processing stage之间,它是可选的不是必要的.GS的输入是单个primitive,输出可能是0个或多个primitive. GS的作用 GS的主要作用就是从已有的primitive中生成新的primitive,它可以"无中生有"的生成新的顶点 OpenGL官网上提到两种用法: Layered rendering: 对一个primitive,不改变rendertar