
GAMES101-现代计算机图形学学习笔记(作业三)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本笔记为《GAMES101》课程第三份作业的学习总结与实践记录,涵盖现代计算机图形学的核心概念和算法。通过理论结合实际编程练习,深入探讨了光线追踪、纹理映射及几何变换等关键技术。
在这次编程任务中,我们将进一步模拟现代图形技术。我们在代码中添加了Object Loader(用于加载三维模型)、Vertex Shader与Fragment Shader,并且支持纹理映射。
具体来说,在本次实验中的主要任务包括:
1. 修改函数`rasterize_triangle(const Triangle& t)`在文件`rasterizer.cpp`:在此处实现类似于作业2的插值算法,以完成法向量、颜色和纹理颜色的插值。
2. 修改函数`get_projection_matrix()`在文件`main.cpp`: 将之前实验中自己实现的投影矩阵填入此处。此时可以运行命令 `./Rasterizer output.png normal` 来观察法向量的效果。
3. 修改函数`phong_fragment_shader()`在文件`main.cpp`: 实现Blinn-Phong模型来计算片段颜色。
4. 修改函数`texture_fragment_shader()`在文件`main.cpp`: 在实现Blinn-Phong的基础上,将纹理颜色作为公式中的kd值,以完成Texture Shading FragmentShader。
5. 修改函数`bump_fragment_shader()`在文件`main.cpp`: 在实现Blinn-Phong的基础上仔细阅读该函数的注释,并根据要求进行Bump mapping。
6. 修改函数`displacement_fragment_shader()`在文件`main.cpp`: 基于已有的Bump Mapping,进一步实现Displacement Mapping。
全部评论 (0)


