自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(26)
  • 收藏
  • 关注

原创 Sampling Area Lights

重要性采样概述计算积分需要利用蒙特卡洛方法去近似,蒙特卡洛方法我这里就不讲了,有兴趣的可以看看我的知乎:https://zhuanlan.zhihu.com/p/111736781

2022-06-23 23:02:44 288

原创 环境光重要性采样

重要性采样概述计算积分需要利用蒙特卡洛方法去近似,蒙特卡洛方法我这里就不讲了,有兴趣的可以看看我的知乎:蒙特卡洛方法的简单总结 - 知乎重要性采样的目的就是加快收敛速度,所以选择pdf比较重要。所以对于环境光采样,我们需要知道环境光每个方向上的概率密度。环境光贴图环境光贴图能用整个球的所有方向去采样,球面方向能转成极坐标θ[0, π]和φ[0, 2π]表示,所以我们用经纬图(long_latitude_map)来做环境光贴图。维度可以用θ,经度用φ,例如地球仪的贴图展开:采样

2022-03-20 22:00:04 755 1

原创 Ray-Triangle intersection

思路概述射线和三角形求交的思路很简单,求出射线和三角形所在的平面的交点,然后算这个交点的在三角形的重心坐标,重心坐标在[0, 1]之间,说明射线和三角形相交,否则不xinagjia

2021-06-21 00:29:04 996

原创 Linear approximation笔记

函数f的二阶导数f''有什么用?在一个很短的间隔内,二阶导数可以非常好地利用二次多项式(quadratic polynomial)去近似一个函数。那接下来我们的目的就是找出这个二次多项式。利用单调性,f'' > 0,f'递增,可以预测f也是递增。那么我们的目的就是用f''去预测f是怎么样的。假设f''在区间[a, b]能满足如下不等式: (1)根据上面不等式,有M - f''(x) ≥ 0,这个不等式可以看作是函数g(x) = Mx - f'(x)的导数。...

2020-10-03 23:06:16 2195

原创 PBRT-V3体渲染笔记

一 基本原理整理影响radiance在参与介质分布的三个过程:Absortion,Emission,Scattering(分为out-scattering和in-scattering)。Absortion吸收系数为σa,入射radiance Li经过距离dt,吸收后的出射radiance Lo的关系如下: (1)对上式解微分方程得到一个值,表示经过d距离后的剩余比例: (2)Emission这个没什么好说的,直接上公式:Out-Scatterin...

2020-08-27 17:02:54 648 2

原创 pbrt Specular Transmission笔记

平面上各符号定义如下:目标:求出Lt和Li的关系,即ωt方向的出射光的radiance。定义Fresnel反射是Fr。入射的flux是Φi,反射出去的flux就是Φo = FrΦi,根据能量守恒,折射出去的flux就是Φt =(1 - Fr)Φi。根据入射的radiance定义:Φi = Li cosθi dA dωi。Φt = Lt cosθt dA dωt。Lt cosθt dA dωt =(1 - Fr)Li cosθi dA dωi由dω = sin...

2020-06-17 11:38:31 345

原创 pbrt Sampling sphere笔记

Sampling a Cone首先说一下圆锥的方向采样。圆锥可以理解成球的一部分,当θmax = π/2的时候,采样圆锥相当于采样半球;当θmax = π时,相当于采样整个球。在圆锥上均匀采样方向,概率密度p(ω)是一个常数p(ω) = c = 1/s;在球面中,s的面积是:那么根据概率密度函数的转换:根据边际概率密度函数:由累积概率函数得到:随机数可写成:cosθ = 1 - ξ1(1 - cosθmax) = 1 - ξ1 + ξ1cosθmax。

2020-06-10 17:49:43 430 1

原创 PBRT中Texture Sampling Rate笔记

定义一个函数T(p),返回p点的纹理坐标。

2020-05-30 09:24:48 233

原创 Torrance–Sparrow BRDF Model公式推导

在微表面下,反射模型是perfectly specular,所以微表面法线h符合下面公式:为了后面推导,把ωh,n,ωo和ωi的关系用下图来表示清楚:由于法线分布函数符合下面公式:上面两边乘以dA,得到:ωh方向的微分面积可以这样表示:在单位半球里的数值和面积一样,那么可以理解为:单位半球里朝向ωh方向的面积。但这个时候,他的数值是基于表面面积是1的情况下。但由于我们处理的是微分面积下的情况,所以要乘以dA。...

2020-05-27 18:08:24 1274

原创 Mipmap笔记

为何要使用mipmap如上图,假设像素覆盖的纹理范围是上图中的黑点的连线范围,那么在连线范围内的纹素(texel)都对改像素有贡献,要做的filter的半径就比较大,效率就低。解决办法就是prefilter texel,额外把prefilter后的texel存下来,即mipmap。Triangle Filter下的mipmap level选取像素覆盖的texel的范围:(s和t方向)。原则,filter width刚好覆盖选择level的4个texel。如果mipmap层的.

2020-05-25 20:18:09 372

原创 实时pbr之Split Sum Approximation笔记

蒙特卡洛方法求反射方程:上面的式子,仔细看会发现,只是针对一个v的方向,而实际上我们的v方向是任意的。于是epic game发明了一个方法用于解决这个问题,叫Split Sum Approximation:上式左边积分值存在cubemap里,右边需要存在一个brdf lut纹理里。这里不说左边的操作,只说右边如何拆分。由于pdf(h) = 4(v·h)pdf(l),参考:微表面模型GGX/Trowbridge-Reitz概率密度函数的推导。上面式子可以写成:..

2020-05-21 09:40:55 1748

原创 微表面模型GGX/Trowbridge-Reitz概率密度函数的推导

微表面的法线分布定义如下:其中D(h)是法线分布函数,cosθh是N dot h。根据概率密度函数的转换:p(θ, φ) = sinθp(ω)根据边际概率密度:求条件概率:分别求θ和φ的概率累积函数:上面的积分非常难求,我在https://www.symbolab.com/上解出来。通过代数求得:φ的概率累积函数:...

2020-05-19 19:02:01 4235 1

原创 pbrt中输出图像的生成

样本概要cameraSampleimageSampleFilter的作用

2020-05-12 11:06:57 225

原创 Lambert漫反射模型

看了闫令琪的视频,这里简单总结一下。首先有个很重要的漫反射概念:漫反射表示的是光线到达物体表面的某一点,在以它为中心的半球内被均匀反射。经验公式两个问题:1.我们观察到的点,有多少光到达?2.有多少光被反射?从上图可以看出,当face旋转了60°后,同样到达top face(我这里定义成dA)的光量变成一般即cos(π/3) = 1/2。可以得出结论:单位面积接收的...

2020-04-30 12:02:24 4072

原创 PBRT里的相机系统

PBRT中,他定义的NDC坐标系和我们图形学里的不一样。图形学中NDC是[-1, 1]³;而PBRT中的NDC如下图:正交投影摄像机当前的坐标是原点坐标,正交投影的width和height暂时未知。这里可以平移-n把n移到原点。缩放矩阵:因此正交投影矩阵是:由于在pbrt中的NDC,左上角是(0, 0, 0),右下角是(1, 1, 0)。所以y的...

2020-04-29 13:45:55 229

原创 PBRT中Ray–Bounds Intersections的理解

slaps in bounding box的解释:bounding box有8个点,每个点可以看成是3个slaps的intersection

2020-04-20 14:29:11 249

原创 Bounding Volume Hierarchies(BVH)的理解

开篇先带两个问题:1、如何把接近的几何体划分到一个节点上?如上图所示,通过什么方式,把左下角的圆和等边三角形划分到同一个节点下?2、在射线检测中,如何做到先检测离原点最近的几何体?如上图所示,蓝色的ray最近相交点在红色的圆上,怎么做到对这个红色的圆优先检测?...

2020-04-17 10:45:29 7532

原创 The Light Transport Equation笔记

渲染方程:其中,Ld可以写成:其中t(p, ωi)是The ray-casting functiongives the point p' on the first surface that the ray (p, ωi) intersects.如下图所示:由于渲染方程可以先写成:...

2020-04-08 09:02:40 441

原创 PBRT中Multiple Importance Sampling的解释

原型如下图所示:假设nf = ng = n。上式可以写成: (1)式由于f(X) g(X) pf(X)我们都知道了,那么我们需要求的实数Wf(X)。因为nf = ng上面红框的式子可以写成:所以当nf = ng时,wf可以写成:再看power heuristic的情况:同理,按ns = ni时,ws(x)写成:...

2020-04-01 19:37:05 642

原创 微表面模型Beckmann–Spizzichino distribution的概率密度函数推导

微表面的法线分布定义如下: 得到: 1)式 所以得到以下式子:因为θ和φ独立,,,得: (2)式看Beckmann–Spizzichino中,各向同性的分布定义:因为有(1)式和 p(θ, φ) = sinθp(ω)代入(2)式(见:pbrboo...

2020-03-19 15:08:59 757

原创 指数分布的无记忆性

指数分布的概率密度函数:概率累积函数是:引入条件概率密度函数:先看条件概率:上式求导得到pdf函数,注意P(X∈A)是一个常数。假设随机变量T是两辆巴士的到达站的时间间隔,改变量符合参数是λ的指数分布。现有一个人在第一辆车到达后的t时间里去到该车站,因为此时第二辆车还没到达,存在了事件A = {T > t}。现假设这个人要等待下一辆车到达的时间是随机...

2020-03-14 18:22:49 28278

原创 绕Y轴旋转矩阵和绕任意轴旋转的解释

绕Y轴旋转矩阵如下:这里看到-sinθ在左下角,和z,x轴的旋转不一样(他们在左上角),我们来看看为什么。看看各个轴的关系:x=cross(y,z),z=cross(x,y),y=cross(z,x)。以下以左手坐标系为例子(右手坐标是一样的):zb = r cos(α + φ) = r cos α cos φ - r sin α sin φ, xb = r sin(...

2019-10-10 14:47:46 11867

原创 组合公式C(n,r)=C(n-1,r-1)+C(n-1,r)的解释。

先来看公式:看看first course of in Probability的解释:这里一看可能大部分人都懵逼了,我也是想了好几个小时,后面想明白了。假设有5个物体:1 2 3 4 5 任意取3个做组合C(5,3),那么这些组合中只有两种情况:含有1的组记C1,分别是123,124,125,134,135,145。不含有1的组记C2,分别是234,2...

2019-08-10 09:55:25 3790 3

原创 FFT快速傅里叶变换的推导

离散傅里叶的计算从我的学习经验来看,如果不是对DFT非常熟悉的,可能会在理解FFT算法的时候有点懵逼。首先搞清楚,DFT计算的是什么及其公式。其中展开后得:…………上面多项式可转化为下面的矩阵:最后看到离散傅里叶就是一个复数的矩阵乘法计算。复指数的周期说明从上面看到矩阵里的元素全是复指数的幂,根据复指数W的周期性,可以推导出矩阵中相同值的元...

2019-05-10 19:09:50 1883 1

原创 射线与球相交的判断

如下图:设射线原点是A,射线方向的单位向量是B。点P在射线上的表示形式是: 再设球的原点是C,半径是R,如果点P在球面上,则有:把 P(t)=A+tB代入上式得:因为A和C是固定的两点,把A-C=D,即得然后解方程如下图:我定定义t0是近点,t1是远点,返回t0代入P(t)就是我们要求的点,代码如下:bool H...

2019-04-28 11:37:31 1304 1

原创 详细的世界坐标转屏幕坐标及投影矩阵的推导

投影矩阵网上推导一大堆,怎么构建矩阵,怎么运用透视除法等都有说,但说清楚为什么这样做的貌似不多。我现在尝试用矩阵乘法的本质去说明投影矩阵是怎么推导的。以下向量统一用列向量表示法。1.坐标转换坐标的表达形式(Fundamentals of Computer Graphics, 4th page 135)看上图,p在世界坐标系下的坐标值有两种表示法: ...

2019-04-20 18:28:14 5745 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除