当前位置:网站首页>Project training of Software College of Shandong University rendering engine system basic renderer (V)
Project training of Software College of Shandong University rendering engine system basic renderer (V)
2022-06-12 15:51:00 【chenxiang_ two hundred thousand one hundred and eight】
< Project training of Software College of Shandong University > Rendering engine system —— Base renderer ( 5、 ... and )
- Preface
- One 、 Basic logic
- Two 、 Main function code
- 1、 Body tracking framework
- 2、 about Diffuse and Glossy Object sampling direct light
- 3、 Generate Glossy Scattered light
- 4、 Generate Diffuse Scattered light
- 5、 Generate Glass Scattered light
- 6、 Generate Mirror Scattered light
- 7、 Tracking scattered light
- 8、Gloosy Scattered light hits an object
- 9、Gloosy The scattered light missed the object
- 10、Diffuse The scattered light missed the object
- 11、Specular Scattered light hits an object
- 12、Specular The scattered light missed the object
- summary
Preface
This project hopes to implement a basic renderer , At the same time, it can support the use of precomputing . This article focuses on PathTracer Specific path tracking process code .
Project address
One 、 Basic logic
Same as the previous article , To calculate the contribution of the path corresponding to each pixel , We first initialize the path . Depending on the corresponding pixel from VBuffer After reading the hit point information in , For this hit point , We first calculate the contribution of direct illumination . Because we support multiple importance sampling , So we need to sample the light source when calculating the direct illumination contribution , For different light sources , We distinguish between different ways of calculating contributions , This contribution is then superimposed on this ray result . Of course , If the sampled light source does not actually contribute to the hit point , Then we will ignore it .
After calculating the contribution of direct illumination , We generate and track scattered rays , The direction of the light is determined by BRDF Sampling acquisition of . For tracking the hit results , We saved it . If we don't hit the object in the scene , Then we sample the ambient light directly and add its contribution to the path . If we hit , Then update the current path throughput, After that, take the new hit point as the starting point to continue the tracking similar to the above .
Two 、 Main function code
1、 Body tracking framework

2、 about Diffuse and Glossy Object sampling direct light

3、 Generate Glossy Scattered light

4、 Generate Diffuse Scattered light

5、 Generate Glass Scattered light

6、 Generate Mirror Scattered light

7、 Tracking scattered light

8、Gloosy Scattered light hits an object

9、Gloosy The scattered light missed the object

10、Diffuse The scattered light missed the object

11、Specular Scattered light hits an object

12、Specular The scattered light missed the object

summary
It mainly shows PathTracer The main code for the specific implementation of the function , That is, the relevant code of the specific path tracking process .
边栏推荐
- ER diagram made by StarUML based on the last student achievement management system
- Web UI automation test
- Redis string type common commands
- Five models of software testing
- Import and export steps of SQL Server 2008
- mysql Blob和Text类型
- sql server 2008 的导入导出步骤
- 当编程纳入到高考。。。
- redis 通用命令
- How to analyze the running time and CPU utilization of Go programs?
猜你喜欢

当编程纳入到高考。。。

What is reflection-- The soul of frame design

Application of postman-rest client plug-in

Why doesn't Alibaba recommend MySQL use the text type?

Deepin20.6 RTX3080 安裝顯卡驅動510.60.02、CUDA11.6、PyTorch1.11

一步步创建包含自定义 Screen 的 ABAP 程序的详细步骤

Deepin20.6 rtx3080 installer le lecteur de carte graphique 510.60.02, cuda 11.6, pytorch1.11

How to set public IP access on the H3C gr5200 router

Design concept of ORM framework

【光源实用案例】 UV-LED固化创新,让产线变得更丝滑
随机推荐
第一章 线性表
任务 输出密雪冰城主题曲 0612
当编程纳入到高考。。。
RARP summary (tcp/ip explanation volume 1/2)
sql server 2008 的导入导出步骤
Golang collaboration scheduling (I): Collaboration Status
从斐波那契数列求和想到的俗手、本手和妙手
Daily leetcode - 3 Longest substring without duplicate characters
如何使用Grafana轻松实现OVL数据可视化
Increase the maximum number of MySQL connections
Acwing暑期每日一题(6月10日性感素数)
How to analyze the running time and CPU utilization of Go programs?
Data analysis | kmeans data analysis
2021-06-20
Escape rules and examples of go
5g new scheme! Upgrade the existing base station and UE simulator to 5g millimeter wave band
IGMP报文(TCP/IP详解卷1/卷2)
小飞页升级变智能修复Bug更快速了
Getting started with JMeter
Servlet知识详解(2)