解决在OpenGL中导入.obj模型所遇一些问题的方法

  • 相对路径格式
    • “/”与“\”
    • 相对路径起始
  • 导入模型的限制

最近在学习 LearnOpenGL CN,学到了模型加载那一章,遇到了一些错误,找到了一些解决办法,记录下来。

相对路径格式

“/”与“\”

在代码

Model ourModel(FileSystem::getPath("resources/objects/nanosuit/nanosuit.obj"));

处,我从文档中直接复制路径过来,粘贴,发现总是报错,原因是windows中路径分隔符像这样

D:\我的文件\OpenGL\input\input\resourses\objects\nanosuit

这里要注意“/”与“\”的区别,在VS中写“/”是最稳妥

相对路径起始

在这里填入的相对路径,指的是相对于main.cpp的路径,我的工程里,main.cpp的路径是

而LearnOpenGL CN中下载的资源所在位置是

可见,main.cpp的绝对路径是
D:\我的文件\OpenGL\input\input
nanosuit.obj的绝对路径是
D:\我的文件\OpenGL\input\input\resourses\objects\nanosuit
nanosuit.obj相对于main.cpp的路径就是
resourses\objects\nanosuit

导入模型的限制

在LearnOpenGL CN中,下载的模型nanosuit,此模型的纹理与模型文件在同一文件夹下,两者的关联属性可以在nanosuit.mtl中查看,这是个文本文件,要知道的是.mtl文件是.obj文件的附属文件,用以描述几何体表面的描影属性,告诉模型应该使用哪个贴图。
打开nanosuit.mtl

文理文件前并没有路径,所以该纹理文件与模型文件在同一目录下才能读取。
从网上下载其他模型,往往纹理文件与模型文件不在同一目录中,比如我下载的skull模型。

纹理保存在texture文件夹下,texture文件夹与模型文件.obj在同一目录下,这是应该查看.mtl文件,检查纹理与模型的关联路径,

如果在红框一处不像上图显示的带有**texture/**的相对路径,那么在LearnOpenGL CN 给出的代码中运行就会报错。所以检查.mtl文件后,改成正确的相对路径就可以了。

附上运行的skull =-=

解决在OpenGL中导入.obj模型所遇一些问题的方法相关推荐

  1. 【Three.js】解决使用Three.js导入obj模型不可见问题详细记录

    问题描述: 近期在做三维重建项目,需要把最终生成的obj文件导入到web端浏览,这里使用的是three.js(另一个是babylon.js),但博主发现导入meshlab生成的obj时无法显示模型,但 ...

  2. 解决导入obj模型时出现模型镂空的问题

    解决导入obj模型时出现模型镂空的问题 这实际上是因为导入的模型采用四边形而非三角形的面片,导致splish采样不全. 使用houdini的divide节点就能将任意面片转化为三角形面片.从而解决问题 ...

  3. 使用three.js导入OBJ模型,变更、修改成其他OBJ模型和模型不可见原因说明

    最近的一个项目需要在HTML中对OBJ模型进行大量的变更,修改为其他模型.基于这个需求下,这里有一种解决方案. 另外在各大论坛上的相关博客基本都是那几种导入obj例子····并没有对后续操作进行说明. ...

  4. Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色

    Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色 代码问题 首先,确保代码中编辑了给模型导入颜色 //function:读取.obj文件,并将其添加到S ...

  5. ADS中导入SPICE模型

    这里写目录标题 在官网中下载SPICE模型 ADS中导入SPICE模型 在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果desti ...

  6. zbrush导入obj模型不显示_ZBrush中如何导入和导出OBJ文件—ZBrush教程

    原标题:ZBrush中如何导入和导出OBJ文件-ZBrush教程 ZBrush中如何导入和导出OBJ文件 ZBrush软件中对于文件的导出与储存格式是多样的.OBJ格式是如何导入和导出ZBrush的, ...

  7. bullet物理引擎与OpenGL结合 导入3D模型进行碰撞检测 以及画三角网格的坑

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置. ...

  8. Three.js中导入GLTF模型变黑无法看到模型

    一个下午都在Three.js官网导入GLTF模型,但是很不幸,根据官网DEMO中一直待有texture纹理,不能单独载入模型,后经一番查找,发现其实早已经单独讲模型载入到网页中,但是模型与背景色均为黑 ...

  9. AutoCAD中导入Inventor模型

    大家知道,Inventor能产生工程图,但有一部分用户更习惯在AutoCAD中去进行工程图的设计.从AutoCAD 2013开始支持导入Inventor模型,生成对应的工程图.有两种模式: 模式一: ...

最新文章

  1. 上海交大:我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
  2. 教你如何rEFIt-让你开机免按option!
  3. python手机版iphone-Python编程神器
  4. python环境下neo4j的安装与使用
  5. 进程间通信:管道和命名管道(FIFO)
  6. 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署
  7. 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
  8. rabbitmq订单模块_RabbitMQ播放模块! 构架
  9. 前端学习(1841):前端面试题之react和vue区别
  10. 在资源使用状况视图中查看资源的负荷情况
  11. Nature重磅综述|关于RNA-seq,你想知道的都在这(续)
  12. php+js实现异步图片上传,JavaScript实现异步图像上传功能
  13. 三周第三次课(12月27日)
  14. 如何循环数据库中的所有表名?
  15. day6面向对象--继承、多态
  16. ElasticSearch安装中文分词器IK和拼音分词器
  17. Nginx负载均衡配置实例详解(转发学习)留给未来需要的自己
  18. 删除的android电话怎么找回,通话记录删除了怎么恢复?安卓手机通话记录恢复方法...
  19. 抖音推荐算法详解(附流程图)
  20. MySQL忘记root密码解决方案

热门文章

  1. 蒂森电梯服务器显示0034,蒂森MC2电梯故障代码.pdf
  2. 互联网大公司体制内创新的重重阻力 从大公司的管理体制和考核制度等多个角度阐述,大公司体制内创新的困境,这也是国内多数公司面临的问题,本篇分析了阻碍体制内创新的原因,也给出了如何推进公司体制内的创新项目
  3. 【Interfacenavigation】修改通知徽章(42)
  4. java顶级内功心法(1) —— 可见性、MESI、volatile精讲 (8000字由浅入深)
  5. 怎样申请IMEI号?
  6. OrchardCore
  7. orchard mysql_Orchard MySql 修正版 下载
  8. QWT官方例子--animation
  9. 【已解决】关于Socket编程:客户端、服务端对象流交互数据丢失的问题
  10. 原码、反码、补码、移码