Screen Space Real-Time Global Illumination 总结SSAO、HBAO、SSDO、SSR的原理
本文是GAMES 202的学习笔记,主要内容包括:SSAO、HBAO、SSDO、SSR1. Screen Space Ambient Occlusion环境光遮蔽是一个对于全局光照的近似,在屏幕空间意味着从Camera渲
计算机图形学 文章目录计算机图形学TransformationRotate旋转齐次坐标(Homegenous Coordinates)定义组合变换(Composing Transforms)ShadingShadingBlinn-Phong reflectance modelIllumination光照Specular and ambient termsShading FrequenciesSha
转载
2024-07-25 13:59:15
57阅读
目录 作业要求任务分析提高部分1:多线程提高部分2:Microfacet参考链接作业要求 在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH 等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基础上实现完整的
Path
转载
2024-04-23 10:02:58
123阅读
Games202笔记Real-Time ShadowsShadow Mapping回顾shadow Mapping的数学基础PCF(Percentage Closer Filtering)PCSS(Percentage Closer Soft Shadows)VSSM(Variance soft shadow mapping)Monment Shadow MappingSDFRay Marchi
修改函数 rasterize_triangle(const Triangle& t) in rasterizer.cpp: 在此处实现与作业 2 类似的插值算法,实现法向量、颜色、纹理颜色的插值。//Screen space rasterization
void rst::rasterizer::rasterize_triangle(const Triangle& t, const
转载
2024-03-28 17:03:45
87阅读
线性变换 线性变换是指对数乘和加法封闭 对图像的操作包括缩放(Scale)、旋转(rotation)、错切(shear)、翻转(flip) 仿射变换 线性变换+平移 ##二维情况 (x,y,w) 我们的目标:使用一个矩阵A,使得变换后的坐标(x’,y')=A(x,y)。 问题:平移操作无法使用一个2 ...
转载
2021-10-08 03:26:00
209阅读
2评论
文章目录总览调通框架修改的内容你需要迁移的内容编译运行开始实现代码框架Path Tracing 的实现说明结果与分析注意事项参考结果材质的扩展作业代码进阶代码多线程Microfacet 总览在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且用 BVH 等加速结构对于求交过程进行了加速。在本次实验中,我们将在上一次实验的基 础上实现完整的 Path Trac
转载
2024-03-19 13:44:38
65阅读
光栅化 光栅化描述的主要过程就是将点绘制在屏幕上。我们将屏幕划分成m*n个像素 采样 假设我们想把一个三角形显示在屏幕上,我们需要知道是哪些像素在三角形中。因此,我们一般将像素中心点对三角形相交的位置进行采样(如果在其中就认为这个像素是被填充的) 走样 形成锯齿 原因 我们可以认为采样就是对信号(原 ...
转载
2021-10-11 00:55:00
86阅读
2评论
<1>简单的2-D追踪-Twinsen编写-本人水平有限,疏忽错误在所难免,还请各位数学高手、编程高手不吝赐教 Lamothe说:“向量几何是游戏程序员最好的朋友”。一点不假,向量几何在游戏编程中的地位不容忽视,因为在游戏程序员的眼中,显示屏幕就是一个坐标 系,运动物体的轨迹就是物体在这个坐标系曲线运动结果
Games101-系列课程笔记 Lecture 10 Geometry 1Games101-系列课程笔记纹理应用环境映射凹凸贴图(Bump Texture)位移贴图(Displacement Map)几何分类更多隐式表示参考 纹理应用现代GPU中,纹理(texture)=内存(memory)+范围查询(range query)环境映射 左图是环境光(纹理),右图是利用该纹理渲染出的犹他茶壶。 那么
转载
2024-05-23 19:46:48
205阅读
1 总览在这次编程任务中,我们会进一步模拟现代图形技术。我们在代码中添加了Object Loader(用于加载三维模型), Vertex Shader 与 Fragment Shader,并且支持了纹理映射。而在本次实验中,你需要完成的任务是:1. 修改函数 rasterize_triangle(const Triangle& t) in rasterizer.cpp: 在此处实现与作业
转载
2024-03-21 22:26:14
111阅读
请用来检验答案是否正确 思路 根据Games101第四讲的内容来写即可,核心的部分还是M(p) = M(o) * M(p->o),具体的推动过程课程内讲的很详细,点赞~ 这里有一点需要注意的是,get_projection_matrix传入的参数是“距离值”,因此是正的,但计算过程中需要考虑方向,而 ...
转载
2021-10-30 12:11:00
520阅读
2评论
介绍作业1在Unity上的复现, 实现了基于的硬阴影, PCF, PCSS代码下载: https://github.com/Eagle104fred/Games202_Homework1Games101 阴影课程笔记:https://smuwm007.feishu.cn/docs/doccnQopokLgMTVbIPsTSxow6He注意事项阴影的shader必须写在阴影的接受物体上例如墙壁等地方
请用来检验答案是否正确 思路 这份作业主要在做两个部分: 搭环境 原作业pdf介绍使用虚拟机,但个人因为卡顿等原因放弃使用虚拟机,使用vscode remote+wsl的方式来开发,具体的配置过程可以搜索关键字,蛮多教程的 实现一个旋转、平移 题目大意指在二维中,先逆时针旋转,再平移,并要求在齐次空 ...
转载
2021-10-18 23:06:00
462阅读
3评论
从什么角度看os。--定义用户角度操作界面操作方式,用户环境。开发者,虚拟机,给予的资源和函数调用方式。资源管理者。作业组织者。目标,方便性,高效性。资源稀缺。 发展单批处理:内存中一个任务(作业) 监控系统--人工取代 问题:slow performance。 cpu的发展solution:多道程序批处理多批:cpu切换--作业调度的出现 早期多任务雏形,仍是操作员和程序员,
所用到的函数1、Triangle.hppa,b,csetVertex()setNormal()setColor()setTexCoord()toVector4()2、Triangle.cpp3、rasterizer.hpp运算重载load_position()load_indices()set_model()set_view()set_projection()set_pixel()clear()
GAMES 101 作业0 1.环境配置 安装虚拟机 Oracle VM VirtualBox虚拟机 Ubuntu虚拟硬盘 ⇒ 初识Linux Guest Addition ⇒ 和宿主系统更便捷的交互 作业框架 C++ Eigen线性代数运算库 2.初识Cmake编译工具: 创建目录 建立、编写cp ...
转载
2021-08-23 00:35:00
978阅读
2评论
作业2需要对rasterizer.cpp函数进行修改,另外main.cpp以及rasterizer.hpp也有所修改,这里就主要贴出这三个函数的代码,主要给出rasterizer.cpp的注释rasterizer.cpp:#include <algorithm>
#include <vector>
#include "rasterizer.hpp"
#include <
转载
2024-04-23 09:55:34
32阅读
博弈论(Game Theory)一、巴什博弈(Bash Game)操作:代码:例题:1.Brave Game2. kiki's game二、威佐夫博弈(Wythoff Game)操作:代码:例题:1.取石子游戏三、尼姆博弈论(Nim Game)操作:代码:例题:1. Being a Good Boy in Spring Festival四、斐波那契博弈论操作:代码:例题:1. 取石子游戏五、SG
转载
2024-05-09 17:17:39
132阅读
该简单地添加坐标usually orthogonal unit通常正交单元Cart...
原创
2022-09-04 08:12:24
561阅读