Lighting in Warframe

Started by
3 comments, last by Styves 8 years, 6 months ago

I've been trying to figure out how the lighting is done in this particular scene in Warframe.

At least for this area at the start of the clip, there doesn't appear to be any point or spot lights that I can see. Maybe there is a point light, if there is how do the cover up to lobe of specular reflection?

Also, it appears like there is a constant shadows under the player and enemies, how is this done? Is there simply a directional light that only has casters that are players, enemies, dynamic objects?

Advertisement


Also, it appears like there is a constant shadows under the player and enemies, how is this done? Is there simply a directional light that only has casters that are players, enemies, dynamic objects?

Yes. I can't even tell if that directional light is actually affecting the lighting on the player or the environment though. It might just be used to give a shadow by somehow darkening the environment's color. So it looks like they are drawing dynamic objects into the shadow map and leveraging the shadow map when lighting the environment.

There are definite specular highlights on the shiny parts of the player. Things are moving too fast in the video to tell if this is from the aforementioned directional light, or maybe some sort of environment cube map.

The environment definitely uses baked lighting, but I can't see any obvious dynamic lighting being applied to it (other than just making things brighter when there are explosions, etc...).

Looks like there's maybe one directional light in the scene casting traditional shadows from dynamic objects, but then the floors are also using some kind of reflective technique. Probably using box-projected environment maps for the static geo, plus screen-space ray tracing to get dynamic objects and good fix-ups in convex parts of the static geo. Possibly using planar reflections, as the floors are pretty flag, but the former are trendy at the moment. If the SSR hits a dynamic object like a character, then that value is used instead of the environment map value, causing "shadows" in the reflections.

The "Remember Me" presentations and Sébastien Lagarde's blog has some good ideas for how to get dynamic objects (like characters) to cast "reflection shadows" in reflective floors.


Yes. I can't even tell if that directional light is actually affecting the lighting on the player or the environment though. It might just be used to give a shadow by somehow darkening the environment's color. So it looks like they are drawing dynamic objects into the shadow map and leveraging the shadow map when lighting the environment.

Yeah, it's pretty difficult for me to tell as well. I've downloaded the game to get a closer look.

Looks like there's maybe one directional light in the scene casting traditional shadows from dynamic objects, but then the floors are also using some kind of reflective technique. Probably using box-projected environment maps for the static geo, plus screen-space ray tracing to get dynamic objects and good fix-ups in convex parts of the static geo. Possibly using planar reflections, as the floors are pretty flag, but the former are trendy at the moment. If the SSR hits a dynamic object like a character, then that value is used instead of the environment map value, causing "shadows" in the reflections.

The "Remember Me" presentations and Sébastien Lagarde's blog has some good ideas for how to get dynamic objects (like characters) to cast "reflection shadows" in reflective floors.

Thanks for the analysis. I'll take a look at the Remember Me presentations for the reflection shadows. BPCEM looks very interesting as well. Next week I'm going to reworking my IBL so I'll definitely take a look at that.

A few months back I stopped while playing (after noticing the shadows) and took some time to just.. watch the shadow as I moved through the world. Turns out you can see the shadow rotate as you move around in different lighting conditions. Based on that I'd assume they use per-object shadows (as only my shadows rotate when I move and not those of other players, iirc) and rotate the projection location/direction based on the objects position in the world with respect to other lights, in order to try and match environment lighting. I think it's the dominant light direction of all nearest lights, though it could be a weighed average.

This topic is closed to new replies.

Advertisement