VS2015中MFC界面使用OpenGL导入3DS模型(C++完整代码和源文件)

在Duilib中使用OpenGL导入3DS模型的说明见另一篇文章:https://blog.youkuaiyun.com/u012293114/article/details/103988648

0、实现思路

Created with Raphaël 2.2.0 开始(本文所建模型名称为DC10) 第1步:在SolidWorks中绘制三维模型,输出DC10.STL格式文件 第2步:将.STL文件导入3DSMax中确立纹理坐标,输出DC10.3DS格式文件 第3步:将DC10.3DS 文件再导入Deep Exploration中进行三维模型材质 、纹理的二次 处理,或直接输出DC10.cpp格式文件 第4步:新建MFC应用程序项目,将DC10.cpp文件加入到MFC项目中,使用OpenGL库函数进行渲染 结束

做了个简单的MFC界面,导入了DC10.3DS模型,控制模型自动缩放和旋转,效果如下所示,本篇文章将针对第4步进行详细记录,文章最后附有完整代码和源文件。
在这里插入图片描述

1、新建MFC应用程序

【应用程序类型】选择【基于对话框】,其他选项均默认,完成创建。
在这里插入图片描述
如出现以下提示,点击{编辑代码】,打开.rc文件
在这里插入图片描述
找到【DESIGNINFO】这段代码,注释掉或删除,然后保存
在这里插入图片描述
编译运行,如下图所示,MFC窗口建立完毕
在这里插入图片描述
在【资源视图】中找到对话框,选中【TODO:在此放置对话框控件】,删除,保存(需要关掉所有.cpp文件才可以打开资源视图),如下图所示
在这里插入图片描述

2、配置OpenGL文件

(1)将opengl所需要的文件复制到项目文件夹下,共三个文件夹:bin(存放.dll文件)、include(存放.h文件)、lib(存放.lib文件)

  • 【bin】文件夹包含:【glut.dll】和【glut32.dll】
  • 【include】文件夹内新建【GL】文件夹,【GL】文件夹内包含:【GLAUX.H】和【glut.h】
  • 【lib】文件夹包括:【GLAUX.LIB】、【glut.lib】和【glut32.lib】

(注:GLU.h和GL.h文件在系统内,不需要额外添加处理,如系统找不到,那么GL的lib、dll、h文件也同glut相关文件一样处理)
在这里插入图片描述

(2)配置环境。在项目右击-》【属性】-》【配置属性】-》【VC++目录】-》编辑【包含目录】-》添加【$(solutiondir)include】-》确定-》编辑【库目录】-》添加【$(solutiondir)lib】-》确定-》【确定】
(注:确保所配置环境的属性与当前运行环境一致,如下图所示)
在这里插入图片描述
(3) 在【stdafx.h】中加入OpenGL头文件

//OpenGL
#include <windows.h>
#include <GL\gl.h>
#include <GL\glu.h>
#include <GL/glut.h>
#include <GL/GLAUX.H>

配置完成,编译运行成功

3、将模型.cpp文件导入MFC项目

(1)在【源文件】右键,使用【类向导】添加新类,如下图所示

在这里插入图片描述
类名设为C3DSModel,继承CWnd基类,完成,在C3DSModel.h和C3DSModel.cpp中添加【#include “stdafx.h”】头文件
在这里插入图片描述

(2)打开DC10.cpp文件,将除函数外的结构体、数组等复制到C3DSModel.h头文件中,如下图所示

在这里插入图片描述

(3)将其余函数复制到C3DSModel.cpp文件中,并在函数名前加入【C3DSModel::】,如下图所示

在这里插入图片描述

(4)鼠标放在在红色下划线函数-》【显示可能的修补程序】-》【创建】-》保存,为所有未声明函数执行此操作,可以看见C3DSModel.h文件中自动创建了以下三个声明

在这里插入图片描述
编译通过,运行成功

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值