实验11导入OBJ模型

实验11导入OBJ模型
实验11导入OBJ模型

实验十一导入OBJ模型

一、实验目的

(一)了解Obj和mtl文件的基本格式

(二)了解导入OBJ模型的基本过程

(三)掌握将OBJ模型从文件中导入并绘制到场景中的方法

二、实验内容

在实验十的基础上,通过导入OBJ模型在实验九的场景中绘制一个人物和一把椅子。三、实验步骤

(一)本次实验不需要新建一个项目,而是在实验十的基础进行扩展。(注意做好备份)这里只需要新增两个文件:ObjLoader.h和ObjLoader.cpp。实验中的文件如下图所示

(二)新建一个文件取名为media,放到cpp文件相同路径下,如下图所示。

然后将下图中的文件考入到media文件夹中。(建议大家开始敲代码前,先用记事本打开obj文件和mtl文件看看其中的内容,结合教材说明有助于大家更好理解代码)

(三)编写ObjLoader.h文件

(四)编写ObjLoader.cpp文件

(五)修改d3dStencil.cpp文件

1. 将编写好的ObjLoader.h包含到头文件中

2. 新增两个全局变量

3. 修改Setup函数

在函数返回之前添加下列语句

(1)将原本创建顶点缓存的代码放到Display函数中,具体操作如下。

首先找到下面这段代码

起始从

结束

将这段代码考贝到Display函数中下面这段代码之前

(2)在上次实验中添加的虚拟摄像机的代码前加入下列代码

4. 修改Display函数

在实验十设置完虚拟摄像机之后,以及刚刚从Setup函数中拷贝过来的创建顶点缓存的代码之前,写入下列代码

(六)编译后会出现下面结果

思考题:

(1)想一想,为什么需要将Setup函数中的创建顶点的代码放到Display函数中去?如果不这么做有没有其他方法达到同样效果?

(2)如果要在镜子中绘制椅子和人物的倒影该怎么做?

相关主题
相关文档
最新文档