Http://advances.realtimerendering.com/s2010/Kaplanyan-CryEngine3 (siggraph%202010%20advanced%20realtime%20rendering%20course%
The paper of siggraph10.
In general, crytek is dealing with a lot of problems we haven't found yet, and it seems powerless.
In addition, it seems that crytek is gradually upgrading from engineer to scientist, which means it is too master-level.
Texture compress Improvement
It seems annoying,
- Let's take a look at it-use 16-bit texture, histogram normalize or something, and then the effect will be magnified to see some advantages.
- Texture of sRGB space
Normalmap is compressed in 3dc format.
However, crytek needs to improve the algorithm, which can be seen only in rare cases (very close and fine-grained.
When looking at the surface of a car, the smoothness is smooth with a little rough, and the 16-bit normal has a great advantage.
Occlusion Culling
On the console, we use the previous zbuffer downsample several mipmaps, and then use the Hi-Z algorithm to perform culling on the CPU end for the AABB of obj-saving a lot of CPU and GPU computing.
The PC uses a traditional manual occluder, because the CPU-GPU bandwidth is too low to implement zbuffer transmission.
Ssao
A simple page with many nouns
- Encode depth into 2 16bit Channel
- Quater Buffer
- Bilateral blur fetch ---- Interval
- Volumetric
Obscurrance with 4! Samples ---- examples
- Reprojection
The last case is 360 P: 1.1 1.3 ms, PS3 ms, orz!
Deferred Pipeline
Lighting Model:
• Indirect
Lighting-ambient
Term-tagged
Ambient areas-local
Cubemaps-Local
Deferred lights-diffuse
Indirect lighting from lpvs-ssao • direct
Lighting-all
Direct light sources, with and without shadows use light Prepass, format:
- 24bit depth, 8bit stencel ---- storage of various masks
- 24bit normal, 8bit glossness
Normal is awesome.
Storing normalized normal with 24bit results in poor precision:
In fact, there are already a lot of 24bit data, which can store a large amount of information, enough.
The root cause of insufficient precision is that we store normalized normal, so we only use % 1.73 of the theoretical storage capacity.
Crytek used % 98.2 for the algorithm, so it also achieved a very high accuracy:
Both the algorithm and the code are given. The general idea is to take the nearest direction for the normal operation (because the number of discrete points is stored ), the stored file is not normalized.
Then, you only need to normalize it during lighting.
It is indeed quite clever. This idea of using storage space efficiently is really awesome.
The next part will be Phong BRDF. The current lighting model does not seem to be significantly different from the player.
To be honest, halo3's comparison of image quality with Gears of War in the community really makes me uncomfortable, or even says gears is better.
Halo3 is significantly higher in theory.
Hardware needs to continue to develop, and the shading model with more differentiated capabilities will be ready.
HDR
We strive to achieve the HDR Effect on the same bandwidth. The rgbm on the PS3 and the r11g11b10 format are used on 360.
At last, tonemapping has exponential tone mapping and film tone mapping.
Clip volume
Without shadow, lighting is prone to bleeding. The solution is to place a clip volume and use stencel mask to solve the problem.
Anti aliasing
On crytek, both msaa and MLAA cannot solve the problem of flickering images during changes.
Especially in very fine places, railings, grass and other things.
That is to say, the focus is not on static images, but on the Quality of dynamic images.
I was a little skeptical about this. I found some video from MLAA and thought it was still not a big problem:
Http://www.desivideonetwork.com/view/tji5w7378/incredible-killzone-3-mlaa-incorporated-gameplay-and-graphics-best-looking-game-ever-made/
There are also some videos of the god of war.
Crytek's solution is to continue to use reverse projection, record the changes, and then perform blur on these places to reduce the flicker caused by Camera Mobile.
Edge AA is displayed on the static screen.
Finally, let's look at Credit:
• Vaclav
Kyba from R & D for implementation
Temporal AA
• Carsten
Dachsbacher for suggestions on the talk • Holger
Gruen for invaluable help on Effects • Ivan
Nevraev and David Cook for consulting on Xbox 360 GPU • Yury
Uralsky and Miguel Sainz for consulting • Phil
Scott, Sebastien Domine, Kumar Iyer and the whole parallel nsight team • Tiago
Sousa, Sergey Sokov and the whole crytek R & D department are the fundamental differences between master crytek and other studios.