当前位置:网站首页>Games101 review: rasterization
Games101 review: rasterization
2022-07-26 02:23:00 【Lao Yan is working hard】
- MVP What to do after the transformation ? Naturally, the transformed view is mapped to the screen space .
- In the end
Mapping to Screen space Up .
- When all triangles are on the screen , Then draw the triangle , This process is called Rasterize .
- utilize The center of the pixel ( Whether it is in a triangle ), The function of triangle visibility is sampling .
- Processing anti aliasing ( Anti-Aliasing )AntiAliasing
Catalog
1.1 Define the screen 、 Screen space
1.2 Viewport transform : Transform the standard cube coordinates into screen space
2.1 triangle : The most basic element
3.0 Several kinds of graphics Sampling Artifacts
3.2 frequency domain (Frequency Domain)
3.2.1 The Fourier transform (Fourier Transform): Time domain --> frequency domain
3.2.2 High frequency signals require high frequency sampling , Some visualization examples
3.2.3 Frequency domain diagram : High pass filtering 、 Low pass filtering 、 A band pass filter
3.2.4 Convolution operation : Addition in time domain = Multiplication in frequency domain
3.2.5 sampling = Repeat the content in the frequency domain
3.3 Several anti aliasing techniques
3.3.1 MSAA( Multisampling anti aliasing ): Improve resolution , Calculate the average
3.3.2 FXAA(Fast Approximate AA): Fast approximate anti aliasing
3.3.3 TAA(Temporal AA): Time domain anti aliasing
3.3.4 DLSS(Deep Learning Super Sampling): Deep learning anti aliasing
4. Visibility and occlusion (Visibility/Occlusion)
4.0 Painter algorithm Painter's Algorithm
4.1 Z-Buffering Deep buffer , stay GPU Hardware implementation
1. Viewport transform
1.1 Define the screen 、 Screen space

1.2 Viewport transform : Transform the standard cube coordinates into screen space

2. Rasterize
2.1 triangle : The most basic element
- Guaranteed to be a plane
- It is easy to define the inside and outside of a triangle ( By cross multiplication )
- The attributes of any point in the triangle can be obtained by interpolation
2.2 sampling : Discretization of continuous functions , On the center of the pixel (x+0.5,y+0.5) sampling
Sampling can be done in time , You can also sample at a location

2.2.1 AABB Bounding box ( Axis alignment bounding box ): The method of finding the optimal surrounding space of the discrete points
Collision detection AABB Bounding box _ Star dot blog -CSDN Blog _aabb Bounding box

3. Anti aliasing


3.0 Several kinds of graphics Sampling Artifacts



3.1 The reason for the distortion : The sampling frequency cannot be synchronized with the signal frequency
3.2 frequency domain (Frequency Domain)


3.2.1 The Fourier transform (Fourier Transform): Time domain --> frequency domain
Use Fourier series to approximate the original function :


3.2.2 High frequency signals require high frequency sampling , Some visualization examples


3.2.3 Frequency domain diagram : High pass filtering 、 Low pass filtering 、 A band pass filter
High pass filtering : Only keep the high frequency part , Visually, the boundary is preserved , Because the boundary is the most dramatic part of the image .

Low pass filtering : Only the low frequency part is reserved , Visually, it is fuzzy , It can be understood as removing obvious boundary parts .


3.2.4 Convolution operation : Addition in time domain = Multiplication in frequency domain
thus , There are two ways to realize convolution :


3.2.5 sampling = Repeat the content in the frequency domain

3.2.6 Anamorphosis = Content mixing in frequency domain , That is, there are overlapping parts on the function

3.2.7 Anti aliasing = Limit the mixing of content in the frequency domain , The high-frequency part is removed by filtering before sampling

So this is why the principle of aliasing can be solved to a certain extent by filtering :

3.2.8 From the above, we can get : The anti aliasing effect can be achieved by convolution in a certain pixel area , Take the mean
3.3 Several anti aliasing techniques
3.3.1 MSAA( Multisampling anti aliasing ): Improve resolution , Calculate the average
For example, every previous point is divided into 1×1 The pixel is increased to 2×2 Pixels of

Then take samples , And calculate the average



3.3.2 FXAA(Fast Approximate AA): Fast approximate anti aliasing
Find the jagged image boundary by image matching , And replace it with a borderless image , Very fast , Independent of sampling , Use image method
3.3.3 TAA(Temporal AA): Time domain anti aliasing
Reuse the information of the previous frame , amount to MSAA The corresponding samples are distributed in time .
3.3.4 DLSS(Deep Learning Super Sampling): Deep learning anti aliasing
Some information will be lost during upsampling ( Serrate ), Insufficient sampling rate , Using deep learning techniques “ guess ” Show the missing details .
4. Visibility and occlusion (Visibility/Occlusion)
4.0 Painter algorithm Painter's Algorithm

4.1 Z-Buffering Deep buffer , stay GPU Hardware implementation
- Access the pixel depth value nearest to us in a Buffer in , It's called deep cache ,Z-Buffer
- Cache the information after mixing the pixels closest to us , be called frame buffer

z-buffer Algorithm :


边栏推荐
- ERROR: could not extract tar starting at offset 000000000000020980+9231072+2
- [C language brush leetcode] 814. Binary tree pruning (m)
- Effectively solve the problem of garbled code when idea runs the web project (with detailed steps)
- Digital warehouse: on the construction practice of digital warehouse in banking industry
- 2022-07-17
- Master-slave replication in MySQL
- 记录之目标检测NMS(非极大值抑制)
- 1. Mx6ul core module uses serial NAND FLASH read / write test (III)
- 18_请求文件
- 17_ Form Data
猜你喜欢

Illustration of the insertion process of b+ tree

TCP三次握手四次挥手

i. Mx6ull snvs power domain GPIO status hold verification

Business Intelligence BI full analysis, explore the essence and development trend of Bi

ggplot2学习总结

Exclusive interview with ringcentral he Bicang: empowering future mixed office with innovative MVP

From a data incremental processing problem, we can see the consciousness gap of technicians

Implementation of Ti am335x industrial control module network and file system nfs

力扣148:排序链表

Quick start of adding, deleting, modifying and checking business
随机推荐
Are you still using ==0 null equal to judge null values? How much do you know about isempty and isblank
ggplot2学习总结
U++ common type conversion and common forms and proxies of lambda
What is JSX?
[early knowledge of activities] list of recent activities of livevideostack
国标GB28181协议视频平台EasyGBS消息弹框模式优化
(Dynamic Programming Series) sword finger offer 48. the longest substring without repeated characters
Sqlyog data import and export graphic tutorial
1. Mx6ul core module use serial RTC test (XII)
2022-07-17
[2021] [paper notes] 6G technology vision - otfs modulation technology
From a data incremental processing problem, we can see the consciousness gap of technicians
3. Upload the avatar to qiniu cloud and display it
Is the securities account presented by qiniu true? How to open it safely and reliably?
I.MX6UL核心模块使用连载-nand flash读写测试 (三)
Adruino basic experimental learning (I)
[pyqt5 packaged as exe]
18.删除链表的倒数第n个节点
[2021] [paper notes] biological effects of cell membrane under infrared and THz - effect is a phenomenon, action is a mechanism - the benefits of THz to medicine
Yum install MySQL FAQ
Mapping to Screen space Up .