- 博客(102)
- 资源 (2)
- 收藏
- 关注
原创 GAMES202-高质量实时渲染(Real-Time Ray-Tracing)
RTX实际做的事:一个像素用一个样本来采样SPP考虑了一次弹射,第一次primary Ray其实没有必要(从摄像机到着色点),只需要做一遍光栅化就可以实现一整个屏幕的primaryRay。所以一个SPP只需要考虑3条光线1SPP噪声非常大。实时光线追踪在算法上并没有区别,主要原因是硬件的突破,让光线追踪达到了实时水平。所以实时光线追踪最关键的技术是降噪!从这幅图可以看出,降噪的效果非常好。降噪的方法有很多,但是应用到实时的降噪技术很少实时降噪使用的是时间上的滤波。当前帧需要前一帧已经滤波。假设运
2025-06-10 20:49:13
757
原创 GAMES202-高质量实时渲染(Assignment 4)
可以看到图片有很多噪声,这是因为低粗糙度的微表面材质接近镜面反射材质,即微表面的法线m(即半程向量h)集中分布在几何法线n附近,而我们由采样入射光方向i计算出的微表面法向量m分布并不会集中在几何法线n附近,也就是说这与实际低粗糙度的微表面法线分布相差很大,因此积分值的方差就会很大。具体来说,需要另外一种BRDF函数来使得使用这个BRDF积分出来的能量就是缺少的能量,具体如何设计BRDF,就是推导出来的。解决思路就是:被遮挡掉的能量就是会在多次弹射中输出的能量, 也是我们需要补偿的能量。
2025-06-09 16:50:18
630
原创 GAMES202-高质量实时渲染(Real-Time Physically-based Materials)
首先来介绍Shading方法,哪些像素点是S边上呢,根据观察,就是法线与观察方向=之间夹角接近垂直的像素点。R0是垂直入射下的反射率,可以通过两种介质的折射率获得,他是一个三通道。所以1-E(u0)就是损失的能量(E与观察方向有关系,所以不同的视角下损失能量是不一样的),最后补上这部分能量。先来看看有哪些Outline,B表示自己的边界,S表示两个面交界处形成的边界,C是折痕,M是材质边界。它被称为principled的BRDF,可以通过调整参数来达到想要的效果,所以他是艺术家友好的。两个系数来控制分布。
2025-06-04 19:48:49
918
原创 GAMES202-高质量实时渲染(Real-Time Shadows)
SAT是对原数据的预处理得到的数据,在一维场景下,每个index记录都是前缀和(提前记录好),现在要求中间某一段的和,就直接拿出SAT在范围查询边界(左边是边界-1)的数据相减就行了。出现该问题的原因可以看下图,光源视角下的一个像素内高度认为是同一个,下一个像素的位置,会被认为比前一个Z值更远,所以平坦的地板会交替出现高低不平的地方,这样就会出现阴影。在任何一个点上,以它记录的值为半径画圆,都不可能碰到物体,如果做光线追踪,那可以直接移动到圆的表面上去,这就是SFD的一个应用。
2025-04-27 22:50:30
878
原创 GAMES101-现代计算机图形学入门(Cameras、Lenses、Light Fields、Color and Perception)
并不需要知道光场内是什么物体,只需要光场的信息,在盒子表面任何一点任何一个位置的信息。从任意一个位置看向任何一个位置,都可以从光场中提取光的信息。人眼前放一块幕布,投影这个图形,对人来说看到的是一样的。传感器的高度与传感器和小孔之间的距离决定FOV的大小。第一行是光圈、第二行是快门速度、第三行是IOS设置。通常都是固定传感器尺寸,控制焦距来控制FOV。用七个维度衡量看到的所有东西,光场从这里开始。小孔成像是可以拍照的,但是没有景深效果。这节主要是科普摄像机的东西。在摄像机中决定曝光的变量。
2025-04-17 14:20:03
422
原创 GAMES101-现代计算机图形学入门(Assignment7)
本次作业只需要实现渲染方程,首先需要理解渲染公式其次需要知道利用蒙特卡洛公式求积分的方法求渲染公式的积分部分需要在半球面采样,为了提高准确度,换元为在光源面积上采样在作业中也给出了伪代码。
2025-03-30 21:03:11
363
原创 GAMES101-现代计算机图形学入门(Assignment6)
在上次作业中,每一次计算光线交点时,都需要与场景中所有的物体进行求交运行,这显然是不合理的,这次作业用BVH划分后进行加速。
2025-03-26 13:04:18
292
原创 GAMES101-现代计算机图形学入门(Assignment4)
本期作业将在新的代码上完成,就是绘制四个控制点表示的贝塞尔曲线,本次作业的原理很简单,另外我目前并不想把时间花费到写出实现代码上,所以本次代码来自网络,会标明出处。
2025-03-22 13:30:22
581
原创 GAMES101-现代计算机图形学入门(geometry)
调整细分后新的三角形顶点处理,更新一条边的中心点,如下图的白点,对这个点的处理,通过上下左右四个顶点加权平均(这个权重是具体的算法,这里不做解释)连接后,奇异点变多了,非四边形都消失了,此时奇异点是4个,但是如果继续细分,奇异点数目并不会继续增加,如下图还是4个。把所有的t都找一遍,就画出了曲线,见下图,想象一下绿色和蓝色的线跟着t的变化一直变化,就会画出蓝色的线。旧的顶点呢,如下图白点就是一个旧顶点,更新算法包括自己本来的位置,以及周围顶点进行加权平均。贝塞尔曲线在控制点过多时,不好控制,如下图所示。
2025-03-21 14:38:49
597
原创 GAMES101-现代计算机图形学入门(Assignment3)
上节课已经对光栅化的操作有了了解,这节课直接引入了模型和纹理,其实本质就是引入了很多的顶点,操作其实没什么变化。根据插值出来的纹理坐标为每个像素提供对应在纹理图片中的颜色,与上一步区别就是漫反射系数换成了纹理颜色。这种应用层面的东西目前不是很想深究,不过它比bump mapping多的就是它是真的会修改三角形位置。这里边环境光是对于每个光源自带的么,为什么每个光源都要计算一次,而不是全局计算一次,有无懂哥?按照上述代码对传进来的像素的法线进行处理,最后的颜色就是法线值。听过课肯定都懂了,直接写进代码即可。
2025-03-20 19:52:37
356
原创 GAMES101-现代计算机图形学入门(Shading)
shading 负责计算物体表面每个采样点的颜色,具体考虑光照、材质属性、观察角度等因素,生成具有真实感的视觉效果(如漫反射、镜面高光、环境光等),之前的光栅化将是几何图元(如三角形)转换为屏幕上的像素,确定哪些像素被图元覆盖,是几何层面的处理。
2025-03-20 16:50:19
897
原创 GAMES101-现代计算机图形学入门(Assigenment2)
上节课通过MVP+视口变换把三角形三个顶点从空间坐标转移到了屏幕上的坐标,并绘制三角形,这节课将通过光栅化技术,构造实心的三角形。
2025-03-20 15:45:21
607
原创 论文阅读(一): Distributed Backdoor Attacks on Federated Graph Learning and Certified Defenses
根据触发器的设计方式,最近的一项工作提出了两种攻击:Rand-GCBA和Rand-GDBA,其中前置“Rand”意味着恶意客户端随机生成触发器的形状,并从其干净的图中随机选择节点作为注入触发器的位置。每个恶意客户端i都有自己的本地触发器ki,测试期间,所有恶意客户端的触发器{ki}将合并为一个触发器,因为合并的触发器包含了各个用户触发器的结构,所以会触发。Rand:恶意客户端随机生成触发器的形状,并从其干净的图形中随机选择节点作为注入触发器的位置。表示,本文关心的是图分类问题,每个。
2025-03-19 16:08:08
1005
1
原创 GAMES101-现代计算机图形学入门(Transformation & Rasterization)(待补充)
GAMES101-现代计算机图形学入门(Transformation & Rasterization)(待补充)
2025-03-16 22:15:35
283
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人