- 博客(9)
- 收藏
- 关注
原创 【GAMES101】作业2 Triangles and Z-buffering
作业2的内容包含两个部分:1、完成三角形栅格化算法2、编写函数insideTriangel,用于在栅格化的时候判断某一点是否在三角形内。
2023-11-07 16:21:30
157
原创 【TinyRenderer】GitHub项目——迷你渲染器(3)
本文主要内容为讲解tiny renderer的第三课,(深度缓冲)。稍微观察一下上一篇文章经过填充和光照处理的人脸模型,总感觉看起来哪里不对劲。在眼部和嘴巴的地方存在错误的遮挡关系,口腔内部居然覆盖了嘴唇,这看上去非常的不真实。幸运的是,Z-buffer可以完美的解决这种不正确的现象。
2023-04-25 17:16:33
368
原创 【TinyRenderer】GitHub项目——迷你渲染器(2)
上一个项目主要讲解了tiny renderer的环境搭配,以及手工实现了Bresenham画线算法,最后导入了一个obj模型,并简单分析了一下obj文件的组成和如何读取,接下来让我们继续完善这个项目。在本文中将主要讲解如何对一个三角形进行内部填充。
2023-04-19 20:57:53
307
原创 【TinyRenderer】GitHub项目——迷你渲染器(1)
目前闫老师的GAMES101课程已经学完一半了,看到评论区说GitHub上有一个微渲染器的项目,可以仅仅使用几百行实现一个图形管线,感觉挺有意思的,GitHub上作者也给出了详细的教学(英文版),于是打算自己着手实现以下,正好可以全面的复习一下至今的所学内容。
2023-04-14 15:05:18
607
原创 【GAMES101】作业3 Pipeline and Shading(补档)
之前一篇文章完成了作业3的任务1-4,留下5、6两个任务分别为凹凸贴图和位移贴图,由于这两个问题没有在课程上细说,所以实现起来需要自己额外花费一些功夫,通过这篇文章详细讲解一下这两个问题的解决步骤。先给出课程中关于凹凸贴图的说明:所谓凹凸贴图,是指在着色的时候扰动物体表面法向量,达到在计算的时候改变着色值的效果,黑色的圆滑曲线为物体表面,黄色曲线为凹凸贴图,可以看出来,原本需要着色的位置法线向量为p,但是经过凹凸贴图修改后,法线向量变成了n,自然会改变漫反射和高光的值,达到修改着色的作用。
2023-04-12 11:50:28
345
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
534
1
原创 【C++ Primer Plus】第11章 使用类 编程练习
本文为为C++ Primer Plue 第11章 使用类编程练习的个人解答,如有错误请多多指教。
2022-08-18 12:34:05
528
原创 【C++ Primer Plus】第10章 对象和类 编程练习
本文为C++ Primer Plue 第10章 对象和类编程练习个人解答,如有错误请多多指教。
2022-08-13 18:02:15
859
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人