GAMES101
文章平均质量分 81
仰望—星空
我不懒,还没有简历
展开
-
计算机图形学-GAMES101-13
光沿着直线传播。光线和光线不会发生碰撞。光线追踪运用光路的可逆性。光线从光源发出,会发生反射、折射,光线追踪就是模拟这个过程。追踪:从终点(眼睛或相机)开始,连接到视口上的每一个像素。连接会产生一条光路,我们沿着每条光路追踪场景中的物体。如果追踪到某个物体,我们再将物体和光源进行连线,判断物体是否能被光源照亮。如果物体能被光源照亮,那么我们就可以计算这条光路上的能量,随着进行着色。原创 2023-05-20 16:51:26 · 655 阅读 · 0 评论 -
计算机图形学-GAMES101-12阴影
硬阴影就是被本影挡住的部分,而软阴影是被部分光源照亮。如果要做出软阴影,必须使用具有一定体积大小的点光源。Shadow Mapping使用多大的分辨率?Shadow Mapping需要更多的计算。硬阴影和软阴影有什么区别?只能计算硬阴影(理论上)原创 2023-05-20 13:34:16 · 708 阅读 · 0 评论 -
计算机图形学-GAMES101-11
如上图所示,我们使用黑色的起点-终点和两个蓝色的弯曲控制点来表示一条曲线。要注意的是,我们想要连接起来的曲线连续。因为我们知道Bezaer曲线在起点和终点处的切线方向分别都等于它们和对应控制点的连线,因此我们需要使得前一条曲线的终点和对应控制点的连线经过后一条曲线起点的控制点,当然这里说的两条曲线分别的终点和起点其实是一个点,我们要求这三点共线,并且中间拿个点应该是两个控制点的终点,这样才能保证切线的大小相同。使用三维空间中的点,即可插值出三维空间中的曲线。以上保证了曲线的C1连续,工业上使用C2连续。原创 2023-05-20 12:59:58 · 1118 阅读 · 0 评论 -
计算机图形学-GAMES101-10
原模型网格->逐面Shading->逐像素Phong Shading->纹理贴图->换个纹理再贴图->环境光照。原创 2023-05-20 11:18:53 · 802 阅读 · 0 评论 -
计算机图形学-GAMES101-9
Nearset是一种纹理的过滤方式,它表示当屏幕上的像素点插值出来的纹理坐标为(x,y)时,找到纹理贴图中与(x,y)距离最近的像素点,把贴图中像素点的属性赋值给屏幕像素点。问题分析:当在远处时,一个像素点内部包含了一大块纹理区域,这一大块纹理区内颜色的变化是很快的,而我们只使用一个采样点区采样它,因此我们得到的颜色值是不足以代表这一整块区域的,也因此我们的采样频率远低于信号的频率,就会发生走样。我们根据像素的纹理坐标,找到它四周的纹理像素点,根据纹理坐标到纹理像素点之间水平和竖直的相对距离进行插值。原创 2023-05-19 20:28:55 · 1270 阅读 · 0 评论 -
CG-3D渲染器-0.1
需要注意的一件事是,如果我们要把x轴缩放0.5倍,我们通常会传入的scale_size为(1,0,0),也就是说我们默认认为传入0的缩放倍率表示不进行缩放,因此我们需要判断scale_size的分量如果为0则设置为1(缩放倍率为1即不缩放)。当旋转轴axis的起点pos不为原点时,我们先对原模型矩阵进行平移,将pos移到原点(0,0,0)上,使得旋转轴axis过原点。镜像矩阵我们可以认为不进行缩放,即倍率只能为1或-1,因此我们将参数axle设为整数int类型,这样判断其值是否为0而不进行操作,也很简单。原创 2023-05-19 16:42:21 · 940 阅读 · 0 评论 -
Eigen的配置和使用(GAMES101-0作业)
【代码】Eigen的配置和使用(GAMES101-0作业)原创 2023-05-18 11:57:15 · 399 阅读 · 0 评论 -
计算机图形学-GAMES101-8
渲染管线的流程如下图所示。场景种的模型是如何定义的?模型先定义了一系列顶点,然后定义了每个三角形分别对应的顶点,这一只需要把点按照三角形连接起来就变成了模型。首先我们将所有顶点输入到三维空间中,然后进行视图变换、投影变换、视口变换,将三维空间中的顶点映射到了二维屏幕空间中。然后我们再根据三角形的顶点信息,分别连接每一个三角形的顶点。当屏幕上存在许许多多的二维三角形时,我们遍历每一个三角形,按照三角形的包围盒去对像素进行光栅化,即对每个像素进行采样、进行深度测试,找到实际能显示在屏幕上的像素。原创 2023-05-17 19:43:29 · 440 阅读 · 0 评论 -
计算机图形学-GAMES101-7
场景中有很多的三角形,如果实现可见性和遮挡呢?一个简单的想法是,从远到近画,近处的物体自然会覆盖掉远处的物体,这种画法也叫画家算法。原创 2023-05-17 16:32:19 · 928 阅读 · 0 评论 -
计算机图形学-GAMES101-6
走样的定义:对两种频率不同的信号进行采样,根据得到的结果我们无法区分它们。下图中我们可以看到两条曲线,它们分别对应两条原始信号,如果我们使用图中圆圈的点去采样这两条原始信号,会得到相同的采样结果,这就是走样。经过上面的阐述,我们先对原始信号进行低通滤波,这样我们再进行采样,就不容易发生走样。即先进行模糊,再进行采样,这就是反走样。在实际操作中,我们应该如何模糊一个三角形?我们用一定大小的滤波器对图像进行卷积,达到模糊操作。原创 2023-05-17 14:24:43 · 409 阅读 · 0 评论 -
计算机图形学-GAMES101-5
长宽比Aspect ratio:width / height垂直的可视角度:fovY远近平面的距离:n和f通过长宽比和垂直的可视角度可以求出水平的可视角度。如下图所示,根据fovY和n可以计算出近平面的顶点坐标,再根据宽高比Aspect即可计算出近平面的高度,因此根据上述参数可以计算出所有屏幕的所有信息。远平面同理。因此我们只需要定义fov和宽高比Aspect以及n和f即可定义一个确定的视锥。原创 2023-05-17 11:23:15 · 331 阅读 · 0 评论 -
计算机图形学-GAMES101-4
当我们旋转Q角度和旋转-Q角度时,变换矩阵中旋转的部分如下图所示:旋转Q和旋转-Q的变换矩阵应该互为逆矩阵,而我们可以看到它们互为对方矩阵的转置。其实Rq是一个正交矩阵,因此其逆矩阵就是它自己的转置。当我们旋转图形一个角度为Q时,如果我们想旋转为-Q,可以直接将其变换矩阵中旋转的部分做转置。原创 2023-05-17 00:06:36 · 436 阅读 · 0 评论 -
计算机图形学-GAMES101-3
我们要做变换,就要找到变换前坐标和变换后坐标之间的一种关系,根据这种关系将原坐标变换为新坐标,并将坐标和变换写成矩阵形式。点和向量齐次坐标的表示,向量w=0代表了向量的平移不变性。也表述了向量+向量=向量、点-点=向量 等运算规则。扩展齐次坐标下点w分量的含义。原创 2023-05-16 19:21:16 · 1065 阅读 · 0 评论 -
计算机图形学-GAMES101-2
表示一个方向。计算向量的方法:AB =(B-A)。向量对应的单位向量 = AB / ||AB||。向量具有平移性,我们不关心它的开始位置。向量求和:三角形法则和平行四边形法则。在代数上计算直接把向量的对应坐标相加即可。向量可表示为一个列向量。原创 2023-05-16 17:04:11 · 820 阅读 · 0 评论