• Stars
    star
    147
  • Rank 249,986 (Top 5 %)
  • Language
    C++
  • Created over 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

主要是学习闫老师的GAMES202高质量实时渲染完成的大作业

GAMES202homework

主要是学习闫老师的GAMES202高质量实时渲染完成的大作业

WebGL抓帧debug

方式一RenderDoc调试webgl:

用到了webgl所以需要webgl抓帧调试,但是当前shader的调试暂时不支持~

RenderDoc 调试web

方式二 spectorjs 抓帧:

spectorjs 抓帧

homework0

作业0主要是实现的Blinn-Phong 着色模型 ,最主要是的环境搭建测试熟悉202的框架等等;

运行效果:

运行效果图


homework1

作业1主要是在Blinn-Phong 着色模型基础上实现阴影,通过shadow map实现硬阴影、Soft 阴影PCF算法过滤、软硬阴影PCSS;

PCSS效果图:

PCSS_01

PCF:

PCF_01

SM:

SM_02


homework2

作业2主要是在实现PRT(Precomputed Radiance Transfer)本次作业的工作主要分为两个部分:cpp 端的通过一种预计算方法,该方法在离线渲染的 Path Tracing 工具链 中预计算 lighting 以及 light transport 并将它们用球谐函数拟合后储存;以及在 WebGL框架上使用预计算数据部分; 1、基于球谐函数的预计算辐射传输 2、分为有阴影与无阴影的 3、加分项旋转

PRT球谐函数间接环境光:

、PRT_Shadowed _my


homework3

作业三主要即考虑直接光照也考虑间接光照,最主要是实现全局光! • 实现对场景直接光照的着色 (考虑阴影)。 • 实现屏幕空间下光线的求交 (SSR)。 • 实现对场景间接光照的着色。

全局光照效果图:

立方体间接光3

山谷间接光


homework4

作业四由于BRDF忽略微平面间的多次弹射,导致了材质的能量损失!使用Kulla-Conty BRDF 模型来近似能量守恒,BRDF 的补偿项 fms,而 fms的计算需要 E(µ) 和 Eavg 两个前置变量 分两个部分: • 在离线端 (lut-gen 文件夹中) 预计算 E(µ) 和 Eavg。 • 在实时端 (homework4 文件夹中) 通过查询预计算数据构建 BRDF 的补偿项; 当然这都是基于PBR的!

PBR效果图: 无补充光 0812185950

使用Kulla-Conty BRDF 模型补偿项 reslut

homework5


作业5实现一个简单的实时光线追踪的降噪方法。光线追踪的渲染结果,G-Buffer 及其他相关信息会以放在 http://games-cn.org/forums/topic/zuoye5fabugonggao/ 的examples文件夹中大概1.3G;这次主要是解决怎么样降噪的问题! 作业分为三部分: 单帧图像的降噪,计算 motion vector,累积帧间信息;

光追去噪效果图: 微信截图_20211008204459

微信截图_20211008204546

Games202成绩证书~


games202en games202结业

More Repositories

1

RevitExportGltf

主要是Revit的二次开发的插件,其中主要是基于Revit2018进行的,实现从Revit中把建筑模型导出来,使用的是GLTF格式的编码。(这个是好用的至少是至今发现上最好用最实用,也是参考然后大改过的 比如解决了Node、纹理丢失、压缩等等问题的项目)
C#
95
star
2

Graduation_Design-Distributed_Web_Spider

基于微博用户信息数据的分布式爬虫所做的毕业设计,有一小部分简单的数据分析。这个也是为了纪念大学四年!里面包括了源代码,论文的一稿二稿等等还有查重终稿,UML图 、PPT等等
Python
63
star
3

RevitExportObjAndGltf

The Revit-based plug-in realizes the export of 3D files in obj or gltf format, which may have small material problems, which can be improved in the later stage; because the project needs to engage in the secondary development of Revit in the near future, similar plug-ins are rarely found on the Internet Related information will be recommended to everyone.
C#
61
star
4

Penetrate_NAT_TCP

使用C实现TCP穿透NAT(TCP打洞);由于本人本科是网络工程的所以在学习TCP/IP 体系结构、网络协议分析、网络安全等等课程后做的小demo~
C
49
star
5

Design-_and-_Implementation-_of-_Enterprise_Network_Architecture-cisco

本人身为网络工程专业怎么也要做过一下网络的项目 (本人在这次项目做了项目组长)私有云与网络组建设计搭建 cisco交换机路由器防火墙配置 VLAN划分 +trunk+负载均衡+Rapid Spanning tree protocol+反向代理+ACL访问列表+LDAP服务器+www,mysql,smtp,ftp等等服务器集群
12
star
6

NetEaseCloudMusicWebCrawler

用python3.5 mongoDB+base64+json格式+python正则表达式+BeautifulSoup库 写的爬取网易音乐的网络爬虫
Python
9
star
7

Distributed_Web_Crawler

由于用多线程速度已经达到了极限只能采取使用分布式爬虫的方式,使用了两台物理服务器。
TeX
7
star
8

AABB-OBB-LOD0

这是一个而使用了osg基于3D包围盒技术AABB与OBB的先计算出box的顶点坐标,然后对模型的六个面进行离线渲染纹理的烘焙到2D纹理贴图中(FBO),在生成的box的六个面分别贴上这六张纹理贴图,来实现LOD(实现的是第0级的lod)!当然这里还包含了多模型加载的实现以及使用了OSG的源码针对OBJ模型的编码解码的分析;
C++
7
star
9

blogs-JSP

JSP的一个个人 blogs
Java
4
star
10

RDSConter

这是一个注册发现服务,包含基于微服务读写分离和HTTP协议Restful规范的定时任务;云计算在今天非常流行,微服务架构现在最流行,经常用来解决各种服务的框架;由于项目的定制化以及需求,要求自己设计并实现了一套注册发现服务。这个使用起来很简单,都是基于.net core3.0,已经部署在Linux上并且发布成功,也都经过了比较多的测试与修复。如果有需要可以简单的修改后使用该设计
C#
3
star
11

GAMES101-homework-2021year-

主要是学习闫老师的GAMES101计算机图学习的基础大作业,2021年重写提交温故而知新
C++
1
star