![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Games202(实时渲染)
文章平均质量分 90
实时渲染
Elsa的迷弟
在珠海西山居、北京点点互动实习过。
目前在北京点点互动实习。
展开
-
Unity SRP 管线【第五讲:URP烘培光照】
本节,我们将跟随数据流向讲解UEP管线中的烘培光照。原创 2024-01-22 11:47:32 · 1689 阅读 · 2 评论 -
PRT(Precomputed Radiance Transfer【2002】)原理实现
可以看出,基于漫反射材质的PRT,本质上就是计算好每个顶点接收四面八方光照的方程,再与光照相乘得到最终结果。原创 2023-09-20 19:19:48 · 475 阅读 · 0 评论 -
全局光照RSM
一切被直接光照照到的物体,会作为次级光源。原创 2023-09-11 11:55:26 · 337 阅读 · 0 评论 -
Games202(P6、P7)环境光照与PRT全局光照
环境光照:IBL,球谐函数,PRT全局光照:PRT,小波函数,RSM原创 2023-09-09 16:37:12 · 217 阅读 · 0 评论 -
球谐函数实现环境光照漫反射实践
该文章以及代码主要来自。原创 2023-09-08 16:03:04 · 410 阅读 · 1 评论 -
球谐函数在环境光照中的使用原理
首先,对场景中某像素点的漫反射光照进行计算。Lpwo∫ΩLwin⋅widwiLii0∑LiYiωn⋅ωtωi0∑tiYiω将Lpwo球谐展开后得到Lpwoi0∑n2Lwin⋅wi。原创 2023-09-07 19:18:28 · 260 阅读 · 0 评论 -
球谐函数原理
参考:球谐函数极其应用球谐函数是傅里叶级数的高维类比,由一组表示球体表面的基函数构成。同时,球谐函数是Laplace算子角动量在三个维度上的特征函数。拉普拉斯算符(Laplacian) ▽2\bigtriangledown^2▽2被定义为梯度的散度( ▽⋅▽\bigtriangledown \cdot \bigtriangledown▽⋅▽或△\bigtriangleup△ ),有点类似于单变量函数的2阶导数。对于函数u(x1,x2,...)u(x_1,x_2,...)u(x1,x2,...),原创 2023-09-06 14:36:59 · 1827 阅读 · 0 评论 -
QT With OpenGL(SSAO)(Screen-Space Ambient Occlusion)
当采样点像素深度(物体边缘)大于等于检测点深度(空心圈),说明该点未遮蔽了渲染点的环境光照,Occlusion遮蔽值增加。,需要将G_Buffer提供的位置深度信息统一为视口坐标下的位置深度信息。注:深度的范围不能局限在【0,1】,所以需要设置纹理数据类型为。不同,延迟渲染需要的信息为视口角度下物体的世界坐标信息。若渲染(0,0)像素点,随机转动核心纹理为(0,0)点。角度下看到的物体的视口坐标信息和深度,这与之前做。得到未遮蔽系数,再用1减去,得到遮蔽系数。)像素点,随机转动核心纹理为(原创 2023-05-09 22:25:03 · 908 阅读 · 3 评论 -
IBL-镜面反射(预滤波篇)
由于我们在卷积环境贴图时事先不知道视角方向,因此 Epic Games 假设视角方向——也就是镜面反射方向——总是等于输出采样方向ωo,以作进一步近似。OpenGL 可以启用 GL_TEXTURE_CUBE_MAP_SEAMLESS,以为我们提供在立方体贴图的面之间进行正确过滤的选项。我们已经进行了大量的采样,但是在某些环境下,在某些较粗糙的 mip 级别上可能仍然不够,导致明亮区域周围出现点状图案。这样确实得到了一定程度的近似,尤其在正对物体法线时的高光效果会接近真实。观察1-7的分布,可以看到为。原创 2023-04-12 17:26:50 · 649 阅读 · 0 评论 -
Games202,作业1(QT下实现PCSS)
但噪点在当前并不是一个很大的问题,因为在之后会接触时序降噪,空间降噪等,早申不会是很大的问题。由于我们的采样方式使用了矩形区域采样,因此当阴影重叠较大时,会出现如下情况。在PCSS中计算中,第一步计算平均遮挡物深度也需要用到低通采样。该shader只计算了平行光的阴影,对于点光源并未处理阴影。可以看出在脚附近的阴影为硬阴影,而头部附近的阴影为软阴影。当滤波为20时,当光线处于一定角度,地面出现黑色线条。该泊松采样方式如下,初始弧度为随机数,⚪半径为1.20x20采样数20(还好)20采样数(有噪点)....原创 2022-07-27 18:40:38 · 757 阅读 · 2 评论 -
QT with OpenGL(Shadow Mapping)(平行光篇)
glwidget.h在中,使用了,。但由于QT封装的类不支持深度贴图的导出(好像无法提取出深度贴图),因此需要使用纹理颜色来代表深度值。故不能使用,。若要使用,原创 2022-07-24 23:55:14 · 683 阅读 · 4 评论 -
Games202,作业0(环境搭建)
环境搭建1.1 Visual Studio Code 插件搭建本地服务器在VScode扩展中搜索Live Server并下载。1.2 Node.js 搭建本地服务器1.2.1 官网下载npm并安装https://nodejs.org/en/download/1.2.2 在终端输入npm install http-server -g后面是更新信息,不用管他。1.2.3 用VScode打开文件1.2.4 打开.html文件方法一在index.html文件上右键,点击Open with原创 2022-03-10 21:33:52 · 1281 阅读 · 0 评论