Games101:作业3 (旋转模型与使用其他模型)

这篇博客介绍了如何在图形学作业中旋转模型并切换不同着色模型。通过调整命令行参数实现模型任意旋转,并解决模型纹理显示问题。同时,文章详细说明了更换模型的步骤,包括模型和纹理路径的修改,以及遇到的深度问题和解决方法。还提供了相关论坛链接以供参考。
摘要由CSDN通过智能技术生成

目录

旋转模型

改用其他模型

参考链接


旋转模型

本文分为两部分,第一部分是对于原始模型以下方的命令形式调用,通过键入a或d对模型进行旋转,观察模型结果。

./Rasterizer

如果模型旋转无变化,注意未必是电脑渲染结果慢,而是angle角度变化太小了,可以设置anlgle = 10,如下图所示。

 如此便可以任意旋转,下图是我旋转到某一角度的截图。

如果想要使用其他的着色模型,需要修改active_shader为你想要使用的着色模型,注意如果要想使用texture纹理着色,还需要同步修改texture_path,即纹理的路径。如果纹理出现裂缝,可以参考如下链接:作业3:小牛正面或背面正对镜头时出现缝隙 – 计算机图形学与混合现实研讨会

 如果仍然渲染很慢,可以参考这个帖子:

关于作业3渲染慢的问题 – 计算机图形学与混合现实研讨会

改用其他模型

作业的提高部分有一项是使用其他模型,作业框架里也给出了其他的模型,这里来说一下在使用它们时会出现的一些问题。

首先是如何改模型,其实只需要更改模型位置和纹理位置。

模型位置 :

纹理位置:

 注意,模型都是.obj结尾,但是纹理有.jpg格式,还有.tif格式,修改时要完善。

下面展示一下我的结果,rock:

cube:

 bunny,这个模型的结果可能会特别小,需要是因为人眼位置距离模型太远了,初始人眼位置为{0,0,10},人眼朝-Z方向观看,如果想要把模型变大,需要把人眼往-Z方向移动,即减小Z值,我这里选择使用{0,0,1},结果如下所示: 

Crate模型有些问题如果直接使用原始模型会导致出现深度问题:

原因在于.obj文件有问题,它的obj是以四个顶点的矩形记录的,但是在我们的代码里是以三个顶点一个小三角形的方式读取的,导致模型缺少、错位,详见:

作业3换模型—crate出大问题 – 计算机图形学与混合现实研讨会

 解决方式是重新配置.obj文件,将其分成若干个小三角形:

f 5/1 2/3 6/2
f 5/1 1/4 2/3 
f 6/1 3/3 7/2
f 6/1 2/4 3/3 
f 7/1 4/3 8/2
f 7/1 3/4 4/3
f 8/1 1/3 5/2
f 8/1 4/4 1/3
f 1/1 3/3 2/2
f 1/1 4/4 3/3
f 8/1 6/3 7/2
f 8/1 5/4 6/3

即可得到正确答案:

参考链接

作业3:小牛正面或背面正对镜头时出现缝隙 – 计算机图形学与混合现实研讨会

关于作业3渲染慢的问题 – 计算机图形学与混合现实研讨会

作业3换模型—crate出大问题 – 计算机图形学与混合现实研讨会

作业3新模型问题 – 计算机图形学与混合现实研讨会

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值