Games104 Introduction to Modern Game Engines - Rendering System in Lecture4 Games
- 1. Is there a game to choose people?
- 2 Graphics Rendering Theory
- 3 Challenges of Game Rendering
- 4 Rendering framework of game engine
- 5 renders
- 6 GPU
- 7 Modern Hardware Pipeline
- 8 Renderable
- 9 Render in Engine
- 10 Visibility clipping
- 11 Texture Compression
- 12 tools
- 13 Cluster-based mesh pipeline
- 14 Nanites
- 15 Draw the four points of the system
- 16 PILoT
- 17 videos
1. Is there a game to choose people?
Drawing is the hardest part professionally.
There are games without an engine – word games.
2 Graphics Rendering Theory
Radiosity Algorithm
3 Challenges of Game Rendering
1 There are many objects, and there are many types of rendering effects
2 Need to be deeply adapted to modern CPU and GPU
3 Frames are getting bigger and bigger
4 CPU bandwidth
4 Rendering framework of game engine
GPU hardware architecture;
material, shader, lighting
Special rendering
pipeline: delayed rendering. . .
This course does not cover the following sections:
5 renders
Things stuck behind pixels;
projections and rasterization
Then start coloring;
data operations, constant access, and texture access can get the results you want.
Mining textures is actually very resource-intensive.
One of the pixel colors, I need to interpolate 7 times
6 GPU
1 SIMD and SMIT
SMIT: The same instruction is executed many times at the same time.
With the same code, everyone runs together.
Structures are repeated.
A graphics card puts many cores.
SMT architecture
Data flow in the computer is very resource-intensive. Moving data around in different cells is also very slow.
Data is transported in one direction, from cpu to GPU, try not to read data from GPU.
Buffering has a huge impact on modern computing.
a On my memory, the cpu finds that it is not in its own buffer, and needs to find it in the memory, and needs to wait for more than 100 clock cycles.
The data must be kept together.
The data is in my buffer, cash hit. If not in the buffer, cash gap.
If the texture is not done well, if you always let the computer do cash gap, the efficiency will drop.
GPU Bounds and Performance
A computer is an assembly line, if there is only one card owner, it will be stuck
7 Modern Hardware Pipeline
Before learning rendering, you need to understand how the graphics card works?
As a game developer, it's good to know some concepts.
8 Renderable
Meah render component is the core of render
1 Mesh
Store the index value, the number of fixed points is only half of the triangle; it can save memory.
Each vertex has a normal: each vertex must define a normal.
2 Material
It is easy to confuse the material system with the physical material;
the emphasis is on the coefficient of friction, which are similar but not the same.
Physical materials are defined separately.
3 textures
Texture is a very important form of expression in materials.
4 shader
It is source code, but it will be treated as data in the game.
9 Render in Engine
Submesh is segmented according to each object, each object, and each mesh according to the material, and then the same material is classified together and managed with a large library.
Many shaders are the same.
instance must keep in mind: this data is my definition, this data is my instance.
GPU Batch Rendering: Optimization
Many objects are exactly the same,
10 Visibility clipping
is basic
1 bounding box
Bounding sphere
AABB: Axisymmetric bounding box, the calculation efficiency is the highest
OBB: Axial bounding box
Bounding box is the basis of calculation.
BVH:
BVH is used a lot, and it is suitable for acceleration of dynamic scenes!
PVS: Thoughts are useful
2 GPU Culling
Store the depth first, and look at the depth when rendering.
The depth map of the occluder is useful for complex scenes.
11 Texture Compression
Very important module.
The compression algorithm does not support access.
The idea is to cut into small pieces and then go to compress.
Block Compression
BC7, DXTC
ASTC/ETC/PVRTC
12 tools
blender is getting better and better.
scanning, entity-based scanning
13 Cluster-based mesh pipeline
Model Representation Pipeline
Very detailed models – divided into very small parts.
Very efficient to deal with
countless refinements of triangles,
Meshshader - can use an algorithm, the code is not easy to understand.
A cutting-edge direction that needs much attention.
14 Nanites
15 Draw the four points of the system
(1) Engineering science: rely on hardware, know where the performance is stuck,
(2) The relationship between mesh, model, and material data, and the relationship between mesh and submesh is a very good solution.
(3) Let the computer do nothing when optimizing
(4) Use GPU computing.
16 PILoT
study alone