位置: 编程技术 - 正文

Opengl学习笔记:(一).Ply文件文件格式和文件读取(opengl教程48讲)

编辑:rootadmin

推荐整理分享Opengl学习笔记:(一).Ply文件文件格式和文件读取(opengl教程48讲),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl入门教程,opengl基础知识,opengl详解,opengl示例,opengl示例,opengl详解,opengl示例,opengl教程48讲,内容如对您有帮助,希望把文章链接给更多的朋友!

转载自: 二、Ply中的结构

1、PLY的文件结构:

文件头加上元素数据列表。其中文件头中以行为单位描述文件类型、格式与版本、元素类型、元素的属性等,然后就根据在文件头中所列出元素类型的顺序及其属性,依次记录各个元素的属性数据。

2、 典型的PLY文件结构:

1、 头部2、顶点列表3、面片列表4、 其他元素列表

3、简单举例

Opengl学习笔记:(一).Ply文件文件格式和文件读取(opengl教程48讲)

1) 头部

a.头部是一系列以回车结尾的文本行,用来描述文件的剩余部分。 b. 头部包含一个对每个元素类型的描述,包括元素名(如“边”),元素的数量,以及一个与这个元素关联的不同属性的列表。c.头部还说明这个文件是二进制的或者是ASCII的。d.头部后面的是一个每个元素类型的元素列表,按照在头部中描述的顺序出现。e.文件中的注释一般在 “comment”开始的关键词定义行里。

2) 举例:下面是一个立方体的完整ASCII描述。大括号中的注释不是文件的一部分,它们是这个例子的注解。

a.头部的每个部分都是一个以关键词开头,以回车结尾的ASCII串。b.”ply”是文件的头四个字符。c.关键词“format”及其后面的是一个特定的ASCII或者二进制的格式,接下来是一个版本号。d.end_header 头文件结束f.再下面是多边形文件中每个元素的描述,在每个元素里还有多属性的说明。一般元素以下面的格式描述: element <元素名> <在文件中的个数> property <数据类型> <属性名-1> property <数据类型> <属性名-2> property <数据类型> <属性名-3>3) 其他说明 属性罗列在“element”(元素)行后面定义,既包含属性的数据类型,也包含属性在每个元素中出现的次序。一个属性可以有三种数据类型:标量,字符串和列表。属性可能具有的标量数据类型列表如下。这些字节计数很重要,而且在实现过程中不能修改以使这些文件可移植。使用列表数据类型的属性定义有一种特殊的格式:property list <数值类型> <数值类型> <属性名> ,这种格式,一个非负字符表示在属性里包含多少索引,接下来是一个列表包含许多整数。在这个边长列表里的每个整数都是一个顶点的索引。 三、读取.ply文件

读取的方法: 1、在头文件信息中读取顶点数量和面数量(也可同时确定每个顶点的属性种类和数量)。 2、在文件的数据部分读取所有顶点信息,及面信息。 3、由顶点信息绘制图形。

PlyLoader.cpp

PlyLoader.h

说明:

不同的.ply文件,每个顶点包含的属性值可能不一样,较简单的就只包含x y z值,复杂的还包含rgb 和法向量的值,所以绘制的时候要注意。绘制的时候采用顶点数组的方式绘制,具体用法见3链接。顶点数组绘图

解决三维建模软件中摄像机旋转的问题 解决三维建模软件中摄像机旋转的问题我们看到很多3D建模软件都可以很方便地对摄像机进行旋转,比如说Blender,通过按下鼠标中键,就可以很方便地

OpenGL学习笔记:(二)简单绘制正方形(基本框架) #includeGL/glut.hspanstyle=white-space:pre/span//头文件,包含了gl.hglu.hconstintWINDOW_WIDTH=;constintWINDOW_HEIGHT=;voidreshape();voiddisplay();voidinit();voidinit(){glClearColor(0.0,0.0

关于OpenGL导入.obj文件的一点涉入 先说一下我的例子(下载):将需要导入的obj文件放在assets文件夹下面,在代码中设置相应的文件名称(这个都在代码中有标注,备注写的很明确),

标签: opengl教程48讲

本文链接地址:https://www.jiuchutong.com/biancheng/369621.html 转载请保留说明!

上一篇:用OpenGL实现折线和矩形的橡皮筋绘制技术(可完全脱离鼠标)(opengl画直线函数)

下一篇:解决三维建模软件中摄像机旋转的问题(你所知道的三维建模软件有哪些?)

  • 财税2012年15号文件作废
  • 政府农民合作社架构
  • 税务局代个人开发票
  • 医院都需要交什么税
  • 会计信息采集每年都要采集吗
  • 转出多交增值税最后怎么做平
  • 短期借款明细账应采用三栏式账页格式
  • 保险公司收车船使用税吗
  • 饭店采购食材没发票
  • 企业所得税的应纳税所得额的扣除项目有哪些
  • 没残值的固定资产有哪些
  • 来料加工企业的会计处理问题
  • 母公司给子公司担保需要决议吗
  • 增值税专用发票几个点
  • 企业所得税退税怎么做账务处理
  • 企业所得税预缴计算方法
  • 抵免税款收益算其他收益吗
  • 资产处置损益和营业外收支的区别和联系
  • 企业关闭时国税、地税注销需要哪些手续,时间是多长?
  • 对整个产品的零件退回的财务会计处理?
  • 如何正确使用好薪酬调查结果
  • 运输费计入什么会计科目?
  • 什么叫盘活存量股票
  • 手机cpu性能排行榜2023最新天梯图
  • 提示语是什么意思?
  • 复制粘贴如何提取文字
  • win10如何禁止
  • rundll32.exe应用程序错误 win7
  • PHP:stream_set_chunk_size()的用法_Stream函数
  • 城市里创业
  • mplugin.exe是什么
  • 口腔发炎怎么办最快最有效的方法
  • 公司已开票给客户,但客户未打款怎么办?
  • laravel多条件查询
  • 在缴纳企业所得税的情形
  • uniapp编译原理
  • php制作留言板包含登录和功能实现
  • 投标文件中财务报表包括哪些内容
  • 医院职工医疗保险报销比例
  • 发票勾选认证具体流程
  • 商贸公司库存商品有哪些
  • numpy array ndarray区别
  • 出让土地的土地出让金与抵押权
  • 季度预缴纳税申报表利润总额
  • 不符合无形资产摊销条件
  • 物业管理企业会计核算的特点如何?
  • 股权分配和利润的关系
  • 所得税预缴政策
  • 所得税会计核算要点及程序有哪些
  • 小规模纳税人和一般纳税人的界定标准
  • 律师事务所的所属行业是什么
  • 2020年税务师报名流程
  • 运费险三件衣服分3个快递寄出
  • 向投资者分配利润或股利为什么减少所有者权益?
  • 加计抵减政策15%声明
  • 消防安装公司属于什么行业
  • 日记账的设置和登记
  • java下一页
  • mysql索引数据结构有哪些
  • win8无法进入系统
  • win7电脑找不到无线网络连接图标
  • mac系统怎么设置字体大小
  • win7右下角无线网络连接图标不见了
  • 如何让卖家给你乖乖退款
  • js获取浏览器当前访问的ip
  • node 进程
  • nodejs获取客户端设备信息
  • pycharm怎么学
  • socketio nodejs
  • vue用户权限解决方案
  • js定义数字
  • border-radius在Android下的几个BUG
  • shell脚本读取输入使用什么命令
  • bootstrap js插件
  • python添加用户并加入到相应组
  • 北京户籍网官方网站
  • 风险研判能力不足的原因
  • 上海地铁和公交乘车码
  • 公司员工开始摆烂怎么办
  • 日本各界
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设