Shouldn't we give him a chance to defend himself?
VFXVeteran
I think he deserves that from us at the minimum.
Hey guys!
For those wanting to know where my head was at:
Over the years, realtime 3D graphics have made milestones towards reaching offline rendering. Out of a mirad of games for all platforms, the following features are listed where each has a "cost" associated with it for the GPU. Some of these 3D features can tax a CPU as well, but in general, you can find at least one or more of these features within any game:
GPU Cost Ratings: Low, Medium, High, Very High, Variable
Resolution - Very High - increases the number of pixels that need to be rendered from the final frame buffer to the screen. The more pixels, the more costly are the internal computations.
FPS - Very High - This determines how fast you want the number of pixels to render per second.
Shadows - Very High - There is a reason why most games only support 1 shadow-casting light source. This feature requires rendering the scene from all light sources and storing shadow maps into depth buffers. On top of that, many games lower the resolution of the shadow maps to get around the high cost. The results though is that you see pixelated shadows.
Global Illumination - High - today most games use light probes that represent an area of a scene that has indirect lighting. Since these light probes are pretty inexpensive to compute, the performance hog would be increasing these probes which would increase the lookup times to resolve a solution on a single pixel. Using the ray-tracing version will be significantly more expensive.
Textures - Variable - Textures can range in sizes and in number. We have to account for normal maps, and multiple layers of textures on the same surface. The higher the resolution of all the textures, the better quality the asset will look. But also the higher bandwidth required to move textures into and out of VRAM. We also have to look at the number of bits per channel for textures. Normal maps usually need at least 16-bits of precision for good detail. Full float 32-bit channel textures aren't unheard of. Photogrammetry also goes under this feature.
Transparent Geometry - Very High - This feature is extremely expensive when trying to display FX, water pools, glasses, etc.. The reason for this is most renderers are based on deferred shading. But when dealing with transparent polygons, you must sort all the polygons from back to front in order to display correctly. Sorting usually costs O(n log n) time. When a renderer would rather compute arbitrary geometry because transparency is too expensive, they implement shortcuts (i.e. making a cookie-cutter shape of a tree's leaves for example).
Texture filtering - Low - Most hardware has built in ability to filter a texture. Anisotropic filtering is required to give the best results. The more texels you sample, the better the approximation at oblique angles. 16x is pretty much optimized within Nvidia hardware and has very little cost.
Parallax Occlusion Mapping - Very High - This texturing feature brings out extremely good detail on landscapes where normal mapping fails. The problem with this approach is it's ray-casting technique within texture space. So it goes beyond just getting a texel at a UV position on the surface. You now have to trace a ray across many texels to get self occlusion. The results are very pleasing to the eye however.
Environment Lighting - Medium - indexing an environment texture to add to your final surface color is pretty common. Using 32-bit HDR textures, however, can be costly depending on how accurate you want the lighting to be. A procedural sky would be even more costly as it would go beyond a simple texture lookup.
Subsurface Scattering -
Very High - Most graphics platforms don't have enough GPU power to approximate this BRDF with a reasonably good dipole scattering. Most gameplay shots of characters and foliage don't use the conventional SSS to shade skin. A lot of cutscenes use the higher approximation but the gameplay switches to either a lower approximation or none at all. Foliage in environments usually forego this BRDF and use a reverse-normal hack for the diffuse part of the rendering equation.
Tessellation - Medium - I say this because GPUs are very good at rendering geometry. As we saw in the UE5 demo, geometry all the way down to near subpixel size. Nearly every new game out now uses tessellation in one form or another.
Ambient Occlusion - Very High - typical SSAO is the least expensive solution and we see that in every current gen console. The PC however uses more complex solutions which are very expensive. HDAO and HBAO are expensive and sometimes cost like 20% of render time. Even more costly using RT. But I can't stress enough how important AO is to the look of the scene. That's one of the reasons FS2020 looks so good. Correct ambient shadowing is crucial to lighting.
Reflections - High - the typical SSR isn't so expensive but we already know the shortfall concerning that route. Going RT reflections would be costly in a highly complex scene, but since most reflections are on a limited number of objects, I would say they are high cost instead of very high.
Ray-Tracing - Very High - RT is completely dependent on screen resolution as each pixel traces rays into the scene for intersection. we have 4 types that are common you should watch out for: Shadows, GI, Reflections, AO. Implementing all the features together at 4k resolution would still be far from reach unless something like DLSS 2.0 or an equivalent reduces that cost.
PBR Materials - Medium - I think we've come full circle with PBR matierals. The Order 1866 is one of the best looking implementations of good PBR. It takes a lot of knowledge of light energy and how it conserves when bouncing off of objects.
Motion Blur - Low - I haevn't yet seen MB be very expensive. They have really good techniques now that are pretty efficient.
Anti-Aliasing - Variable - I would tend to think that FXAA is good enough for a true 4k render but there are various techniques that are low cost and some high cost.
Volumetric Smoke - Very High - Still not able to do true volume ray-marching, this feature requires transparent cards which wreak havoc on the GPU. Again, sorting.
Surface Water rendering - Very High - to do this with some good accuracy requires an SSS solution. Most companies don't bother with making surface water rendering look good. It requires reflections, a good energy-conserving BRDF and light propegation down into layers of water underneath. AC games have a good solution though.
Animations - Variable - Mocap or Hand drawn? A lot of flexibility here. ND uses a sophisticated system that probably involves lots of key and follow-through animation. AC has pretty good animation too.
Procedural Textures - Very High - We don't see a lot of this happening due to it's complexity and the difficulty with filtering such functions analytically. I like FS2020's use of texture synthesis. Probably very expensive.
Tone Mapping - Medium - Since most games use a simple tone map operator, this isn't that costly.
FX (Fire, Smoke, Electricity, etc..) - Very High - transparent polygons again with animated textures. Make them look really good requires surface illumination on the transparent cards which adds to the complexity.
LOD (Level of Detail) - Variable - This will always depend on the bandwidth of the GPU. Popin will still be with us for awhile. They even have shadows limited by LOD now.
It's these features that I judge every game's graphics tech off of. From game to game, devs will pick and choose from this list what would be more important and which one would sacrifice too much GPU power. Previous generation consoles only saw some of these graphics features and most at a reduced quality level. I am making an educated guess when I say that games next-gen will probably have more of these features and higher quality that rival the PC's implementations last gen.
As an aside, the reason why I made the claim about HZD on PC
*could* rival or look better than HZD2 on PS5 is based on these features. If we equal out all the art direction talent and ignore scenario changes (i.e. we don't say HZD:Frozen Wilds looks better than HZD because it was made with the same graphics tech and only the scenery changed), and given the PS5's GPU performance compared to a top-tier Nvidia GPU, the PC version could implement more of these graphics features than PS5 HFW. It's not a wild stretch to assume that previous games use the same graphics engine with a few tweaks here and there. RE7, RE2: Remake and RE3: Remake are good examples. All of them are pretty similar in look to each other because they used the same team and same engine.
When I play PC HZD tomorrow, I'll analyze the differences between "Classic" and "Ultra" modes in the game. This will give us a picture at what the dev team was able to add with the extra GPU power on the PC. It would have to take PS5 HFW's graphics tech to implement several of these features and at higher quality in order to declare a remarked difference between the PC version and HFW. That's my logic anyway given the PS5's GPU disadvantage but I could be wrong and will state it as such. We can revisit once we see actual gameplay footage and not cutscene footage. We can never compare a cutscene to actual gameplay as the cutscene does indeed use more of these features and higher quality of these features, but in a fixed camera setting. That's why cutscenes look better than gameplay.
Hope this clears things up..