- 博客(17)
- 收藏
- 关注
原创 GAMES101-图形学笔记(17)动画(下)
局部截断误差(local truncation error):每一步的误差;全局累积误差(total accumulated error):总的累积误差;但重要的是步长h 跟误差的关系,即对应的阶数关系,隐式的欧拉方法是1阶,阶数越高代表方法越好;
2024-06-08 13:50:06
752
原创 GAMES101-图形学笔记(16)动画(上)
在关键的位置上制作一帧画面,而中间的过程采用自动生成的方式形成动画;在角色身体、脸部等位置创造一系列控制点,通过调整控制点的位置,带动脸部其他从点移动,从而实现表情变化,动作变化等;对动画每一帧创建新的粒子,计算每个粒子的受力,更新每个粒子的位置和速度,结束某些粒子生命,最后渲染;在真人身上放置许多控制点,在不同时刻对人进行拍照,记录控制点的位置,同步到对应的虚拟人物上;不能模拟布料,因为它不具备布的特性,不能抵抗切力和对折力,布料不能无限对折的;不同弹簧的组合,会有不同的性质,可以模拟不同的物品;
2024-06-06 17:45:56
918
原创 GAMES101-图形学笔记(15)颜色与感知
目录1 光场(Light Field)1.1全光函数1.2定义光线Ray1.3光场照相机2.颜色(Color)2.1物理基础2.2生物学基础视网膜感光细胞:视杆细胞(Rods)、视锥细胞(Cones)颜色的三刺激理论(Tristimulus Theory of Color)同色异谱现象(Metamerism)2.3色彩匹配2.4颜色空间(Color Spaces)CIE XYZ系统色域GamutHSV(Hue-Saturation-Value) Color SpaceCIELAB SpaceCMYK系统以2
2024-06-05 14:44:58
723
原创 GAMES101-图形学笔记(14)相机
在focal point 附近的一段范围内的CoC并不大(比一个像素小 或者差不多大),如果从场景中来的光经过理想化的透镜后落在这一段内, 可以认为场景中的这段深度成像是清晰的,其他深度则是模糊的;:改变传感器每个像素吸收光的时间,快门打开时间长,拍摄运动的物体就会拖影,因为物体在你光圈打开这段时间内,一直在运动,而相机把每一刻的信息都记录下来;如果没有透镜和小孔,直接用传感器记录光线,传感器并不区分来自哪个方向的光线,传感器上一个点记录了所有方向的光线,最终成像是一团浆糊;假设薄透镜的焦距可以任意改变;
2024-06-04 13:38:17
919
原创 GAMES101-图形学笔记(12)材质与贴图
区分不同的材质就在于光线的传播不同,渲染方程中通过对BRDF函数的定义,使物体表现了一定程度的镜面反射+漫反射从而达到某种质感;假设出入射光均匀分布,漫反射入射和出射的Irradiance相等,那么每个立体角的radiance也相等,即L0=Li;wi为入射方向,w0为出射方向,fr是常数,表示反射率,因为入射光均匀分布,Li也是常数,可以提到积分外,最后得到下图公式;常见于各种抛光的金属材质;从空气入射到物体,若物体不满足折射条件,就是镜面反射,否则会反射加折射左图是计算,右图是右边图中现象称为。
2024-06-01 11:39:30
870
原创 GAMES101-图形学笔记(11)光线追踪(下)
光线打到光滑物体表面,会反射或者折射,打到粗糙物体表面会漫反射。时,Whiting-Style Ray Tracing没有问题,但遇到。时,Whiting-Style Ray Tracing就表现不好;(1)下图中当物体是左边。
2024-05-31 12:42:40
529
原创 GAMES101-图形学笔记(10)光线追踪(中)
也可以理解为单位面积的Radiant Intensity(辐射强度)或者单位立体角的Irradiance(辐射照度);包括接收到光源的光线,还有反射过来的光线,以及自身发光的光线相加对一点处进行渲染;反射:从某个方向的radiance投到面积A上转化能量再从w0方向辐射出去;:单位面积接收的辐射能量,且接收到的光线必须和平面垂直;渲染方程简写:E是辐射到的能量,KL是反射过来的能量;(辐射通量,单位瓦特):单位时间内通过的能量或者光子。:单位面积接收到单位立体角的辐射能量;:单位立体角上的能量。
2024-05-30 13:22:04
234
原创 GAMES101-图形学笔记(9)光线追踪(上)
八叉树在不同维度划分不一致,KD树每次把空间划分为两个,相当于二叉树,都是沿着物体边缘划分的,以下图二维划分为例,是水平和竖直划分交替进行,以保证划分是比较均匀的;把三角形划分两个部分,重新求两个部分的包围盒,按照一定顺序排序,取中间的三角形进行划分,最后保证二叉树是平衡二叉树,最后能保证每个物体只在二叉树的一个叶子节点里;以二维盒子为例,先算一个对面进出时间,再算另一个对面的进出时间,最好进入时间取最大的,出去时间选最小的,即可得到这个长方形面的进出时间;把包围盒划分为多个网格,判断哪些网格存在物体;
2024-05-28 17:38:01
527
原创 GAMES101-图形学笔记(8)几何
只给出关系公式判断几何形态,如x*x+y*y+z*z=1表示在一个球上,一般用f(x,y,z)=0表示,如下图,红表示正,蓝表示负,可以得到边界,缺点是不直观,有些图形公式表示复杂,适合判断某个点在物体内外关系。,通过一系列控制点定义一个曲线,假设一个时间轴(0,1),但时间为t时,在b0b1上找对应t:1-t的位置,b1b2同理,找到的两个点再作一次操作得到曲线的某个点,三条线段同理。如下图,定义4*4的控制点,获得四个贝塞尔曲线,再将四条曲线上的四个移动点作为新的四个控制点,扫过的面为贝塞尔曲面。
2024-05-27 13:21:19
382
原创 GAMES101-图形学笔记(7)纹理
纹理可以定义任何一个点的任何信息,比如相对高度,下图中若采用三角形表示出这种曲面会比较复杂,但采用凹凸纹理就可以定义各个点的高度,相对高度变化,法线方向就会发生变化,着色结果就会发生变化,产生明暗变化,人眼就会认为这里是个曲面,实际上并没有将这个几何体变得更加复杂。黑线表示原本物体表面,黄线表示贴图定义的相对高度,根据相对高度求切线,法线就是把切线逆时针旋转九十度,坐标(-dp,1)1.纹理可以用来表示环境光,用环境光纹理进行图形渲染,用纹理描述环境光,默认来自无限远处。:把光照信息存在立方体中展开。
2024-05-21 21:31:21
280
1
原创 GAMES101-图形学笔记(6)着色器(下)
三角形内任意点都能用三个顶点线性组合表示,A点重心坐标是(1,0,0),任意点重心坐标是(α,β,γ),重心的重心坐标就是(1/3,1/3,1/3),可利用重心坐标进行插值操作。Mipmap:快速、近似、正方形的范围查询,提前把纹理生成一系列更低的辨率贴图,存储量多了三分之一(级数求和)三维空间中的点投影到平面上,形成三角形,在对各个三角形进行光栅化形成像素,最后对像素进行着色输出。相比于mipmap是非均匀压缩的预计算,不局限于正方形,可以是各种条形区域,开销原本三倍。层与层之间也可以插值,即。
2024-05-21 17:19:23
316
原创 GAMES101-图形学笔记(5)着色器(上)
左边这个每个面着色一次(Flat shading),中间顶点着色一次(Gouraud shading),右边每个像素着色一次(Pong shading),从左到右,着色频率升高。由下图可知,当面足够多、模型够复杂时,逐面着色效果和逐像素着色差不多,如果图形足够复杂,面已经超过像素数,Flat shading开销可能会更大。初始将每个像素深度设置为无穷,依次遍历每个三角形所覆盖的像素区域,若该区域的像素距离小于原本记录的,则更新距离为更近的,复杂度o(n)环境光着色只考虑局部,不考虑是否有物体挡住光源。
2024-05-20 13:51:56
273
原创 GAMES101-图形学笔记(4)反走样(抗锯齿)
每个像素的频率0-255,一般看到的图片中低频居多,在频率谱中,中心表示低频信息,外围表示高频信息,越亮表示该频率越多;因为我们在处理一个信号时认为是个周期性重复信号,左右边界部分相连后出现剧烈频率变化,所以出现这种十字形;左边是时域上的信号,通过冲击函数采样,变成一系列离散的点,右图是频域上的,采样后复制原始信号的频谱。:通过复用前面的帧信息,相当于把MSAA的样本分布在时间上,时序平均的思想,当前帧则没有额外操作。采样率不够,原始信号复制后重叠,频谱发生走样,可以去掉高频滤波,使得不再重叠。
2024-05-18 23:50:24
286
原创 GAMES101-图形学笔记(3)光栅化
判断一个点是否在三角形内部:要求点同时在三条边的左侧或者右侧,下面p2->p0叉乘p2->Q,根据右手定则,朝向屏幕里,表示Q不在p2->p0左侧,所以不在三角形内部。对下面这个三角形光栅化就是遍历全部像素点的中心看是否在三角形内,是则对该像素光栅化。三角形内外定义清晰,可以通过叉积判断是否在三角形内部;xy先进行伸缩,再将左下角位移到原点位置,z方向不变。三角形是最基础多边形,任何多边形都可以拆解成三角形;定义好三角形顶点,内部可以插值实现渐变;加速光栅化,每一行只考虑最左到最右的像素。
2024-05-18 21:37:22
118
原创 GAMES101-图形学笔记(2) 矩阵三元变换
把一个 [ l , r ] × [ b , t ] × [ f , n ] 的物体变到相机坐标系中,相机固定在原点( 0 , 0 , 0 ) ,再把 xy 平面的图归一化到[−1,1],沿着−Z 方向看,离人近 Z 值大,离人远Z 值小。我们不知道g怎么转向(0,0,-1),t怎么转向(0,1,0),但我们可以反过来求出逆旋转矩阵,即(0,0,-1)转向g,(0,1,0)转向t,求出下面的逆矩阵,由于旋转矩阵是正交矩阵,将其转置即可得到我们需要的旋转矩阵。1.旋转矩阵是正交矩阵,它的逆矩阵等于转置矩阵。
2024-05-18 00:19:54
318
原创 GAMES101-图形学笔记(1)矩阵二元变换
这里公式推导可以代入(0,1)和(1,0)求出转换矩阵。(x,y,0)可以确保不受位移影响,满足了向量的特性。
2024-05-15 06:03:33
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人