位置: 编程技术 - 正文

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画直线函数)

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

  • 小规模拍卖公司佣金怎么交税
  • 亏损企业如何填报企业所得税
  • 消费税为什么是减
  • 土增清算尾盘销售
  • 建筑服务预征缴纳税款本期实际抵减税额怎么填
  • 股东费用如何入账
  • 通过认证的增值税怎么算
  • 支付佣金和手续费一样吗
  • 土地使用税的免税规定有哪些
  • 商场返现活动怎么入账
  • 商品买一送一是打五折吗
  • 先收入后开票如何做账
  • 个税手续费返还会计分录
  • 计提水电费是什么凭证
  • 银行手续费回单可以作为报销
  • 纸质承兑汇票到期怎么兑现,多久能到帐
  • 研发费用归集会计分录
  • 拆迁安置房如何更名
  • 存出投资款是什么凭证
  • 抵押和质押的区别主要表现在哪些方面
  • win10怎么显示隐藏的硬盘
  • 预收预付不一致什么意思
  • 收到短期借款会计分录怎么做
  • 预算会计的核算范围
  • php数组函数输出《咏雪》里有多少"片"字
  • 分配股利什么时候做账
  • 财产保险公司手续费税前扣除最新
  • 通过mac地址查找ip的协议
  • oss对象储存的副本储存原则
  • 悬崖边上的门
  • 商业企业收到增值税
  • 上月未开发票的销项税,已经申报缴税,在本月开了票,应该如何填报?
  • 个人抬头有什么用
  • 小规模纳税人税额怎么算
  • 大学生网页设计大赛
  • ai的工具介绍
  • 自学前端,你必做的事
  • vue要怎么学
  • modprobe operation not permitted
  • 2022-8-30 servlet
  • rbac权限管理设计
  • 交易性金融资产属于什么科目
  • 旅游门票费用可以用来报销吗?
  • 一般项目的进项税和即征即退进项税
  • 一般整形医院的药在哪进货
  • 如何确定交易性金融资金
  • 用货款抵扣供应商成本
  • 外币折算差额怎么计算
  • 公对公房产过户
  • 停车费发票能报餐饮费吗怎么开
  • 暂估收不到发票,怎么处理
  • 电子记录表怎么填写
  • 房地产公司属于什么企业
  • 分公司注销余额转总公司会计分录
  • 判断成本法核算方法
  • 明细账建账的步骤
  • mysql事件id100
  • mysql5.7对应的jdbc
  • win8磁盘占用率高怎么处理
  • win8系统手机
  • 活动目录管理工具
  • linux以root用户登录
  • solaris的多线程实现方式
  • windows如何删除本地用户
  • 怎么删除windows7
  • 华硕和联想笔记本电脑哪个好点
  • python中myf
  • js闭包解决了什么问题
  • Javascript new Date().valueOf()的作用与时间戳由来详解
  • 安全模式安卓
  • jQuery插件能输出到控制台
  • gps坐标计算距离公式工具
  • 蛋哥的日常
  • js实现自定义打印
  • javascript程序设计教程
  • js中提交表单
  • 智能财税证书含金量多少
  • 福建社保官方网站
  • 郑州市管城区地图范围
  • 广东省深圳市地图最新版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设