自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 GAMES101 作业5

调用 Render(scene) 函数。在遍历所有像素的循环里,生成对应的光线。为每个像素生成对应一条对应光线,我这里使用的自己推导的算法,常规的通用方法见。根本思想其实就是先求出光线与三角形所在的平面的交点,在判断是否在三角形内。2.用Moller-Trumbore 算法来判断光线与三角形是否相交;利用Moller-Trumbore 算法来判断光线与三角形是否相交。最后得到的结果在build文件中查看。1.为每个像素生成一条对应的光线;这里直接利用闫老师给出的公式。

2023-06-23 11:36:52 176 2

原创 GAMES101 作业 4

1. 考虑一个 p 0 , p 1 , ... p n 为控制点序列的 Bézier 曲线。使用 [0,1] 中的多个不同的 t 来执行上述算法,你就能得到相应的 Bézier 曲线。需要实现 de Casteljau 算法来绘制由 4 个控制点表示的 Bézier 曲线。实现 de Casteljau 算法来返回 Bézier 曲线上对应点的坐标。2. 用 t : (1 − t) 的比例细分每个线段,并找到该分割点。3. 得到的分割点作为新的控制点序列,新序列的长度会减少一。

2023-06-21 21:14:13 76

原创 GAMES101 作业2

如果在内部,则将其位置处的插值深度值 (interpolated depth value) 与深度。• static bool insideTriangle(): 测试点是否在三角形内。如果当前点更靠近相机,设置像素颜色并更新深度缓冲区 (depth buffer)。遍历此 bounding box 内的所有像素(使用其整数索引)。• rasterize_triangle(): 执行三角形栅格化算法。缓冲区 (depth buffer) 中的相应值进行比较。心的屏幕空间坐标来检查中心点是否在三角形内。

2023-06-17 08:11:23 94 1

原创 GAMES101 作业 01

• get_projection_matrix(float eye_fov, float aspect_ratio, floatzNear, float zFar): 使用给定的参数逐个元素地构建透视投影矩阵并返回该矩阵。• get_model_matrix(float rotation_angle): 逐个元素地构建模型变换矩阵并返回该矩阵。在作业0曾推导二维的旋转矩阵,三维空间绕x、y、z轴的旋转矩阵可以类比转换为二维进行推导。2.远平面中心坐标不变。*绕y轴旋转特殊(可借助右手坐标系的特点理解)。

2023-06-13 09:25:33 101 1

原创 Games101 作业0

给定一个点 P=(2,1), 将该点绕原点先逆时针旋转 45°,再平移 (1,2),计算出。综上所述,我们可以推测对于任意一个点m(x,y)旋转。变换后点的坐标(要求用齐次坐标进行计算).​​​​​​​)),令B(0,1)逆时针旋。*想进行线性运算需要利用齐次坐标的性质。根据作业要求设立点 P(2,1)令2*2旋转矩阵r为(cos(令点A(1,0)逆时针旋转。*默认点或向量为列向量。构建3*3旋转矩阵 r。构建3*3平移矩阵m。

2023-06-12 23:42:36 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除