• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Bumpmapping 2D Texture images

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

4 replies to this topic

### #1MARS_999  Members

Posted 30 January 2013 - 04:40 AM

http://archive.gamedev.net/archive/reference/articles/article327.html

I am trying to figure out, is this a method for making a texture of e.g. stone that is on a 2D game tileset look bumpmapped?

I would like to make my 2D game images look like they are normalmapped and was wondering is this approach better suited for 2D games vs. just using a RGB normalmap on a 2D texture that never moves?

THanks!

### #2CryZe  Members

Posted 30 January 2013 - 04:51 AM

Normal Mapping is the only kind of bump mapping, that would make any sense. Every other kind of bump mapping could be baked into the texture itself. But normal mapping only makes sense, if you have actual lights and you want to illuminate the texture with the light. If that's the case, you simply use a BRDF like for example Blinn-Phong and use the direction of the light and the normal from the normal map. Since you would deal with 3-dimensional normals, you might also want to place the light in 3 dimensions. Z=0 would work, but probably looks pretty ugly.

### #3Schrompf  Prime Members

Posted 30 January 2013 - 02:41 PM

Z = 0 does look pretty ugly. But with correct spotlight cone math, shadows and such you can actually do some pretty cool things even with 2D graphics. I'd use the chance to toot my own horn and link you to the game in my signature.

----------

### #4MARS_999  Members

Posted 30 January 2013 - 07:24 PM

Z = 0 does look pretty ugly. But with correct spotlight cone math, shadows and such you can actually do some pretty cool things even with 2D graphics. I'd use the chance to toot my own horn and link you to the game in my signature.

Hey those SS looks good! Care to elaborate more on how you are lighting those 2D textures? They are normalmapped?

Thanks

### #5Schrompf  Prime Members

Posted 01 February 2013 - 11:12 AM

Yes, the sprites are normal mapped. It is basically just a Deferred Renderer, but being restricted to pure 2D graphics gives you quite some freedom to fool around with the data.

The renderer does:

- one pass to render out diffuse

- one pass to render out screen-space normals

- one pass to render out "extra" data: R height, G shadow density, B monochrom specular intensity

- two passes to calculate ambient occlusion from the per-pixel heights

- one pass per light to render out the per-pixel heights (downscaled 1:4)

- four passes per light to calculate the per-pixel shadow heights (downscaled as well)

- one pass to accumulate the lighting from all lights - default procedure with dot3 against screen-space normal while comparing the per-pixel height with the light's shadow height to determine if the pixel is in shadow or not

- one fullscreen pass to add ambient light modulated with the ambient occlusion, gamma-correct the resulting per-pixel light and multiply the result with the diffuse and add the specular texture

- additional pass to render self-illumimated graphics

- send everything though post processing, which is currently just a vignette and some colour grading

So it's actually just a simple dot3 normal mapping, but gamma correction, ambient occlusion and doing the lighting calculations with real 3D coordinates (Z coming from per-pixel height) goes a long way for achieving believable lighting. Don't underestimate the effect of a proper per-pixel height in all of your graphics! It might seem unimportant because it's invisible under an orthogonal projection, but aside from the shadows it also helps a lot in lighting calculations. Especially narrow spot lights profit a lot from correct 3D positioning of the pixels to be lit. It looks great when the player glances around with his spotlight and furniture in front of him lights up that otherwise would stay dark.

----------