games101系列笔记及其作业
文章平均质量分 78
zgy1111222
这个作者很懒,什么都没留下…
展开
-
20 Games101 - 笔记 - 光场、颜色与感知
眼睛成像:我们看到这个三维世界,在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图,也能得到同样效果(虚拟现实)。原创 2024-04-11 20:12:49 · 1105 阅读 · 0 评论 -
19 Games101 - 笔记 - 相机与透镜
首先观察最下方的ISO变化对照片的影响,之前提到ISO就是一个简单的线性变化,对图像的结果乘上了一个倍数,随着ISO的值显著增大之后,虽然画面整体亮度会提升,但同时也会观察到画面有很多的噪点。但这种模糊也不一定不是坏事,正如上图例子所示,左边快门速度慢看到了锤子有落下的趋势,获得到了更多的图片信息,而右边的快门速度快,看上去更像是静止的画面,没有动态的效果。接着是中间一行的快门速度,图片下方的值越大代表速度越慢,快门打开时间越长,透镜的进光量越大,图片也就会越亮,但同时。原创 2024-04-11 19:10:55 · 686 阅读 · 0 评论 -
18 Games101 - 笔记 - 高级光线传播与复杂外观建模
本章虽然是高级光线传播与复杂外观建模,但是都没有展开讲,不涉及具体的计算。原创 2024-04-09 10:50:48 · 888 阅读 · 0 评论 -
17 - Games101 - 笔记 - 材质与外观
自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的渲染。原创 2024-04-09 10:49:11 · 433 阅读 · 0 评论 -
Games101-作业5-光线与三角形相交
这次作业还是比较简单的,主要是光线投射,需要填的部分就是把相机发出的光线坐标变换到物体所在的世界坐标和利用上课讲过的公式计算射线与三角形的交点。想搞清楚这个过程可以参考。原创 2024-04-02 17:07:50 · 289 阅读 · 0 评论 -
16 Games101 - 笔记 - 光线追踪(蒙特卡洛积分与路径追踪)
我们通过每次对光线方向的采样从而解出方程,假设每次采样100条,那么从人眼出发的第一次采样就是100条,在进行第二次反射之后就是10000条,依次类推,反射越多次光线数量便会爆炸增长,计算量会无法负担,那么如何才能使得光线数量不爆炸增长呢?通过对经过像素的光线重复采样,每次在反射的时候只按分布随机选取一个方向,解决了只对经过像素的光线采样一次,而对反射光线按分布采样多次所导致的光线爆炸问题。至此,我们成功通过蒙特卡洛的方式解出了渲染方程的积分值,也通过考虑直接光照与间接光照解决了递归的问题。原创 2024-03-28 15:29:04 · 962 阅读 · 0 评论 -
15 Games101 - 笔记 - 光线追踪(辐射度量学、BRDF与渲染方程)
不难发现正如上图中所说的,入射光线的radiance不仅仅是光源所引起的,还有可能是其他物体上着色点的反射光线的radiance,恰好反射到当前的着色点p(即间接光照),同时其他物体上的反射光线的radiance依然也是由直接光照和间接光照构成,因此这与whitted-style当中的光线追踪过程十分类似,也是一个递归的过程。(tips: 具体来说一般偏向用radiant flux来衡量光线的亮度,因为我们更关心的是单位时间的效果,事实上也是这么做的,想想在说白炽灯泡的时候也是说60W亮度,80W亮度)原创 2024-03-28 13:46:39 · 877 阅读 · 0 评论 -
14 Games101 - 笔记 - 光线追踪(利用包围盒技术加速光线追踪(KD-Tree and BVH)
以上就是本节的所有内容,首先详细介绍了加速光线追踪的基础即AABB,接着说明了为什么需要在AABB的基础之上设计别的加速方法,在这里具体介绍了Uniform spatial partition,KD-Tree,以及被广泛使用的BVH结构。原创 2024-03-28 09:45:26 · 989 阅读 · 0 评论 -
13 Games101 - 笔记 - 光线追踪(Whitted-Style光线追踪原理详解及实现细节)
光栅化的缺点:不能很好的处理全局光照。(因为Blinn-Phong这种局部模型无法处理全局效果!原创 2024-03-28 09:41:19 · 2341 阅读 · 0 评论 -
Games101-作业4-贝塞尔曲线(含提高)
这次作业比较简单。原创 2024-03-25 21:14:33 · 258 阅读 · 0 评论 -
12 Games101 - 笔记 - 几何(网格处理)、阴影图
曲面细分是指将一个模型的面合理的分成更多小的面,从而提升模型精度,使模型越来越光滑,提高渲染效果。原创 2024-03-22 14:52:12 · 841 阅读 · 0 评论 -
11 Games101 - 笔记 - 几何(曲线与曲面)
贝塞尔曲线:由控制点和线段组成的曲线,控制点是可拖动的支点。如图,蓝色为贝塞尔曲线,p1, p2, p3为控制点,曲线和初始与终止端点相切,并且经过起点p0与终点p3。原创 2024-03-22 14:51:18 · 499 阅读 · 1 评论 -
10 Games101 - 笔记 - 几何(基本表示方法)
几何分类:隐式几何(Implicit Geometry),显式几何(Explicit Geometry)原创 2024-03-22 14:15:39 · 407 阅读 · 1 评论 -
09 Games101 - 笔记 - 着色-补充(纹理应用)
纹理在现代的GPU的理解:Texture = 一块内存+滤波/范围查询纹理不必只存储颜色,还可以是高度等等。可以“伪造”详细的几何。原创 2024-03-21 15:42:42 · 346 阅读 · 1 评论 -
Games101-作业3(管线分析、深度插值、libpng warning、双线性插值等)
在前两次作业的基础上,添加光照模型和材质处理。以下内容参考了论坛和博客。原创 2024-03-21 14:10:23 · 2341 阅读 · 1 评论 -
09 Games101 - 笔记 - 着色(插值、高级纹理映射)
几何观点——利用面积比求重心坐标由这个定义,可以求出重心的坐标。原创 2024-03-16 16:18:00 · 775 阅读 · 2 评论 -
08 着色 - Games101-笔记 - (着色频率、图形管线、纹理映射)
07 着色(光照与基本着色模型)中提到Ping Point的概念,但并没有具体说是谁的法线向量,这就是着色频率的工作。着色频率上图分别对应着色应用在平面,顶点,像素的效果。原创 2024-03-16 16:07:42 · 1009 阅读 · 1 评论 -
07 Games101-笔记 - 着色(光照与基本着色模型)
着色的定义:物体应用材质的过程我们为什么能看到物体:人眼接收到了物体来的光。●高光●漫反射●环境光照。原创 2024-03-16 15:55:04 · 372 阅读 · 1 评论 -
Games101-作业2-光栅化和Z-buffer(含提高)
仿照depth_buf和frame_buf的定义和初始化即可。声明raterizer.cpp 构造函数// 每个像素分成四个样本clear样本颜色、深度。原创 2024-03-15 15:42:04 · 1000 阅读 · 1 评论 -
06 games101-光栅化(深度测试与抗锯齿)
●原始信号的任意一个位置,取其周围的平均●作用在一个信号上,用一种滤波操作,得到一个结果Result。原创 2024-03-14 12:52:17 · 1770 阅读 · 2 评论 -
05 games101-光栅化(三角形的离散化)
三角形的性质和优点:●最基础的多边形●其他图形可以拆解为三角形●三角形内一定是平面●内外的定义很明确●定义三个顶点后,三角形内可以插值。原创 2024-03-14 12:28:49 · 484 阅读 · 1 评论 -
Games101-作业1-旋转与投影(含提高)
根据作业的说明,可以明确框架已经完成了MVP中的模型和视图变换,我们要做的是投影变换和绕z轴旋转矩阵。这次作业框架知道main.cpp中流程是什么和每个接口的作用就可以了。读完说明和main.cpp注意:Eigen默认弧度制,但框架中接口函数参数提供的角为角度值,所以要先。原创 2024-03-12 11:21:51 · 1101 阅读 · 1 评论 -
03 games101-变换(二维与三维)
引入原因:用矩阵形式描述平移(非线性变换)原创 2024-03-12 11:05:30 · 368 阅读 · 1 评论 -
04 games101-变换(模型、视图、投影)
MVP变换用来描述视图变换的任务,即将虚拟世界中的三维物体映射(变换)到二维坐标中。MVP变换分为三步:●模型变换(model tranformation):将模型空间转换到世界空间(找个好的地方,把所有人集合在一起,摆个pose)●摄像机变换(view tranformation):将世界空间转换到观察空间(找到一个放相机的位置,往某一个角度去看)●投影变换(projection tranformation):将观察空间转换到裁剪空间(茄子!在这之后,还有一个视口变换。原创 2024-03-12 10:53:22 · 757 阅读 · 1 评论 -
02 games101-向量与线性代数
基础数学基础物理其他信号处理,数值分析…原创 2024-03-12 10:25:12 · 407 阅读 · 1 评论 -
Games101-作业0
本系列博客为记录笔者在学习课程时遇到的问题与思考。本次搭建过程参考https://blog.csdn.net/qq_21891843/article/details/130643143?以此记录方便自己下次使用。然后利用虚拟机镜像创建对应的Ubuntu虚拟机。创建完成后将和拖入虚拟机的Download文件夹中,并解压文件到当前目录下。双击文件即可将VScode安装至虚拟机中。之后配置g++、cmake和eigen环境。cmake 配置eigen 配置配置完成三件套之后再安装OpenCV依赖。原创 2024-03-11 19:36:12 · 1034 阅读 · 1 评论 -
01 game101-计算机图形学概述
games101系列笔记及其作业原创 2024-03-09 19:59:40 · 377 阅读 · 0 评论