
GAMES101-关于现代计算机图形学学习笔记(作业02)。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
GAMES101-现代计算机图形学学习笔记(作业02)
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 模型对 Fragment Color 的计算。4. 修改函数 `texture_fragment_shader()` 在 `main.cpp` 中的实现:在此基础上,将纹理颜色视为公式中的参数 `kd`,从而实现 Texture Shading Fragment Shader。5. 修改函数 `bump_fragment_shader()` 在 `main.cpp` 中的实现:在 Blinn-Phong 模型的基础上,仔细研读该函数中的注释,并完成 Bump mapping 的实现。6. 修改函数 `displacement_fragment_shader()` 在 `main.cpp` 中的实现:在此基础上,进一步实现 displacement mapping 功能。7. 双线性纹理插值:运用双线性插值技术对纹理进行采样。在 `Texture` 类中新增一个方法 `Vector3f getColorBilinear(float u, float v)` 并通过 fragment shader 调用该方法。为了使双线性插值的视觉效果更加显著,建议您选择更精细的纹理图进行测试。同时,请务必提交双线性纹理插值和整体纹理插值的结果,并进行对比分析。
全部评论 (0)


