Lighting is a very important part of any game, and it’s vital to provide different types of lighting to the system. The type of lighting can also pose a performance issue for some players, such as the newly released Future Lighting. Even though future lighting looks nice, it poses a performance threat and can’t be used for every case.
In this topic I am proposing a fairly simple idea for lighting, Flat Shading. Flat shading is the opposite of smooth shading, which is what Roblox uses for all their lighting technologies, where colours blend in with each other. Flat shading is the opposite, colours don’t blend so each face would have a static colour.
Flat shading has many benefits, such as being able to render things quickly(it is not performance intensive at all). I’ve tried my best to replicate flat shading(these images are contrasted to show their shading):
As you can see flat shading has no gradience while normal shading does.
There are many applications for flat shading:
- The ability to create cartoony environments(works especially well with low poly)
- Remove Object glare(When there’s a bright spot on your part because of the sun)
- Improve performance
Some features I would like to see with Flat Shading are:
- The ability to toggle shadows
- The ability to cell shade(Although this can be a different technology entirely)
- The intensity/threshold of the shading(how much each face’s colour is similar to a neighboring one, and using the same colour for a neighboring face if their normals are similar enough)
If Roblox can add this feature, it would help me as a game developer for optimizing the game, and provide a new experience for players!