The Super Mario Odyssey Visual/Tech analysis thread
- Page 1 of 1
So I've been analyzing the game's engine ever since the game launched, and have made quite a few surprising discoveries, particularly with respect to how modern the rendering pipeline is compared to other Nintendo games. With the sheer amount of details there are to discuss, I felt that this topic needed its own thread.
Mario Odyssey doesn't just look good because of its art and animations (though that certainly takes it to another level), there is quite a lot happening under the hood, and this thread will be used to uncover what's going on behind the scenes.
Since someone has already started a Twitter thread providing evidence of their findings, I figured that linking those tweets to this thread would be a good place to start, as I have contributed to the Twitter thread with my own findings as well.
So as a summary of the important features:
- Game uses PBR (with real Fresnel) for materials
- Cubemaps + IBL for reflections, even splashes
- Displacement mapping for particle system
- Ice crystals truly refract, everything else cheats
- BRDF lighting model with depth buffer
- Lots of normal mapping tricks to fake effects
More details regarding the features of the engine are forthcoming. If you'd like to share your findings here as well, you're welcome to do so.
Update:
UPDATE #2
UPDATE #3: Term Definitions
Here are some definitions for the more technical terms used in the analysis.
PBR = Physically based rendering. This is a 3D graphics engine rendering pipeline. This allows developers to have all of the materials (surfaces of the objects in the game) to behave as they would in real life in terms of light interacting with it. Before PBR, developers would have to design each texture map in a way that would conform to their understanding of how a texture should look under certain lighting conditions, manually. This was a painstakingly laborious process because if you wanted a variety of surfaces in a game with dynamic lighting conditions, you'd have to have artists and programmers working together to get individual textures to look right. With PBR, you define parameters for materials, and they dynamically change with lighting conditions, accurately (glass looks and reflects like glass, metal looks and reflects like metal, cotton looks and diffuses like cotton, etc).
- Fresnel. The Fresnel (pronounced 'fruh-NELL') coefficient is a factor based on real world light physics that's used in 3D graphics rendering to help determine the reflectivity of materials. At grazing angles (where light is nearly parallel to the surface it's 'grazing', from the perspective of the observer) all materials achieve a reflectivity of 100% (though clarity of this reflectivity can be impeded if a surface is particularly rough). At this angle, the light source and whatever color information it's carrying can be seen as a specular reflection (mirror-like image) as opposed to diffused reflection (light that has been evenly spread out in all directions).
- Cubemaps. 6 textures images that are combined to represent a 3 dimensional space in all directions (up, down, left, right, forward, back).
- IBL = Image-based lighting. This lighting technique uses an omnidirectional image that is normally acquired by recording said image from an omnidirectional camera in the real world and then mapping it onto a spherical environment in a 3D graphics engine. Then, the real world's lighting information can be calculated from the image and that data can be used to Illuminate the game. However, an alternative to using a real world HDRI omnidirectional image is to use a cubemap of the environment. It won't be as realistic as a real HDRI image if the cubemap's textures were generated from 3D graphics, but it'll still allow to store data needed for any materials that may need to produce reflections.
- Displacement Mapping. Also know as vertex displacement, this technique combines polygon meshes with invisible surfaces known as displacement maps, which define how the original polygon meshes should transform their geometry. The logistics of this process relies on information stored in heightmaps, which store variations in surface elevation data.
- Refraction. Light rays pass from one medium to another (air, water, ice, glass, etc.), resulting in a change in direction of its waveform. The effect of this result is that images that you see pass from one medium to another appear distort, or light patterns change in color.
- BRDF = Bi-Directional Reflectance Distribution Function. This lighting model determines how effectively light can reflect from a surface (strongly, weakly). Related models determine the effectiveness of light's other interactions with materials, like transmitting through a material (BTDF) or scattering inside of a material (BSSDF).
- Normal Mapping. A texture mapping technique using shaders to give the illusion of depth to an image, without needed to use extra geometry.
- Volumetric Lighting. When light rays are contrasted with shade in an alternating or mixed pattern, they appear as shafts. Lots of games fake this, but when a game allows light shafts to interact with geometry and transform accordingly, this is called Volumetric Lighting, as the light appears to have volume.
- Emissive materials. Materials that provide their own light source, usually as an area light (light source formed from the shape of the object itself).
- Global Illumination. Also known as diffuse interreflection, this technique (using various methods and levels of accuracy, like lighting probing with spherical harmonics) allows 3D games to approximate a real world phenomenon where light will bounce from surface to surface, changing colors as it bounces along different surfaces and mixing those new colors with the colors of the surfaces it bounces onto next.
- 3D Caustics. Highly refracted light visible within a 3D space.
Mario Odyssey doesn't just look good because of its art and animations (though that certainly takes it to another level), there is quite a lot happening under the hood, and this thread will be used to uncover what's going on behind the scenes.
Since someone has already started a Twitter thread providing evidence of their findings, I figured that linking those tweets to this thread would be a good place to start, as I have contributed to the Twitter thread with my own findings as well.
So as a summary of the important features:
- Game uses PBR (with real Fresnel) for materials
- Cubemaps + IBL for reflections, even splashes
- Displacement mapping for particle system
- Ice crystals truly refract, everything else cheats
- BRDF lighting model with depth buffer
- Lots of normal mapping tricks to fake effects
More details regarding the features of the engine are forthcoming. If you'd like to share your findings here as well, you're welcome to do so.
Update:
UPDATE #2
By brainchild Go To PostAlright, so after many light probe and light bounce tests (conducted by measuring light falloff, color comparisons between adjacent materials, changes in ambient color within a given space, etc.) I'm pretty confident in saying that this game definitely uses global illumination. However, I don't think any light goes beyond a tertiary bounce, as far as I can tell.
My best guess as to how they do it would be spherical harmonics simply because of how localized the radiosity is.
I posted some of my experiments on Twitter:
It's a miracle that this game runs at 60fps!
By brainchild Go To PostIf anyone would like to know more about Odyssey's lighting model (BSDF, which encompasses BRDF and BTDF), I highly recommend these educational videos on the topic.
Clear, concise, and to the point.
UPDATE #3: Term Definitions
Here are some definitions for the more technical terms used in the analysis.
PBR = Physically based rendering. This is a 3D graphics engine rendering pipeline. This allows developers to have all of the materials (surfaces of the objects in the game) to behave as they would in real life in terms of light interacting with it. Before PBR, developers would have to design each texture map in a way that would conform to their understanding of how a texture should look under certain lighting conditions, manually. This was a painstakingly laborious process because if you wanted a variety of surfaces in a game with dynamic lighting conditions, you'd have to have artists and programmers working together to get individual textures to look right. With PBR, you define parameters for materials, and they dynamically change with lighting conditions, accurately (glass looks and reflects like glass, metal looks and reflects like metal, cotton looks and diffuses like cotton, etc).
- Fresnel. The Fresnel (pronounced 'fruh-NELL') coefficient is a factor based on real world light physics that's used in 3D graphics rendering to help determine the reflectivity of materials. At grazing angles (where light is nearly parallel to the surface it's 'grazing', from the perspective of the observer) all materials achieve a reflectivity of 100% (though clarity of this reflectivity can be impeded if a surface is particularly rough). At this angle, the light source and whatever color information it's carrying can be seen as a specular reflection (mirror-like image) as opposed to diffused reflection (light that has been evenly spread out in all directions).
- Cubemaps. 6 textures images that are combined to represent a 3 dimensional space in all directions (up, down, left, right, forward, back).
- IBL = Image-based lighting. This lighting technique uses an omnidirectional image that is normally acquired by recording said image from an omnidirectional camera in the real world and then mapping it onto a spherical environment in a 3D graphics engine. Then, the real world's lighting information can be calculated from the image and that data can be used to Illuminate the game. However, an alternative to using a real world HDRI omnidirectional image is to use a cubemap of the environment. It won't be as realistic as a real HDRI image if the cubemap's textures were generated from 3D graphics, but it'll still allow to store data needed for any materials that may need to produce reflections.
- Displacement Mapping. Also know as vertex displacement, this technique combines polygon meshes with invisible surfaces known as displacement maps, which define how the original polygon meshes should transform their geometry. The logistics of this process relies on information stored in heightmaps, which store variations in surface elevation data.
- Refraction. Light rays pass from one medium to another (air, water, ice, glass, etc.), resulting in a change in direction of its waveform. The effect of this result is that images that you see pass from one medium to another appear distort, or light patterns change in color.
- BRDF = Bi-Directional Reflectance Distribution Function. This lighting model determines how effectively light can reflect from a surface (strongly, weakly). Related models determine the effectiveness of light's other interactions with materials, like transmitting through a material (BTDF) or scattering inside of a material (BSSDF).
- Normal Mapping. A texture mapping technique using shaders to give the illusion of depth to an image, without needed to use extra geometry.
- Volumetric Lighting. When light rays are contrasted with shade in an alternating or mixed pattern, they appear as shafts. Lots of games fake this, but when a game allows light shafts to interact with geometry and transform accordingly, this is called Volumetric Lighting, as the light appears to have volume.
- Emissive materials. Materials that provide their own light source, usually as an area light (light source formed from the shape of the object itself).
- Global Illumination. Also known as diffuse interreflection, this technique (using various methods and levels of accuracy, like lighting probing with spherical harmonics) allows 3D games to approximate a real world phenomenon where light will bounce from surface to surface, changing colors as it bounces along different surfaces and mixing those new colors with the colors of the surfaces it bounces onto next.
- 3D Caustics. Highly refracted light visible within a 3D space.
By ratcliffja Go To PostNintendo engine makers are magicians.
Edit: Also, thanks for this thread. It's fascinating
No problem. And yeah, it's amazing to see the evolution of graphics tech from Nintendo. They're all about efficiency, but with Switch hardware, they don't have to rely on as many visual tricks as they did before. Lots of real-time effects on display here!
Great thread! Stuff like this helps me learn and gives me ideas/solutions for my own work.
I've noticed a lot of people saying the game doesn't look that good and is barely better looking than Sunshine, but the slightest knowledge of 3D graphics makes that such a silly thing to say.
I'm so thankful I'm getting into 3D at a time where a normal triangle count for a character is 15-35k. I couldn't imagine having to work when the high end was 8k triangles!
This stuff makes me extremely scared to make my first fully 3D game/environment though...so much to do and learn.
I've noticed a lot of people saying the game doesn't look that good and is barely better looking than Sunshine, but the slightest knowledge of 3D graphics makes that such a silly thing to say.
I'm so thankful I'm getting into 3D at a time where a normal triangle count for a character is 15-35k. I couldn't imagine having to work when the high end was 8k triangles!
This stuff makes me extremely scared to make my first fully 3D game/environment though...so much to do and learn.
By chrmilou Go To PostGreat thread! Stuff like this helps me learn and gives me ideas/solutions for my own work.
I've noticed a lot of people saying the game doesn't look that good and is barely better looking than Sunshine, but the slightest knowledge of 3D graphics makes that such a silly thing to say.
I'm so thankful I'm getting into 3D at a time where a normal triangle count for a character is 15-35k. I couldn't imagine having to work when the high end was 8k triangles!
This stuff makes me extremely scared to make my first fully 3D game/environment though…so much to do and learn.
First, I wish you the best in your future endeavors. Good Luck!
As for 3D modeling, I'd say that some modeling creativity is required for any character models with a budget under 100k polygons. Knowing where to cut corners is key, and unfortunately, it's not a very easy thing to know. Some people just have an eye for it, others learn with experience. Most artists just use as many polys as they can get away with. My advice is to limit yourself and start getting good with less. Once you have that down, your higher budget characters are going to look amazing. At least, that's what my friends with years of 3D modeling experience tell me anyway, I personally don't handle that side of development (PLT is my forté).
And yeah, I think people want a more diffuse rendering look for Mario (like Mario + Rabbids), instead of Odyssey's style which uses lots of specular reflections, which gives an overall 'plastic-y' look and feel. It's simply a different approach, but it doesn't mean that Odyssey is a bad looking game. When you factor in the robustness of its lighting model and rendering pipeline, its open sandbox levels, and that buttery smooth 60fps framerate, it's no question in my mind that it's the best looking game on the Switch.
By FatRiker Go To PostSo this is the ultimate evolution of the Wind Waker engine.
I mean, at this point, I think it's safe to say that we're looking at a new engine. It has PBR and deferred rendering. I see no utility in overhauling an ancient engine when you're changing how the engine works on a fundamental level. It would take so much effort that you might as well build it from scratch. Of course, it's still possible that this engine evolved from Wind Waker's engine but I highly, highly doubt it.
Great thread brainchild. Always love reading about the little tricks devs use to make their games look as good as possible.
Shame, with ResetEra open now, there isn't a huge community interested in this stuff left here to stir up much of a discussion. Speaking of which are you planning to sign up at ResetEra brainchild? We'd love to have you post over there.
Shame, with ResetEra open now, there isn't a huge community interested in this stuff left here to stir up much of a discussion. Speaking of which are you planning to sign up at ResetEra brainchild? We'd love to have you post over there.
By LuigiV Go To PostGreat thread brainchild. Always love reading about the little tricks devs use to make their games look as good as possible.
Shame, with ResetEra open now, there isn't a huge community interested in this stuff left here to stir up much of a discussion. Speaking of which are you planning to sign up at ResetEra brainchild? We'd love to have you post over there.
Hey, long time no see!
I'll register for resetera whenever I can find my email address from my ISP (I have no idea what it is), but slaent is where I'll be posting for the foreseeable future. I prefer the atmosphere here. However, I'll try to contribute when I can whenever I finally get registered over there.
I am interested, I don't know much about technical details in games but I do appreciate a fine looking game and certainly Odyssey is blowing my mind every time I start play that game. Appreciate the thread!
By brainchild Go To PostHey, long time no see!Haha, fair enough. The whole paid email thing is a bit of a drag (I was lucky that I'm back at Uni so I could use my student email). That said, it'll be good to see you on Era when you do register, even if your visits are infrequent. The next Nintendo hardware speculation thread just won't be the same without your contributions. But anyway, that's enough of that. Don't want to go too far off topic.
I'll register for resetera whenever I can find my email address from my ISP (I have no idea what it is), but slaent is where I'll be posting for the foreseeable future. I prefer the atmosphere here. However, I'll try to contribute when I can whenever I finally get registered over there.
Back on topic. One thing I really like about this game (and 3D world before it) is the extensive use of 3D particles. I imagine a pretty sizeable percentage of the overall polygon budget has to be dedicated to them but I feel the tradeoff is worth it as it really gives the particles a sense of presence in the world.
By brainchild Go To PostFirst, I wish you the best in your future endeavors. Good Luck!Hmm...maybe I've studied too many game models, but cutting corners is pretty easy for me (on characters). I also didn't go through the ugly model beginner phase like most people do, so maybe I'm just lucky.
As for 3D modeling, I'd say that some modeling creativity is required for any character models with a budget under 100k polygons. Knowing where to cut corners is key, and unfortunately, it's not a very easy thing to know. Some people just have an eye for it, others learn with experience. Most artists just use as many polys as they can get away with. My advice is to limit yourself and start getting good with less. Once you have that down, your higher budget characters are going to look amazing. At least, that's what my friends with years of 3D modeling experience tell me anyway, I personally don't handle that side of development (PLT is my forté).
And yeah, I think people want a more diffuse rendering look for Mario (like Mario + Rabbids), instead of Odyssey's style which uses lots of specular reflections, which gives an overall 'plastic-y' look and feel. It's simply a different approach, but it doesn't mean that Odyssey is a bad looking game. When you factor in the robustness of its lighting model and rendering pipeline, its open sandbox levels, and that buttery smooth 60fps framerate, it's no question in my mind that it's the best looking game on the Switch.
Most things I've done have been less than or equal to 12k and I started out doing low poly character work/box modeling. My most recent model required more than average mesh deformation, so it ended up being 17k for just the body. And then 30k-35k with clothing, hair, etc. Honestly though, I could have trimmed it a little more. If I ever have the body hitting more than 20k before completion, I just start the retopology phase over (much easier to add polygons than take away). People who work in film are so lucky. Much less restrictions.
I wish I could stick to doing characters. I feel like it's so easy to make a good looking character. Environment stuff just seems like too much of a daunting task. But maybe that's how environmental artists feel about characters... probably not though lol. They deserve more praise!
Technical artists don't get enough love too. I'm so glad I don't have to rig my own stuff!
Edit: Yes, the particle effects are lovely. I've always loved Nintendo's particle effects. They're always so cute and cartoon-y in the best way (especially Kirby!) I would be lying if I said I haven't recreated some just for fun (and the learning experience).
By LuigiV Go To PostBack on topic. One thing I really like about this game (and 3D world before it) is the extensive use of 3D particles. I imagine a pretty sizeable percentage of the overall polygon budget has to be dedicated to them but I feel the tradeoff is worth it as it really gives the particles a sense of presence in the world.
I agree. What's most impressive is that they're still lit and shaded (if they're not self-illuminating in the first place), like everything else in the game. It's just not something you normally see in games to this degree.
By chrmilou Go To PostHmm…maybe I've studied too many game models, but cutting corners is pretty easy for me (on characters). I also didn't go through the ugly model beginner phase like most people do, so maybe I'm just lucky.
Most things I've done have been less than or equal to 12k and I started out doing low poly character work/box modeling. My most recent model required more than average mesh deformation, so it ended up being 17k for just the body. And then 30k-35k with clothing, hair, etc. Honestly though, I could have trimmed it a little more. If I ever have the body hitting more than 20k before completion, I just start the retopology phase over (much easier to add polygons than take away). People who work in film are so lucky. Much less restrictions.
I wish I could stick to doing characters. I feel like it's so easy to make a good looking character. Environment stuff just seems like too much of a daunting task. But maybe that's how environmental artists feel about characters… probably not though lol. They deserve more praise!
Technical artists don't get enough love too. I'm so glad I don't have to rig my own stuff!
Edit: Yes, the particle effects are lovely. I've always loved Nintendo's particle effects. They're always so cute and cartoon-y in the best way (especially Kirby!) I would be lying if I said I haven't recreated some just for fun (and the learning experience).
I see. Well it seems that you'll do just fine in this industry if you already have a knack for modeling. Good luck to you!
By brainchild Go To PostI see. Well it seems that you'll do just fine in this industry if you already have a knack for modeling. Good luck to you!
Thank you and thanks for the advice!
Nice. After stuff like this I like to imagine what Nintendo will be able to do once they enter the 4k era.
By gotemrunnin Go To PostNice. After stuff like this I like to imagine what Nintendo will be able to do once they enter the 4k era.
I'm pretty sure they'll do something with Pikmin, talking about how the resolution allows you to distinguish between thousands of different Pikmin, even when zoomed out. Nintendo's hardware improvements are always tied to gameplay advancements these days.
If anyone would like to know more about Odyssey's lighting model (BSDF, which encompasses BRDF and BTDF), I highly recommend these educational videos on the topic.
Clear, concise, and to the point.
I'll put these videos in the OP as well.
Clear, concise, and to the point.
I'll put these videos in the OP as well.
Thanks for the analysis. I mostly do 3d modelling for my comics (currently a lot of hard surface models) so I don't really work all that much with texturing, but I do the occasional render and composite job where a good understanding of the physical properties and light propagation is paramount.
Game engine lightning has become insanely sophisticated if you take the rendering time into account. Also a lot of the tricks employed to fake global illumination or light bounces are actually still useful working in software like blender, as you can cut down on render time, while still getting amazing results.
Game engine lightning has become insanely sophisticated if you take the rendering time into account. Also a lot of the tricks employed to fake global illumination or light bounces are actually still useful working in software like blender, as you can cut down on render time, while still getting amazing results.
By boris_feinbrand Go To PostThanks for the analysis. I mostly do 3d modelling for my comics (currently a lot of hard surface models) so I don't really work all that much with texturing, but I do the occasional render and composite job where a good understanding of the physical properties and light propagation is paramount.
Game engine lightning has become insanely sophisticated if you take the rendering time into account. Also a lot of the tricks employed to fake global illumination or light bounces are actually still useful working in software like blender, as you can cut down on render time, while still getting amazing results.
All of this is very true. Speaking of global illumination, there is some kind of radiosity going on with SMO's engine, but I haven't tested it extensively enough to know what method they're using. Obviously, it's not monte carlo ray tracing, but there's definitely some light bouncing going on (it seems precalculated). It could just be a by-product of using IBL, but it isn't completely static. I'll provide some examples when I've gathered enough evidence for it.
Wish I knew enough about rendering techniques to really contribute, but I'm enjoy reading this thread, and looking at the pictures and explanations to see how you guys all figured it out. Good job!
By boris_feinbrand Go To PostI think the variances could be simple light probes no?
Well, it's a little more complicated because we know that the game uses environment cubemaps for IBL. So if the game also uses spherical harmonics for additional light probes beyond the cubemaps, it would be pretty hard for me to tell. There are ways to do it (looking for artifacts and measuring the falloff of colors within a given space) but it's going to take some rigorous testing to be sure.
Whatever their solution, the sense of presence in this game is simply amazing. The lightning really ties it all together
By boris_feinbrand Go To PostWhatever their solution, the sense of presence in this game is simply amazing. The lightning really ties it all together
Alright, so after many light probe and light bounce tests (conducted by measuring light falloff, color comparisons between adjacent materials, changes in ambient color within a given space, etc.) I'm pretty confident in saying that this game definitely uses global illumination. However, I don't think any light goes beyond a tertiary bounce, as far as I can tell.
My best guess as to how they do it would be spherical harmonics simply because of how localized the radiosity is.
I posted some of my experiments on Twitter:
It's a miracle that this game runs at 60fps!
Small update:
I'm actually kind of surprised that I didn't catch this earlier, lol. But yeah, materials with baked shadows don't get Global Illumination or Fresnel effects.
I'm actually kind of surprised that I didn't catch this earlier, lol. But yeah, materials with baked shadows don't get Global Illumination or Fresnel effects.
Just want to say this thread is awesome. I don't understand most of it, but keep up the awesome stuff brainchild!
By joefu Go To PostJust want to say this thread is awesome. I don't understand most of it, but keep up the awesome stuff brainchild!
Some people on Reddit also had trouble understand my analysis, so I ended up defining a few terms for them over there. I'll do the same here if that makes things easier to understand.
PBR = Physically based rendering. This is a 3D graphics engine rendering pipeline. This allows developers to have all of the materials (surfaces of the objects in the game) to behave as they would in real life in terms of light interacting with it. Before PBR, developers would have to design each texture map in a way that would conform to their understanding of how a texture should look under certain lighting conditions, manually. This was a painstakingly laborious process because if you wanted a variety of surfaces in a game with dynamic lighting conditions, you'd have to have artists and programmers working together to get individual textures to look right. With PBR, you define parameters for materials, and they dynamically change with lighting conditions, accurately (glass looks and reflects like glass, metal looks and reflects like metal, cotton looks and diffuses like cotton, etc).
- Fresnel. The Fresnel (pronounced 'fruh-NELL') coefficient is a factor based on real world light physics that's used in 3D graphics rendering to help determine the reflectivity of materials. At grazing angles (where light is nearly parallel to the surface it's 'grazing', from the perspective of the observer) all materials achieve a reflectivity of 100% (though clarity of this reflectivity can be impeded if a surface is particularly rough). At this angle, the light source and whatever color information it's carrying can be seen as a specular reflection (mirror-like image) as opposed to diffused reflection (light that has been evenly spread out in all directions).
- Cubemaps. 6 textures images that are combined to represent a 3 dimensional space in all directions (up, down, left, right, forward, back).
- IBL = Image-based lighting. This lighting technique uses an omnidirectional image that is normally acquired by recording said image from an omnidirectional camera in the real world and then mapping it onto a spherical environment in a 3D graphics engine. Then, the real world's lighting information can be calculated from the image and that data can be used to Illuminate the game. However, an alternative to using a real world HDRI omnidirectional image is to use a cubemap of the environment. It won't be as realistic as a real HDRI image if the cubemap's textures were generated from 3D graphics, but it'll still allow to store data needed for any materials that may need to produce reflections.
- Displacement Mapping. Also know as vertex displacement, this technique combines polygon meshes with invisible surfaces known as displacement maps, which define how the original polygon meshes should transform their geometry. The logistics of this process relies on information stored in heightmaps, which store variations in surface elevation data.
- Refraction. Light rays pass from one medium to another (air, water, ice, glass, etc.), resulting in a change in direction of its waveform. The effect of this result is that images that you see pass from one medium to another appear distort, or light patterns change in color.
- BRDF = Bi-Directional Reflectance Distribution Function. This lighting model determines how effectively light can reflect from a surface (strongly, weakly). Related models determine the effectiveness of light's other interactions with materials, like transmitting through a material (BTDF) or scattering inside of a material (BSSDF).
- Normal Mapping. A texture mapping technique using shaders to give the illusion of depth to an image, without needed to use extra geometry.
- Volumetric Lighting. When light rays are contrasted with shade in an alternating or mixed pattern, they appear as shafts. Lots of games fake this, but when a game allows light shafts to interact with geometry and transform accordingly, this is called Volumetric Lighting, as the light appears to have volume.
- Emissive materials. Materials that provide their own light source, usually as an area light (light source formed from the shape of the object itself).
- Global Illumination. Also known as diffuse interreflection, this technique (using various methods and levels of accuracy, like lighting probing with spherical harmonics) allows 3D games to approximate a real world phenomenon where light will bounce from surface to surface, changing colors as it bounces along different surfaces and mixing those new colors with the colors of the surfaces it bounces onto next.
- 3D Caustics. Highly refracted light visible within a 3D space.
I'll also update the OP with these definitions. Hopefully that helps!