【OpenGL相关】OpenGL导入模型问题

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

前置内容

我们的环境是建立在正确配置了工程项目的基础之上,可以看以前的文章
【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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值