
计算机图形学
文章平均质量分 72
dx1313113
这个作者很懒,什么都没留下…
展开
-
双边滤波和交叉双边滤波
双边滤波是一种局部的、非线性的、非迭代的滤波技术,它将经典的低通滤波器与边缘停止函数相结合,当像素之间的强度差较大时,边缘停止函数会衰减滤波器的核心。由于同时考虑了相邻像素的灰度相似度和几何贴近度,滤波器的权值不仅依赖于欧氏距离,而且还依赖于灰度/颜色空间中的距离。该滤波器的优点是,它平滑图像的同时保留边缘。原创 2023-03-01 12:45:55 · 1406 阅读 · 1 评论 -
反射方程的分解、预计算BRDF
因为随着粗糙度的增加,参与环境贴图卷积的采样向量会更分散,导致反射更模糊,所以对于卷积的每个粗糙度级别,我们将按顺序把模糊后的结果存储在预滤波贴图的 mipmap 中。如果我们假设每个方向的入射辐射度都是白色的(因此L(p,x)=1.0),就可以在给定粗糙度、光线 ωi法线 n夹角 n⋅ωi 的情况下,预计算 BRDF 的响应结果。有了这些知识,我们就可以计算或预计算一个新的立方体贴图,它在每个采样方向——也就是纹素——中存储漫反射积分的结果,这些结果是通过卷积计算出来的。原创 2023-01-03 22:55:32 · 989 阅读 · 1 评论 -
蒙特卡洛积分、重要性采样、低差异序列
在接近高光反射方向,这种采样数需要较高的地方, pdf 值会变得较低,相当于提高了采样的数值(间接来说就是提升了次数),相反在采样数较低的地方, pdf 值会比较高,相当于间接减少采样次数。到目前为止,我们的估计是无偏的,这意味着随着样本数量的不断增加,我们最终将收敛到积分的。蒙特卡洛积分在计算机图形学中非常普遍,因为它是一种以高效的离散方式对连续的积分求近似而且非常直观的方法:对任何面积/体积进行采样——例如半球 Ω ——在该面积/体积内生成数量 NN 的随机采样,权衡每个样本对最终结果的贡献并求和。原创 2023-01-01 21:12:20 · 1887 阅读 · 1 评论 -
实时全局光照Screen Space Reflection (SSR)
它是在实时渲染中引入的一种全局光照的方法实行光线追踪但是不需要3D基本体。原创 2022-10-17 13:38:56 · 2505 阅读 · 1 评论 -
基于LTC的微表面着色模型(Linearly Transformed Cosines)
LTC(Linearly Transformed Cosines),线性变换余弦,这个概念出自论文《Real-Time Polygonal-Light Shading with Linearly Transformed Cosines》。这篇论文解决的问题是:实时地实现的反射,并且能有基于物理的BRDF效果。原创 2022-10-16 15:38:23 · 532 阅读 · 0 评论 -
实时全局光照Screen Space Ambient Occlusion(SSDO)
的一个提高,相比SSAO的大胆假设(屏幕中的所有的点的间接光照是相同的),其实可以考虑的更准确一点。在RSM中讲过场景中的提供间接光照的是次级光源(被光照直接照亮的点都可以作为次级光源),次级光源为场景中的其他的点提供直接光照就是场景中的间接光照。在下面图中可以看出对比,SSAO可以在物体接触的地方产生一些变暗或者变亮的效果,但是并不能做出color blinding 的效果。SSDO利用的是渲染的直接光照,不是来自RSM而是来自相机。与SSAO相比较SSDO的实现原理与之相反。(原理与路径追踪相似)。原创 2022-10-11 22:03:43 · 792 阅读 · 0 评论 -
实时全局光照Screen Space Ambient Occlusion(SSAO)
全局光照的近似在屏幕空间上获取信息。Screen Space Ambient Occlusion(SSAO)屏幕空间环境光遮蔽,屏幕空间原创 2022-10-10 20:06:23 · 793 阅读 · 0 评论 -
实时全局光照RSM-Reflective Shadow Maps(RSM)
现实世界光处于线性空间,光照效果是可以叠加的,最终的光照结果 = 直接光照 + 间接光照,结果也被称为全局光照(Global illumination)。与之对比的是局部光照——仅考虑直接光照。那么自然在目前线性空间的渲染技术当中,同样符合光照结果 = 直接光照(direct light) + 间接光照(indirect light)。直接光:光源直接照射到物体上,后被反射进眼睛,来自被指定的光源。间接光:光经过多次弹射(至少大于等于两次)后进入眼睛,来自被着色位置正半球的所有可能方向。原创 2022-10-08 19:44:01 · 2148 阅读 · 0 评论 -
球谐函数(环境光照)
因为环境光表示的是三维空间中各个方向上的光线,刚好可以看做是定义在球面上的函数,有了这一层“关系”,我们就可以利用球谐函数,将环境光参数化,既方便存储也方便使用。球谐函数(spherical harmonics)本身是来自物理学的一个概念,是对定义在球面上的函数的分解,类似于傅里叶变换是对一维函数的分解一样。傅里叶变换将一维函数分解为不同频率的正弦函数的累加,而球谐函数将球面上的函数分解为一组(无穷多个)标准正交的基底的累加,适用于直接分析球面上一些函数的性质。其中的每一个基函数都是由。原创 2022-10-03 15:01:48 · 1377 阅读 · 0 评论 -
SDF(signed distance field)
在3d中光线追踪对于性能的消耗过大,所以sdf常常被用来作为物体的隐式表达,配合ray marching达到接近光线追踪的效果,也有比如deepSDF这种对于模型的隐式表达方面的应用。在2d中,sdf常常被用来表示字体,原神的面部渲染中阴影部分贴图也是基于sdf生成的。,来解决光线和SDF的求交问题,这背后有一个key idea:某一点SDF的值等价于其附近的安全距离,从一点出发在每个step沿着ray的方向移动SDF(p)的距离,此处的p指的是当前step时的那个点。一般来说,无论2d或者3d资产都有。原创 2022-10-03 14:25:50 · 3505 阅读 · 0 评论 -
环境光照IBL(Image-Based Lighting)
首先不考虑遮挡把V项干掉;用近似公式将L和BRDF拆开;通过对Cube Map生成Mipmap采样差值取LL;将BRDF预计算为一张二维纹理,运行时采样成反射率可得到。原创 2022-09-28 20:07:15 · 865 阅读 · 0 评论 -
软阴影(PCF、PCSS)
软阴影与硬阴影的区别如下:上面为硬阴影,下面为软阴影。PCSS ,PCF原创 2022-09-20 18:05:09 · 2857 阅读 · 0 评论 -
实时渲染方程
2)对于面光源是均匀的或者brdf是diffuse的时候,使用该方程近似比较准确。1)对于一个点光源或者一个方向光源的时候,使用该方程近似比较准确。(什么时候使用这个方程比较准确?2. g(x)在积分域内的变化不大。1. g(x)的实际的积分域较小。原创 2022-09-20 16:09:55 · 180 阅读 · 0 评论 -
阴影(shadow mapping)(硬阴影)
得到的这个图我们不要做着色,把这些点对应的位置的深度记下来。相当于我只需要它的深度图。找到对应的点投影回光源,在光源中的深度图上应当出现在哪个位置上。在深度图上对于这个点记录有一个深度,同样可以计算从摄像机看这个点,这个点到光源的深度,这两个深度肯定是一致的,那说明这个点一定是可以被光源所看到的。如果相机所记录的点的深度投影到光源,与光源所记录的深度不一致,则说明该点被遮挡,即眼睛看不到。原创 2022-09-20 15:40:19 · 707 阅读 · 0 评论 -
GAMES101 路径追踪
我们求解最后着色点的 radiance,期望获得精确的计算结果,同时又希望递归可以终止,由此我们定义一个概率 P 我们去继续往下打出光线做追踪,将其返回结果除以P,(1-P)的概率不继续追踪得到的结果是0,而这是一个简单的离散随机变量,可以求得结果的期望值不变,即无偏估计。至此,我们获得一个正确的Path Tracing的方法,但是这不是一个非常高效的算法,我们具体看下,引入采样率 SPP 的概念(samples per pixel),当spp较小时,会得到noisy的结果。原创 2022-09-17 13:09:39 · 286 阅读 · 0 评论 -
角和立体角(Angles and Solid Angles)
角和立体角(Angles and Solid Angles)单位立体角,通过角的定义,推广到立体角的定义:空间中球的半径为r,球心出发形成一个锥,锥与球面相交形成一块区域A,立体角记作。使用弧度定义角的大小,从圆心出发射出两条线会形成一个角。,两条射线与圆的表面相交形成一条直线。原创 2022-09-06 16:22:48 · 751 阅读 · 0 评论 -
曲面细分(loop曲面细分,catmull曲面细分)(计算机图形学学习笔记)
曲面细分,目标:尽量减少三角形的数量并保留整体的形状。作用可类似于mipmap,对场景中不同距离的物体使用不同数量的三角形建模,来减少计算机的运算量。再次分割可以发现奇异点还是4个,可以发现规律,每次分割奇异点增多的个数就是非四边形的个数,所以当非不存在非四边形的时候,不论分割多少次奇异点都不会增加。Loop细分只能解决三角形网格的细分问题,对于一般的情况可以采用Catmull-Clark细分。每次都坍缩分数最小的边,然后更新被影响的边的二次误差。二次误差:新的点应该与它相关联的面的距离的平方和最小。原创 2022-09-03 16:05:43 · 3306 阅读 · 4 评论 -
纹理映射.
纹理映射原创 2022-09-02 21:33:43 · 104 阅读 · 0 评论 -
重心坐标系(Barycentric coordinate system)详解
给定一个三角形的三个顶点,,,则三角形所在平面内的任意一点可表示为点 A,B,C 的坐标的线性组合其中, α+β+γ=1。若将 α,β,γ 看作点 A,B,C 的质量,则点 P 即为 △ABC 的重心,这样构建的坐标系因而得名重心坐标系。此时称α,β,γ 为点 P 在重心坐标系下的坐标,简称重心坐标。其中三角形的重心的重心坐标系为(1/3,1/3,1/3).一种简化的计算方法:分母为两个大三角形的面积,分子为两个小三角形的面积点的重心坐标为(α,β,γ)= (α,β,1-α-β)...原创 2022-08-26 13:09:00 · 1064 阅读 · 0 评论 -
Blinn-Phong光照模型详解
光照模型,又称为反射模型或者phong修正模型,是由JimBlinn于1977年在文章中对传统phong光照模型基础上进行修改提出的。,但由于实现起来简单方便,并且计算速度和得到的效果都还不错,因此在早期被广泛的使用。它将进入摄像机的光线分为三个部分,每个部分使用一种方法来计算它的贡献度,这三个部分分别是、和。在计算之前,我们先定义一些基本的向量,因为只表示方向,默认它们都为单位向量。vnlL下面首先先介绍一下环境光、漫反射和高光反射的定义。.........原创 2022-07-28 18:27:40 · 6059 阅读 · 1 评论 -
BRDF详解(包括:irradiance,radiance,intensity,立体角)
BRDF是双向反射分布函数(BidirectionalReflectanceDistributionFunction,BRDF)用来定义给定入射方向上的辐射照度(irradiance),如何影响给定出射方向上的辐射率(radiance)。辐射度量学基本概念原创 2022-08-02 15:44:21 · 8732 阅读 · 0 评论