八叶一刀·无仞剑

万物流转,无中生有,有归于无

导航

08 2020 档案

摘要:在之前的文章里,我们介绍了直接光照的PBR的实现。今天,我们将介绍基于Image Based Lighting(IBL)技术的PBR间接光照的实现方法。 IBL技术是是一类光照技术的集合,它认为可以将周围的环境贴图看成是构成物体间接光照的来源。它环境贴图的每个像素视为光源,在渲染方程中直接使用它。这 阅读全文

posted @ 2020-08-31 19:46 闪之剑圣 阅读(913) 评论(0) 推荐(0)

摘要:最近自己在研究一个问题:DX中给定一张Texture,当数据已经存在于GPU端后,应该如何做才能将纹理的数据读取到CPU中? 要解决这个问题,首先应当知道DirectX中对于一个Texture的描述,这里我们以2DTexture为例,描述它的数据结构如下: typedef struct D3D11_ 阅读全文

posted @ 2020-08-26 21:54 闪之剑圣 阅读(1837) 评论(0) 推荐(0)

摘要:之前介绍了有关PBR技术的一些理论知识,今天来讲一下利用代码如何实现相应的光照算法。 我们提到,我们最终要求解的其实就是这么一个积分: 积分中kd的部分代表光照所产生的漫反射,ks的部分代表光照所产生的高光反射。如果充分考虑间接光照的效果(也就是从光源发射出光线后,不断碰撞反射,最终进入人眼),那这 阅读全文

posted @ 2020-08-16 17:12 闪之剑圣 阅读(789) 评论(0) 推荐(0)

摘要:最近策划希望给游戏中的视频增加一个类似抖音的滤镜特效,如下所示: 可以看到,有条纹状和点状的干扰信息时不时出现在视频中。 我在网络上找了一下,还真的没有找到有人实现过这个滤镜的shader,因此只能靠我自己分析滤镜内容来反向推shader了。 首先我们可以发现,在这个特效中,干扰的效果都是呈现为方块 阅读全文

posted @ 2020-08-11 20:39 闪之剑圣 阅读(417) 评论(0) 推荐(0)

摘要:Cosine-Weighted是一种对球面进行采样的算法,常用于路径追踪时对入射方向进行采样等领域。在介绍该算法之前,我们先来复习一下概率论的知识。 ###随机变量之间PDF的转换 假设有两个随机变量X和Y,它们的PDF为$p_x(x)$和$p_y(y)$,假设我们已知$p_x(x)$以及Y=f(X 阅读全文

posted @ 2020-08-05 20:14 闪之剑圣 阅读(2144) 评论(0) 推荐(0)