opengl加载和绘制STL模型+旋转 平移 缩放 光照

一、开发环境说明操作系统:windows开发软件:Visual Studio 2017编程语言:基于控制台下的opengl用到的库: glutopengl环境配置查看博客二、STL文件介绍2.1 STL的二进制格式ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元facet是一个带矢量方向的三角面片,S...
摘要由CSDN通过智能技术生成

一、开发环境说明

  • 操作系统:windows
  • 开发软件:Visual Studio 2017
  • 编程语言:基于控制台下的opengl
  • 用到的库: glut

opengl环境配置查看博客

二、STL文件介绍

2.1 STL的二进制格式

ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元facet是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。整个STL文件的首行给出了文件路径及文件名。在一个STL文件中,每一个facet由7行数据组成,facetnormal是三角面片指向实体外部的法矢量坐标,outer loop说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列

ASCII格式的STL文件结构如下

solid finename stl   //文件路径及文件名
facet normal x y  z  //三角片面法向量的3个分量
outer loop           
vertex x y z         //三角片面第一个顶点的坐标
vertex x y z         //三角片面第二个顶点的坐标
vertex x y z         //三角片面第三个顶点的坐标
endloop
endfacet             //第一个三角面片定义完毕
.........
.........
.........
endsolid filename stl//整个文件结束
2.2 STL文件截图

如果所示,是一个牙齿模型的stl文件
在这里插入图片描述

三、代码实现及验证

定义一个类STLModel,用来加载和显示模型

3.1 STLModel头文件代码如下

                
  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值