proper lighting model?
Members - Reputation: 466
Posted 16 August 2013 - 04:51 PM
Members - Reputation: 316
Posted 17 August 2013 - 07:32 AM
i'm essentially wondering if a fully deferred renderer with true dynamic lights is *required* for proper specularity -- or if there's a more simple way to do it
Specular maps do change how the specularity looks, but generally, they just change the way you look. Imagine you took a black background and made a white smiley face on it then used that as your specular map. If your specular was implemented right, you would only see the face in the specular highlight. So a specular map defines what part of an object can show the specular. You can also use grey to change the intensity. So a specular map can be used on tiling objects.
Baked lighting is great. It saves processing time for the user and it looks really good if its done right. The down side is it is a finite resolution and takes up RAM the bigger you make it. Assuming you are going to used baked lighting heres what you might be able to do for your specular:
- When you render the light map, write down all the light positions, directions, intensities,etc.
- Make an array or file of all this data. This is your 'dynamic lights' although, their lighting will never actually be rendered.
- When you render your lighting, wherever it is, calculate the specular highlights using your static, fake lights. Again there is no diffuse light, etc coming from these lights.
In the future if you want to use normal maps, you can use the same kind of technique. Make a bunch of fake lights, the render the normal map using those fake lights and used some kind of baked lighting. (Normal maps are a bit harder to use baked lighting with because they simulate diffuse, etc, but its still possible.) This may not be the most effective way to do baked and specular lighting, but I'm sure it will suit you. Hope this helped.