解决在OpenGL中导入.obj模型所遇一些问题的方法
解决在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模型所遇一些问题的方法相关推荐
- 【Three.js】解决使用Three.js导入obj模型不可见问题详细记录
问题描述: 近期在做三维重建项目,需要把最终生成的obj文件导入到web端浏览,这里使用的是three.js(另一个是babylon.js),但博主发现导入meshlab生成的obj时无法显示模型,但 ...
- 解决导入obj模型时出现模型镂空的问题
解决导入obj模型时出现模型镂空的问题 这实际上是因为导入的模型采用四边形而非三角形的面片,导致splish采样不全. 使用houdini的divide节点就能将任意面片转化为三角形面片.从而解决问题 ...
- 使用three.js导入OBJ模型,变更、修改成其他OBJ模型和模型不可见原因说明
最近的一个项目需要在HTML中对OBJ模型进行大量的变更,修改为其他模型.基于这个需求下,这里有一种解决方案. 另外在各大论坛上的相关博客基本都是那几种导入obj例子····并没有对后续操作进行说明. ...
- Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色
Java 3D导入obj模型后颜色显示 出错显示白色,或者笔记本电脑显示彩色,但是台式机仍为白色 代码问题 首先,确保代码中编辑了给模型导入颜色 //function:读取.obj文件,并将其添加到S ...
- ADS中导入SPICE模型
这里写目录标题 在官网中下载SPICE模型 ADS中导入SPICE模型 在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果desti ...
- zbrush导入obj模型不显示_ZBrush中如何导入和导出OBJ文件—ZBrush教程
原标题:ZBrush中如何导入和导出OBJ文件-ZBrush教程 ZBrush中如何导入和导出OBJ文件 ZBrush软件中对于文件的导出与储存格式是多样的.OBJ格式是如何导入和导出ZBrush的, ...
- bullet物理引擎与OpenGL结合 导入3D模型进行碰撞检测 以及画三角网格的坑
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置. ...
- Three.js中导入GLTF模型变黑无法看到模型
一个下午都在Three.js官网导入GLTF模型,但是很不幸,根据官网DEMO中一直待有texture纹理,不能单独载入模型,后经一番查找,发现其实早已经单独讲模型载入到网页中,但是模型与背景色均为黑 ...
- AutoCAD中导入Inventor模型
大家知道,Inventor能产生工程图,但有一部分用户更习惯在AutoCAD中去进行工程图的设计.从AutoCAD 2013开始支持导入Inventor模型,生成对应的工程图.有两种模式: 模式一: ...
最新文章
- 上海交大:我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
- 教你如何rEFIt-让你开机免按option!
- python手机版iphone-Python编程神器
- python环境下neo4j的安装与使用
- 进程间通信:管道和命名管道(FIFO)
- 基于VS2017的Docker Support体检ASP.NET Core站点的Docker部署
- 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
- rabbitmq订单模块_RabbitMQ播放模块! 构架
- 前端学习(1841):前端面试题之react和vue区别
- 在资源使用状况视图中查看资源的负荷情况
- Nature重磅综述|关于RNA-seq,你想知道的都在这(续)
- php+js实现异步图片上传,JavaScript实现异步图像上传功能
- 三周第三次课(12月27日)
- 如何循环数据库中的所有表名?
- day6面向对象--继承、多态
- ElasticSearch安装中文分词器IK和拼音分词器
- Nginx负载均衡配置实例详解(转发学习)留给未来需要的自己
- 删除的android电话怎么找回,通话记录删除了怎么恢复?安卓手机通话记录恢复方法...
- 抖音推荐算法详解(附流程图)
- MySQL忘记root密码解决方案
热门文章
- 蒂森电梯服务器显示0034,蒂森MC2电梯故障代码.pdf
- 互联网大公司体制内创新的重重阻力 从大公司的管理体制和考核制度等多个角度阐述,大公司体制内创新的困境,这也是国内多数公司面临的问题,本篇分析了阻碍体制内创新的原因,也给出了如何推进公司体制内的创新项目
- 【Interfacenavigation】修改通知徽章(42)
- java顶级内功心法(1) —— 可见性、MESI、volatile精讲 (8000字由浅入深)
- 怎样申请IMEI号?
- OrchardCore
- orchard mysql_Orchard MySql 修正版 下载
- QWT官方例子--animation
- 【已解决】关于Socket编程:客户端、服务端对象流交互数据丢失的问题
- 原码、反码、补码、移码