[英]Opengl ES how to import a 3D model and map textures to it on runtime
它有点作弊,因为标题中实际上有两个问题。
关于如何导入3D模型的说法,我认为我可以通过这一点。
但是,我的问题是:我可以在运行时将纹理映射到导入的模型吗?
这不叫紫外线贴图吗?
3D模型基本上是一个球体,使用OpenGL ES生成球体效果更好吗?
但那我如何将纹理映射到它呢?
很抱歉对大多数基础知识一无所知。
您使用的是直接OpenGL还是引擎? 如果您正在使用引擎,其中一些可能已经为您解决了。
如果您使用的是直接OpenGL,则必须记住它“仅仅”是一个渲染API。 所以你仍然需要自己做很多腿部工作。
要导入3D模型,您必须这样做
是的,你可以纹理贴图你的网格。 你需要的是纹理(UV)坐标。 这些基本上将网格中的顶点映射到2D纹理上的位置。 想象一个球体为地球建模,UV坐标将顶点映射到地球2D地图上的特定位置。
您也许可以在3D球体的代码中生成这些 ,但建模包也可以帮助您,特别是对于更复杂的3D对象。 对于某些视觉介绍,请查看与Blender相关的UV贴图的本教程 。
可以在此处找到有关纹理和纹理映射的OpenGL ES教程。
您可以使用两种方式加载3d模型
1.编写一个加载器来解析所有顶点和纹理坐标。
2.使用blender将模型导出为头文件。
将3d模型转换为波前对象格式。 使用/编写库将obj文件解析为顶点和纹理坐标。
使用以下库生成C头文件并导入到项目中
然后加载模型并应用纹理..
尝试学习一些基础知识
阅读这些教程 ..
我不维护这些链接,我不能保证将来存在这些链接。 在更新这些答案时,这些链接是有效的。 如果你发现这些链接被破坏了,那就是一个合理的编辑而不是抱怨者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.