该原创文章首发于微信公众号:字节流动
OpenGLES 3D 模型

OpenGLES 3D 模型本质上是由一系列三角形在 3D 空间(OpenGL 坐标系)中构建而成,另外还包含了用于描述三角形表面的纹理、光照、材质等信息。
构建一些规则的 3D 物体,如立方体、球体、椎体等,我们自己可以手动轻易实现,但是在实际开发中往往会用到复杂的 3D 物体,如人体、汽车等,这就需要设计师和专业的建模工具软件(像 3DS Max、Maya )来生成。
利用 3D 建模软件,设计师可以构建一些复杂的形状,并将贴图应用到形状上去,不需要去关注图像技术细节。最后在导出模型文件时,建模工具会自己生成所有的顶点坐标、顶点法线和纹理坐标。
常用的模型文件格式有 .obj、.max、.fbx .3ds 等,其中 .obj 是 Wavefront 科技开发的一种几何体图形文件格式,包含每个顶点的位置、纹理坐标、法线,以及组成面(多边形)的顶点列表等数据,应用较为广泛。
本文介绍了OpenGL ES 3D模型的基本概念,重点讲解了.OBJ模型文件的结构和材质文件.mtl的组成。同时,详细阐述了使用模型加载库Assimp进行3D模型解析的过程,包括如何编译Assimp库为Android平台生成.assimp.so文件。通过Assimp,开发者可以方便地加载和渲染各种复杂的3D模型。
订阅专栏 解锁全文
3万+





