GAMES101
文章平均质量分 71
玉拾一
GISer在读学生,致力于使用Coding的方法实现和提高GIS的实用性
展开
-
【GAMES101】作业2 Triangles and Z-buffering
作业2的内容包含两个部分:1、完成三角形栅格化算法2、编写函数insideTriangel,用于在栅格化的时候判断某一点是否在三角形内。原创 2023-11-07 16:21:30 · 117 阅读 · 0 评论 -
【GAMES101】作业1 旋转与投影
本文将对GAMES101系列的作业1进行补全。原创 2023-11-07 10:15:51 · 74 阅读 · 0 评论 -
【GAMES101】作业3 Pipeline and Shading(补档)
之前一篇文章完成了作业3的任务1-4,留下5、6两个任务分别为凹凸贴图和位移贴图,由于这两个问题没有在课程上细说,所以实现起来需要自己额外花费一些功夫,通过这篇文章详细讲解一下这两个问题的解决步骤。先给出课程中关于凹凸贴图的说明:所谓凹凸贴图,是指在着色的时候扰动物体表面法向量,达到在计算的时候改变着色值的效果,黑色的圆滑曲线为物体表面,黄色曲线为凹凸贴图,可以看出来,原本需要着色的位置法线向量为p,但是经过凹凸贴图修改后,法线向量变成了n,自然会改变漫反射和高光的值,达到修改着色的作用。原创 2023-04-12 11:50:28 · 277 阅读 · 1 评论 -
【GAMES101】作业3 Pipeline and Shading
与Blinn-Phong反射模型函数差别不大,仅仅是修改了kd的值,变成了纹理颜色,其余代码全部照搬。理论上Blinn-Phong反射模型得到的结果为一个值,但为了方便矩阵计算,所以phong_fragment_shader函数返回值为Vector3f类型,是一个1×3的向量,其中每个元素值相同,均等于反射模型的结果值。逐个像素点处理时,需要判断外接矩形中每一个像素点是否再三角形内,对于每一个三角形内部的点,通过重心坐标公式求出alpha,beta,gamma,在进行插值求出z-buffer的结果。原创 2023-04-11 20:13:17 · 412 阅读 · 1 评论