
图形学速查
文章平均质量分 91
Feyily
新生代码农
展开
-
现代计算机图形学笔记(八)——纹理的应用(环境光贴图、凹凸贴图、法线贴图)
纹理的应用环境光贴图环境光贴图可以让模型反射出周围环境的样子,如下图右侧,而左侧的图像就是环境光贴图。环境光一般都存储在一个球上(Spherical Map),并且我们可以像展开地球仪一样展开成环境光贴图。展开后的贴图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QrHAgZcv-1617529106635)(C:\Users\63092\AppData\Roaming\Typora\typora-user-images\image-20210404162758原创 2021-04-04 17:39:38 · 2219 阅读 · 1 评论 -
现代计算机图形学笔记(七)——重心坐标、应用纹理&Mipmap
重心坐标(Barycentric Coordinates)上几节课都提到了在三角形内部做插值,为了研究此问题,我们引入重心坐标(Barycentric Coordinates)。重心坐标的应用很广泛,如在像素着色器(Fragment shader)中我们已知三角形三个顶点的法向量,去插值求解三角形内部每个像素的法向量;在纹理映射时,我们已知三角形三个顶点在纹理坐标中的u,vu,vu,v值,去插值获得三角形内部纹理坐标的值。我们定义三角形坐标系(coordinate system for triangle原创 2021-04-04 15:49:50 · 1143 阅读 · 0 评论 -
现代计算机图形学笔记(六)——布林-冯反射模型、图形管线、纹理映射
图形学笔记六上节课我们讨论了布林-冯模型中的漫反射部分,本节将继续讨论该模型中的高光和环境光部分。布林-冯反射模型(Blinn-Phong Reflectance Model)高光对于模型的高光,我们只可以从镜面反射方向看到,也就是说当我们眼睛看的方向V\bold{V}V和镜面反射方向R\bold{R}R很接近时可以看到高光。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6PbZ94Qv-1617370306934)(https://img.rruu.net/ima原创 2021-04-02 21:35:40 · 2610 阅读 · 0 评论 -
现代计算机图形学笔记(五)——深度测试、着色
可见性与遮挡(Z-buffering)根据常识,我们很容易的想到画家在作画的时候如何体现遮挡。在作画时一般都是先画远处的物体,之后再画近处的物体,这样画出的画就可以体现出遮挡,该算法称为画家算法。画家算法需要先对所有物体的深度进行排序(最少需要nlognn\log nnlogn的时间复杂度),然后依次按顺序画在屏幕上(光栅化)。画家算法虽然思想简单,但并不能解决所有的遮挡问题,比如下图的情况为了解决画家算法的缺点,在图形学中引入了深度缓存算法(Z-Buffer)。Z-Buffer算法同时维护一原创 2021-03-31 20:55:05 · 1036 阅读 · 0 评论 -
现代计算机图形学笔记(四)——反走样、抗锯齿
上节课我们判像素点是否在三角形内得到了三角形光栅化的结果,但是这样得到的三角形会产生严重的锯齿现象(走样Aliasing),这节课我们就来讨论抗锯齿(反走样Anti-Aliasing)产生这样瑕疵(Artifacts)的原因是由于我们对三角形进行了采样(Sampling)。而采样会造成Artifacts的原因是图像或信号变化的太快了,而采样的速度太慢。针对采样造成的走样问题,我们可以先对三角形进行滤波(模糊)处理,然后再采样就可以改善锯齿现象。这里要注意,一定是先做滤波再做采样才可以达到反走样的效原创 2021-03-31 15:35:20 · 1243 阅读 · 0 评论 -
现代计算机图形学笔记(三)——三角形光栅化
三角形光栅化经过上节课的MVP(Model, View, Projection transformation)变换之后,所有的物体都会在[−1,1]3[-1,1]^3[−1,1]3的立方体中,本节就来讨论如何将这个[−1,1]3[-1,1]^3[−1,1]3的立方体画在屏幕上(光栅化)。下面我们给出一些定义:什么是屏幕?像素的数组数组的大小:分辨率一个典型的光栅(raster)成像设备光栅化==把东西画在屏幕上。对于像素,在本节中,我们将其抽象成一个具有唯一颜色(不会变色)的小方块。像素的坐原创 2021-03-29 21:52:15 · 827 阅读 · 0 评论 -
现代计算机图形学笔记(二)——三维变换、正交&透视投影
三维变换和上节一样,我们使用齐次坐标3D点:(x,y,z,1)⊤(x,y,z,1)^\top(x,y,z,1)⊤3D向量:(x,y,z,0)⊤(x,y,z,0)^\top(x,y,z,0)⊤通常情况下,w≠0w\neq0w=0,3D点表示为(x/w,y/w,z/w,1)⊤(x/w,y/w,z/w,1)^\top(x/w,y/w,z/w,1)⊤则我们可以使用4×44\times44×4矩阵表示仿射变换[x′y′z′1]=[abctxdeftyghitz0001][xyz1]\left[\原创 2021-03-28 16:21:01 · 1426 阅读 · 0 评论 -
现代计算机图形学笔记(一)——二维变换
二维变换缩放在等比例缩放情况下如上图所示,若将图片缩小两倍,则坐标x,yx,yx,y的变换为x′=sxy′=syx'=sx \\y'=syx′=sxy′=sy表示为矩阵形式[x′y′]=[s00s][xy]\left[\begin{array}{l}x^{\prime} \\y^{\prime}\end{array}\right]=\left[\begin{array}{ll}s & 0 \\0 & s\end{array}\right]\left[\beg原创 2021-03-26 22:23:25 · 633 阅读 · 0 评论