0
\$\begingroup\$

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.

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

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.

\$\endgroup\$
4
  • \$\begingroup\$ So it's common to pre render static bump mapped textures? \$\endgroup\$
    – Andy
    Nov 16, 2013 at 15:20
  • \$\begingroup\$ @Andy Yes, baked lighting is fairly common. It's best only for static light sources though. \$\endgroup\$ Nov 18, 2013 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, 2013 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\$ Nov 18, 2013 at 19:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .