自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【GAMES101】作业2 Triangles and Z-buffering

作业2的内容包含两个部分:1、完成三角形栅格化算法2、编写函数insideTriangel,用于在栅格化的时候判断某一点是否在三角形内。

2023-11-07 16:21:30 88

原创 【GAMES101】作业1 旋转与投影

本文将对GAMES101系列的作业1进行补全。

2023-11-07 10:15:51 55

原创 【TinyRenderer】GitHub项目——迷你渲染器(3)

本文主要内容为讲解tiny renderer的第三课,(深度缓冲)。稍微观察一下上一篇文章经过填充和光照处理的人脸模型,总感觉看起来哪里不对劲。在眼部和嘴巴的地方存在错误的遮挡关系,口腔内部居然覆盖了嘴唇,这看上去非常的不真实。幸运的是,Z-buffer可以完美的解决这种不正确的现象。

2023-04-25 17:16:33 266

原创 【TinyRenderer】GitHub项目——迷你渲染器(2)

上一个项目主要讲解了tiny renderer的环境搭配,以及手工实现了Bresenham画线算法,最后导入了一个obj模型,并简单分析了一下obj文件的组成和如何读取,接下来让我们继续完善这个项目。​​​​​​​在本文中将主要讲解如何对一个三角形进行内部填充。

2023-04-19 20:57:53 235

原创 【TinyRenderer】GitHub项目——迷你渲染器(1)

目前闫老师的GAMES101课程已经学完一半了,看到评论区说GitHub上有一个微渲染器的项目,可以仅仅使用几百行实现一个图形管线,感觉挺有意思的,GitHub上作者也给出了详细的教学(英文版),于是打算自己着手实现以下,正好可以全面的复习一下至今的所学内容。

2023-04-14 15:05:18 390

原创 【GAMES101】作业3 Pipeline and Shading(补档)

之前一篇文章完成了作业3的任务1-4,留下5、6两个任务分别为凹凸贴图和位移贴图,由于这两个问题没有在课程上细说,所以实现起来需要自己额外花费一些功夫,通过这篇文章详细讲解一下这两个问题的解决步骤。先给出课程中关于凹凸贴图的说明:所谓凹凸贴图,是指在着色的时候扰动物体表面法向量,达到在计算的时候改变着色值的效果,黑色的圆滑曲线为物体表面,黄色曲线为凹凸贴图,可以看出来,原本需要着色的位置法线向量为p,但是经过凹凸贴图修改后,法线向量变成了n,自然会改变漫反射和高光的值,达到修改着色的作用。

2023-04-12 11:50:28 254 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 373 1

原创 【C++ Primer Plus】第11章 使用类 编程练习

本文为为C++ Primer Plue 第11章 使用类编程练习的个人解答,如有错误请多多指教。

2022-08-18 12:34:05 438

原创 【C++ Primer Plus】第10章 对象和类 编程练习

本文为C++ Primer Plue 第10章 对象和类编程练习个人解答,如有错误请多多指教。

2022-08-13 18:02:15 782

空空如也

空空如也

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

TA关注的人

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