It's always interesting for me to check out Switch games, especially exclusives or the ones treating NS as the primary platform for development. Limited by the handheld form, switch has a quite weaker power compared to the others. Usually say the portable performance is slightly higher than ps3 and the docked performance roughly doubles (not super accurate as we know the memory bandwidth is not improved as much). Yet the hardware feature level is roughly on-par with 8th gen consoles (dx12 level gpu features). This kinda means any graphic improvements we seen on switch games mainly come from the advance of rendering technologies, and I'm wondering what are some techs that are not commonly seen in PS3/360 era?
I'm gonna start off a feature list:
1. PBR materials:
Definitely the source of the biggest visual improvement (and quite frankly, modern mobile games benefit a lot from it as well). Doesn't require too much more performance, but makes the materials' surface properties look closer to real world. Nintendo's 1st/2nd party games are really good at authoring high quality PBR materials, e.g. Mario Odyssey (improved a lot from 3d World), Xenoblade Chronicles 2 (XCX was still non-PBR), Mario Kart/Party/Sports Games. This is definitely doable on 7th gen consoles (Remember Me and some cross-gen CoD titles?), but I feel most materials are not well authored as the artists were not very familiar with the concept? It might also be the limitation of bandwidth if they want to squeeze all the PBR parameters into the GBuffer if using deferred rendering, and the texture fetching cost due due to the high quality IBL.
2. Screen space reflection:
This feature is still quite rare to see on switch... but at least I can easily point out several: Bowser's fury, water bodies in all 3 Xenoblade games, Shrines & divine beasts in Breath of the Wild (yes there is a close SSR implementation), Kirby's Dream Buffet, Luigi's Mansion 3, the upcoming Pikmin 4, and even third party games including Monster Hunter Rise, Ark Survival Envolved (the infamous port), and I'm surprised to discover the port of five nights at freddy's security breach also has floor SSR implemented.
The only 7th gen game I know that has SSR is Crysis 3, which has a super close range SSR on its water body.
A big reason is probably due to the invention of screen space planar reflection, which largely eliminates the bandwidth heavy raymarching, so games like Bowser's fury can even run crisp clean SSR@60fps. Other than that, most SSR implementations are low res and limited ranges. I don't really see any roughness based nor HiZ based (so infinite distance) implementations so far.
3. Volumetric fogs & clouds/Raymarch godrays
I honestly don't know any 7th gen games that employ these effects. Most of the time the godrays are screen space radial blur so they don't exist if the light source is occluded from screen. This is still quite expensive on switch, but at least we can see some games utilized them: BOTW seems to have raymarched godrays, Xenoblade games still have screen space godrays but the far clouds are all volumetric based (which was super impressive when I first saw them).
4. Screen space ambient occlusion
There are quite a few 7th gen games use SSAO. Crysis being the most famous one, then I can recall Homefront and maybe Battlefield games also used them. This is more commonly seen in switch games, and usually has better implementation (some look like HBAO, and the SSAO in Xenoblade really covers a large distance instead of a dark sillouette).
Some games like The Last of Us has a capsule based AO implementaiton, which some UE4 games on switch also have them (surprisingly No More Heroes 3 and the port of FF7: Core Crysis remake)
5. Realtime GI?
TLOU uses reflective shadowmap for the flashlight and that's all I know. Most other games seem to utilize baked probe interpolation. As a comparsion, Breath of the Wild has a realtime updated cubemap that offers both specular and diffuse GI. Crysis remakes have a coarse SVOGI for static objects. Then I don't really know any other switch games that try to simulate realtime GI other than pre-baked solutions or only skyboxes.
6. Screen space contact shadow
Xenoblade 2 uses ss contact shadows in realtime cutscenes (gotta say XC2 is quite a tech impressive game for switch). Don't know about others.
7. Lighting path
Deferred rendering became popular approaching the end of PS3 era, but many still chose to do Forward probably due to memory bandwidth concerns. Switch games seem to follow the same trend given the limited lpddr3 memory. Most 60fps games are not using full deferred rendering path. E.g. Mario Odyssey and Metroid Prime Remastered all uses Forward rendering and Mario Kart 8 Deluxe seems to be light prepass. It's interesting to see Monster Hunter Rise also chose to do forward rendering for whatever reason.
The ones who use deferred lighting target a lower resolution & framerate (like Xenoblade games), or do not adapt a fully PBR material system to reduce the GBuffer size (Breath of the Wild for example). (but there's the special case of Pokemon Legend of Arceus and Scarlet & Violet which use full PBR deferred path but I don't see a reason why... seriously why)
8. Antialising & upscaling
7th gen games mostly use different forms of MSAA and MLAA from my memories. I guess it did the job as the shading alias was not too big a deal at the time. I read somewhere that Halo 4 actually implemented TAA but I don't know if the console version also had it (same question for Crysis 3).
Switch games are more interesting? Nintendo is know for hating AA, and only BoTW seems to have a low quality FXAA implementation when docked. But TAA is quite common on Switch: again xenoblade games, many UE4 ports and other 8th gen ports). Though TAA looks quite blurry at low resolution, and honestly the extensive texture fetching of a high quality TAA is also quite expensive to run on Switch.
In addition some switch games also try to use some form of temporal upscaling methods. Mario Odyssey looks like jittering between 2 half-res images in handheld mode; Xenoblade Chronicle 3 implemented a 4x checkboard rendering (2x from temporal, 2x from spatial) adding on top of the low res FXAA. I don't think any 7th gen games tried to do this?
Wondering any other tech comparsions/differences are there? Also plz correct me if anything from the list is wrong. Would love to know more fancy tricks from 7th gen games.
I'm gonna start off a feature list:
1. PBR materials:
Definitely the source of the biggest visual improvement (and quite frankly, modern mobile games benefit a lot from it as well). Doesn't require too much more performance, but makes the materials' surface properties look closer to real world. Nintendo's 1st/2nd party games are really good at authoring high quality PBR materials, e.g. Mario Odyssey (improved a lot from 3d World), Xenoblade Chronicles 2 (XCX was still non-PBR), Mario Kart/Party/Sports Games. This is definitely doable on 7th gen consoles (Remember Me and some cross-gen CoD titles?), but I feel most materials are not well authored as the artists were not very familiar with the concept? It might also be the limitation of bandwidth if they want to squeeze all the PBR parameters into the GBuffer if using deferred rendering, and the texture fetching cost due due to the high quality IBL.
2. Screen space reflection:
This feature is still quite rare to see on switch... but at least I can easily point out several: Bowser's fury, water bodies in all 3 Xenoblade games, Shrines & divine beasts in Breath of the Wild (yes there is a close SSR implementation), Kirby's Dream Buffet, Luigi's Mansion 3, the upcoming Pikmin 4, and even third party games including Monster Hunter Rise, Ark Survival Envolved (the infamous port), and I'm surprised to discover the port of five nights at freddy's security breach also has floor SSR implemented.
The only 7th gen game I know that has SSR is Crysis 3, which has a super close range SSR on its water body.
A big reason is probably due to the invention of screen space planar reflection, which largely eliminates the bandwidth heavy raymarching, so games like Bowser's fury can even run crisp clean SSR@60fps. Other than that, most SSR implementations are low res and limited ranges. I don't really see any roughness based nor HiZ based (so infinite distance) implementations so far.
3. Volumetric fogs & clouds/Raymarch godrays
I honestly don't know any 7th gen games that employ these effects. Most of the time the godrays are screen space radial blur so they don't exist if the light source is occluded from screen. This is still quite expensive on switch, but at least we can see some games utilized them: BOTW seems to have raymarched godrays, Xenoblade games still have screen space godrays but the far clouds are all volumetric based (which was super impressive when I first saw them).
4. Screen space ambient occlusion
There are quite a few 7th gen games use SSAO. Crysis being the most famous one, then I can recall Homefront and maybe Battlefield games also used them. This is more commonly seen in switch games, and usually has better implementation (some look like HBAO, and the SSAO in Xenoblade really covers a large distance instead of a dark sillouette).
Some games like The Last of Us has a capsule based AO implementaiton, which some UE4 games on switch also have them (surprisingly No More Heroes 3 and the port of FF7: Core Crysis remake)
5. Realtime GI?
TLOU uses reflective shadowmap for the flashlight and that's all I know. Most other games seem to utilize baked probe interpolation. As a comparsion, Breath of the Wild has a realtime updated cubemap that offers both specular and diffuse GI. Crysis remakes have a coarse SVOGI for static objects. Then I don't really know any other switch games that try to simulate realtime GI other than pre-baked solutions or only skyboxes.
6. Screen space contact shadow
Xenoblade 2 uses ss contact shadows in realtime cutscenes (gotta say XC2 is quite a tech impressive game for switch). Don't know about others.
7. Lighting path
Deferred rendering became popular approaching the end of PS3 era, but many still chose to do Forward probably due to memory bandwidth concerns. Switch games seem to follow the same trend given the limited lpddr3 memory. Most 60fps games are not using full deferred rendering path. E.g. Mario Odyssey and Metroid Prime Remastered all uses Forward rendering and Mario Kart 8 Deluxe seems to be light prepass. It's interesting to see Monster Hunter Rise also chose to do forward rendering for whatever reason.
The ones who use deferred lighting target a lower resolution & framerate (like Xenoblade games), or do not adapt a fully PBR material system to reduce the GBuffer size (Breath of the Wild for example). (but there's the special case of Pokemon Legend of Arceus and Scarlet & Violet which use full PBR deferred path but I don't see a reason why... seriously why)
8. Antialising & upscaling
7th gen games mostly use different forms of MSAA and MLAA from my memories. I guess it did the job as the shading alias was not too big a deal at the time. I read somewhere that Halo 4 actually implemented TAA but I don't know if the console version also had it (same question for Crysis 3).
Switch games are more interesting? Nintendo is know for hating AA, and only BoTW seems to have a low quality FXAA implementation when docked. But TAA is quite common on Switch: again xenoblade games, many UE4 ports and other 8th gen ports). Though TAA looks quite blurry at low resolution, and honestly the extensive texture fetching of a high quality TAA is also quite expensive to run on Switch.
In addition some switch games also try to use some form of temporal upscaling methods. Mario Odyssey looks like jittering between 2 half-res images in handheld mode; Xenoblade Chronicle 3 implemented a 4x checkboard rendering (2x from temporal, 2x from spatial) adding on top of the low res FXAA. I don't think any 7th gen games tried to do this?
Wondering any other tech comparsions/differences are there? Also plz correct me if anything from the list is wrong. Would love to know more fancy tricks from 7th gen games.