我是靠谱客的博主 活力山水,最近开发中收集的这篇文章主要介绍【OpenGL相关】OpenGL导入模型问题前置内容正文总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

固定管线的OpenGL在导入模型时会出现一系列报错,本篇文章提供了一个能让程序编译运行的解决方案,并非完美解决方案

文章目录

  • 前置内容
  • 正文
    • 1.缺少编译头文件
    • 2.缺少模型
    • 函数不安全
    • 3DS相关报错
    • 最后阶段
  • 总结

前置内容

我们的环境是建立在正确配置了工程项目的基础之上,可以看以前的文章
【OpenGL相关】用高版本visual studio打开老版本的OpenGL工程文件可能会遇到的问题
还有就是在Visual Studio installer里面安装MFC
MFC安装在这里插入图片描述

正文

1.缺少编译头文件

我们遇到的第一个问题自然是缺少编译头文件StdAfx.h、缺少3DS.h、vectorlib.h等头文件的问题。

我们把工程里的StdAfx.h文件,从工程项目里面添加到老师给的include文件夹里面
在这里插入图片描述

在这里插入图片描述可以看见添加StdAfx.h以后,我们缺少的头文件基本上都在这个文件夹里面了,接下来就是链接外部库
顺带一提,我的工程是用VS2022创建的,项目里面的文件都是用导入现有项创建的(只需要把.h和.cpp文件引入即可)
在这里插入图片描述
到项目属性的VC++目录,选择外部链接库
在这里插入图片描述
找到老师工程的include路径,将路径加入到外部包含目录里
在这里插入图片描述在这里插入图片描述

2.缺少模型

老师的模型文件放在data文件夹的3ds文件夹里,工程里面是没有data文件夹的,如果忽视这一点的话,就算配好了项目,直接调试的时候会提示没有模型可以导入。

这个data文件夹可以在老师的“运行目录”里面找到,找到以后拖到项目里就行(用的是相对路径)
在这里插入图片描述

工程文件夹

函数不安全

做到这一步以后可以直接运行WINDOWS调试器,这个时候会出现部分函数不安全的Error(和scanf、scanf_s在VS的报错是同一类)
在如图所示的地方加上_CRT_SECURE_NO_WARNINGS
在这里插入图片描述

3DS相关报错

继续调试程序,出现了3DS相关的报错。
在这里插入图片描述

需要在老师的include文件夹下面,把3ds.cpp文件 复制到工程文件夹,用导入现有项导入工程,最后结果如下图所示

在这里插入图片描述只要工程目录里有这两个文件,加上之前解决的一些问题,基本上就可以开始调试了
在这里插入图片描述

最后阶段

出现类似的错误可以无视,只需要点上边的继续就行,出现弹窗点确认(这就意味着整个程序是在bug上运行的,非常不稳定)
在这里插入图片描述在这里插入图片描述
最后运行结果如图所示

在这里插入图片描述
如果还有问题的话,可以用排除法排除有问题的模型在这里插入图片描述

总结

整个工程已经是非常老的框架了,固定管线的效果也不尽人意,花了大力气配好的环境却做不出好的效果,但好歹是能跑了。所以学有余力的同学可以去了解一下现代OpenGL

最后

以上就是活力山水为你收集整理的【OpenGL相关】OpenGL导入模型问题前置内容正文总结的全部内容,希望文章能够帮你解决【OpenGL相关】OpenGL导入模型问题前置内容正文总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部