I saw Direct3D supports rendering bump map textures. But why is this necessary? Can't I just pre-render the already "bumped" textures and use the exported file?

The resulting image is still simple 2D, so why not go this way and avoid rendering the bump map through the game itself?

It's not just about Direct3D, just an example.

I'm very confused and would be glad if you could explain that.


The key here would be whether the object you are bump-mapping is static or dynamic, and whether you want it to appear differently under dynamic lighting.

Exporting an already bumped texture means that lighting will be baked in, under the assumption that the light - its type, color, and direction - is static. If you then place the object with this baked lighting under a light of different properties, perhaps one that can move, it won't look quite right.

Utilizing the bump maps at runtime gives you the advantage of the perturbed normals affecting your lighting calculations in real-time. This also means that variations of bump mapping will be properly rendered depending on the viewing position.

  • \$\begingroup\$ So it's common to pre render static bump mapped textures? \$\endgroup\$ – Andy Nov 16 '13 at 15:20
  • \$\begingroup\$ @Andy Yes, baked lighting is fairly common. It's best only for static light sources though. \$\endgroup\$ – kevintodisco Nov 18 '13 at 7:24
  • \$\begingroup\$ So it is possible to create a grey scale bump map programmatically? And Direct3D does the magic? \$\endgroup\$ – Andy Nov 18 '13 at 16:45
  • \$\begingroup\$ @Andy I'm not sure I understand what you're asking. Perhaps this is something that you could ask in another question, where you could elaborate? \$\endgroup\$ – kevintodisco Nov 18 '13 at 19:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.