
GAMES101现代计算机图形学课程笔记(作业05)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本笔记为GAMES101现代计算机图形学课程第五次作业的学习总结,涵盖了光照模型、材质属性及渲染技术等核心内容。
在这部分课程中,我们将专注于使用光线追踪来渲染图像。在光线追踪中最关键的操作之一是找到光线与物体的交点。一旦找到了这个交点,就可以执行着色并返回像素颜色。本次作业的任务包括实现两部分内容:生成光线和计算光线与三角形的相交。
代码框架的工作流程如下:
1. 从 `main` 函数开始,定义场景参数,并向其中添加球体或三角形等物体以及其材质属性,同时设置光源。
2. 调用 `Render(scene)` 函数。在遍历所有像素的过程中生成对应的光线并将得到的颜色保存到帧缓冲区中,在渲染完成后将帧缓冲区的信息保存为图像文件。
3. 在生成每个像素的对应光线后调用 `CastRay` 函数,该函数通过调用 `trace` 来查找最近的物体交点。
4. 然后在找到的交点处执行着色操作。已提供了三种不同的着色情况供选择。
你需要修改以下代码:
- 在 `Renderer.cpp` 的 `Render()` 中为每个像素生成对应光线并调用 `castRay()` 函数以获取颜色,然后将该颜色存储到帧缓冲区中。
- 修改 `Triangle.hpp` 中的 `rayTriangleIntersect()`: 此函数需要使用 Moller-Trumbore 算法更新参数。其中 v0, v1, v2 分别是三角形的三个顶点,orig 是光线起点,dir 是单位化的方向向量;而 tnear、u 和 v 则作为输出变量由算法计算得出。
全部评论 (0)
还没有任何评论哟~


