OpenGL ES之3D模型加载和渲染

Posted ╰つ栺尖篴夢ゞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL ES之3D模型加载和渲染相关的知识,希望对你有一定的参考价值。

一、3D 模型

  • OpenGL ES 3D 模型本质上是由一系列三角形在 3D 空间(OpenGL 坐标系)中构建而成,另外还包含了用于描述三角形表面的纹理、光照、材质等信息。构建一些规则的 3D 物体,如立方体、球体、椎体等,我们自己可以手动轻易实现,但是在实际开发中往往会用到复杂的 3D 物体,如人体、汽车等,这就需要设计师和专业的建模工具软件(像 3DS Max、Maya )来生成。
  • 利用 3D 建模软件,设计师可以构建一些复杂的形状,并将贴图应用到形状上去,不需要去关注图像技术细节,最后在导出模型文件时,建模工具会自己生成所有的顶点坐标、顶点法线和纹理坐标。
  • 常用的模型文件格式有 .obj、.max、.fbx .3ds 等,其中.obj 是 Wavefront 科技开发的一种几何体图形文件格式,包含每个顶点的位置、纹理坐标、法线,以及组成面(多边形)的顶点列表等数据,应用较为广泛。

二、OBJ 文件的结构

  • 本文主要介绍 obj 3D 模型文件及其附属文件 mtl,如下所示是 obj 模型文件的数据结构(为方便展示部分数据被):
# 3ds Max Wavefront OBJ Exporter v0.97b - 

以上是关于OpenGL ES之3D模型加载和渲染的主要内容,如果未能解决你的问题,请参考以下文章

Panda3D双面渲染和3D法线的概念学习

OpenGL ES——导入.stl格式的3D模型

OpenGL ES之实例化渲染(Instancing)

OpenGL ES之实现“大头小头”和“头部晃动”的效果

学习OpenGL ES之ShadowMap(二)

我的渲染技术进阶之旅OpenGL ES 使用表面剔除和深度测试解决渲染3D模型的时候,出现背面黑点的问题