Importance of lightmaps?

Started by
4 comments, last by Schrompf 16 years, 3 months ago
Although lightmaps are still widely used in many of the most current engines (Unreal Engine 3, Source Engine, etc..), are they still needed? I ask this only because I have a half-written engine which uses dynamic lighting only (very Doom 3-ish) and I'm considering leaving no alternative to using the fully dynamic lighting. It would alienate all pre-shader 2.0 video cards, but is that such a bad thing, or would most people consider it vital to continue supporting older video cards. When it comes down to it, it's simply a matter of do I want to spend the time supporting old hardware (which I don't), I'm just curious as to what other people think about this matter.
Advertisement
I think this can really only be answered with more questions...

What's your target market? Do you want to license your engine? Are you using this for a game? Does your game's time of day change?

The short answer is that you can get better performance and often a better look using lightmaps, though they come with their own issues of larger memory footprint and inflexible lighting (though they can be made semi-flexible using variants on the traditional approach).

I'd say lightmaps will remain standard for some time. Whether that means you should implement them or not totally depends on your game, your artists, your designers, or else the games and artists and designers that you want your engine to appeal to.

If this is just for a potfolio/demo/learning experience, I'd probably say skip it. I.e., if you're working on a project that you hope will land you a job, then lightmapping probably won't be the technique that gets you in the door.

Just my 2p.
When it comes down to it, light maps just look better then dynamic lighting. Light maps are also very cost efficient when it comes to any type of computer. without lightmaps, outdoor lighting would be very hard to do dynamically.

Also, they look more real :D
@emeyex:

To answer your questions:
Definitely not for a portfolio/experience piece, it would an indie game with a small budget. I wouldn't plan on licensing the engine, or even using it for more than one or two games most likely; so it would be a fairly specifically-designed engine. It would be more for indoor scenes mostly, definitely no large outdoor scenes. As far as hoping for it to land me a job.. that wouldn't be the purpose (I'm not looking to switch jobs at the moment), but it certainly won't hurt to have in the future. I've written a level editor w/ lightmap calculation in the past, so it wouldn't be a huge deal to implement that instead, I just tend to prefer dynamic lighting.

@mastersmith

I agree that lightmapping is a much faster way of calculating lights/shadows, and I wouldn't even consider not using them for an outdoor game; but in my specific case I think an indoor-only game is a reasonable scenario for fully dynamic lighting.

Being an indie game with a small budget, online distribution would be my only option. That being the case along with my lack of marketing experience, I assume my target audience would be mostly other game developers and people in general interested in indie games... many of which I know still use pre-shader 2.0 video cards. Just a matter of whether or not alienating that demographic is worth the shorter development time.
Quote:Original post by mastersmith
When it comes down to it, light maps just look better then dynamic lighting. Light maps are also very cost efficient when it comes to any type of computer. without lightmaps, outdoor lighting would be very hard to do dynamically.

Also, they look more real :D



Lightmaps don't look better, light bounce is the only advantage they get. If you want normal map with you light map, you need huge data and tons of texture sampling in your shader(7 sample per pixel in COD2 dx9, 5 for light map, 1 diffuse material and 1 normal map). After all these sampling of instruction, what do you get? a static lighting, that looks fake when you walk your character in it an no lighting is affected, you get worst shadow than with dynamic light because you can't tell which part of that precomputed light is blocked by the shadow caster.

The first poster is right, it's a matter of choice.
If you want dynamic lighting, I say go for per-pixel lighting with normal maps. Any Shader 3 cards thats not low end can handle plenty of pixel shader instructions. You won't be able to handle as many lights at the same time, but after a certain number of lights it's pointless to add more. Adding shadow map is not that hard at all. Quality scalling for the user hardware is quite easy with dynamic lights too.

For specular lighting, you also have an option, env map that represent lighting in rooms(fake, but most people won't mind, or notice), or per pixel computing.
If you're heading for light maps just to get the indirect bounces, you might also try per-vertex lighting. It saves you the hassle of unwrapping everything and handling the additional textures, but you only get the spatial resolution of your vertex count. Today's scenes are propably tesselated enough only for indirect lighting. For direct lighting you can then do per-pixel lighting with shadow mapping or any other method of your liking. Works fine here and looks good even for a full day/night cycle - although the indirect light is calculated for only one sun position, a simple colour modulation over the day is enough at the moment.
----------
Gonna try that "Indie" stuff I keep hearing about. Let's start with Splatter.

This topic is closed to new replies.

Advertisement