Coder Social home page Coder Social logo

seraphim0423 / games202homework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weiyu666/games202homework

0.0 2.0 0.0 175.09 MB

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

Shell 0.14% JavaScript 16.60% C++ 54.82% Python 1.53% Perl 0.05% C 21.08% Objective-C 0.49% Lua 0.02% Fortran 3.06% R 0.01% C# 0.25% Assembly 0.72% Ada 0.41% CLIPS 0.02% XSLT 0.01% CSS 0.04% Pascal 0.32% Objective-C++ 0.12% Cuda 0.30% SAS 0.01%

games202homework's Introduction

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结业

games202homework's People

Contributors

weiyu666 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.