Author Topic: Bump Mapping  (Read 2955 times)

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Bump Mapping
« on: September 09, 2007, 05:35:16 am »
An example of bump mapping (model on the left is after applying a bump map, the version on the right is before bump mapping): http://www.blender.org/typo3temp/pics/b80cff90da.jpg

Developers of all types of PC games, and increasingly console games, use bump mapping to fill in minute and beautiful details. It saves tremendous amounts of polygons.

In a nutshell, an area of bump mapping on a model causes that area to appear lighter or darker in relation to the current environmental lighting on that model, portraying depth. It is a relatively easy and low-memory alternative to using lots of polygons to fill minute details.

Planescape doesn't seem to have any bump mapping yet. A question I'd like to ask developers is will it ever? While PS's graphics are good now, but they'll be tremendously better if the art department eventually utilizes bump maps on models and landscapes, even able to compete with some of the newer MMO releases out there (if they also overhaul the environmental lighting and shadows system).
« Last Edit: September 09, 2007, 05:38:20 am by Ver »

Xayton

  • Traveller
  • *
  • Posts: 11
    • View Profile
Re: Bump Mapping
« Reply #1 on: September 09, 2007, 10:09:41 pm »
Actually the left one is a render and the right one not, but still it's very impressive the detail a bump map can add. I don't know if the model in your screenshot is made for planeshift, but in that case I think it has too many polygons.
I'm not sure if CS is supporting bump mapping, but it should be easy to implement it using pixel shaders.

About the terrain I think there are many things that can be improved before adding bump mapping; even if I don't have time to work on it, I've done some research about PS terrain and found few things that could improve it appearance a lot:
  • Reduce the stretching of detail textures on the terrain (tile them more), possible that a data file edit is enough to change it.
  • Use higher res alphamaps for detail texturing (texture splatting), currently a pixel on the alphamap is about a meter on the terrain (too much to render realistic roads or other features on the terrain).
  • Move from texture splatting (done around the camera point) and simple flat texturing (done on far terrain) differently, keeping the splatting 100% far enough from the camera and then move to flat texturing quickly; currently it's done changing linearly and that gives that "blurred terrain" you get when you look at far terrain.


LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: Bump Mapping
« Reply #2 on: September 09, 2007, 10:40:03 pm »
It is possible that the models with DOT3 bumpmapping (the technique known from the famous "Doom 3" or "Quake 4") require a current generation of graphic cards, even more than before. The final kill shot for wanna-be chipsets like intel, S3 & Co.

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Re: Bump Mapping
« Reply #3 on: September 09, 2007, 11:56:43 pm »
Well, LigH, the linchpin is that when (if?) Planeshift's graphics incorporate bump mapping, it will almost certainly be at least a couple more years in the future. Plenty of time for those motherboard-integrated clunkers to catch up.

geostik

  • Traveller
  • *
  • Posts: 16
    • View Profile
Re: Bump Mapping
« Reply #4 on: September 11, 2007, 05:46:08 pm »
bump mapping is something and normal bump mapping is another. in the pic above you got normal bump mapping, not the other one. normal bump mapping is by far more advanced than simple bump mapping. i haven't spotted specular maps either on the game, and these could improve the quality of the models a lot. and i don't think the problem here is the PC stations, but the network connection and servers load.

Induane

  • Veteran
  • *
  • Posts: 1287
  • What should I put here?
    • View Profile
    • Vaalnor Inc.
Re: Bump Mapping
« Reply #5 on: September 12, 2007, 03:13:39 am »
Normalmap bump mapping is also known as Parallax mapping. The engine crystalspace is capable of such effects in certain renderloops with lightier steps.  I think this will all change soon (xmas maybe) when the new CS rendermanager is complete and we don't need to worry about renderloops anymore.  That said there are many places in PS that could take such effects into account.  Diffuse and shadowed renderloops handle parallax with ease and if the number of lights is kept low, places like a guild house interior would be prime examples of places such effects could be used.  Outdoors is more tricky as you commonly have lots of lights and that is the huge performance bottleneck.

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Re: Bump Mapping
« Reply #6 on: September 12, 2007, 03:46:22 am »
Induane: I'm not blue-collar or anything, but I really don't understand all of the advanced tech-terminology. Perhaps you could restate your last post in layman's terms so that all of the readers can understand? Thank you. :)

That aside, nothing gets Planeshift players more excited than thinking about all of the incredible content and fixes that will be added with the next update (it's getting to be about that time once again). It's wonderful to think that Planeshift's already very good graphics will continue to be improved significantly in future updates (I can't wait for PCs and NPCs to get true shadows and reflections, and for those horribly grainy skies to be tweaked). Imagine if PS looked like this scrrenie by 1.0: http://www.archlordgame.com/images/microsites/arc/AlefClient%202006-07-06%2018-14-46-23.jpg  :woot:

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: Bump Mapping
« Reply #7 on: September 12, 2007, 07:31:37 am »
You people are talking about the "state of the art" effects ... and forget the school homework over it: Before making rocks look grainy, first make rocks look round instead of facetted (Gouraud vs. Lambert).

Gag Harmond
Knight and Ambassador
The Royal House of Purrty

Xordan

  • Crystal Space Developer
  • Forum Addict
  • *
  • Posts: 3845
  • For God and the Empire
    • View Profile
Re: Bump Mapping
« Reply #8 on: September 13, 2007, 05:36:11 am »
Planned and being worked towards.

Induane

  • Veteran
  • *
  • Posts: 1287
  • What should I put here?
    • View Profile
    • Vaalnor Inc.
Re: Bump Mapping
« Reply #9 on: September 14, 2007, 03:36:21 pm »
Quote
Induane: I'm not blue-collar or anything, but I really don't understand all of the advanced tech-terminology. Perhaps you could restate your last post in layman's terms so that all of the readers can understand? Thank you. :)

Well, I'm terrible at explaining things but I'll try.

Quote
Normalmap bump mapping is also known as Parallax mapping.

The main difference between normal bump mapping which generates a 3d relief on faces based on textures is that parallax mapping takes light direction into consideration and can do shading based on the light in the area. Normal bump mapping are just bumps that do not consider light direction.

Quote
The engine crystalspace is capable of such effects in certain renderloops with lightier steps.

Renderloops are part of the crystalspace engine that handles render passes.  Different renderloops are designed to handle different types of maps and shaders.  For instance, if you wish to use the terrain type mesh with the terrain engine you have to select a renderloop that supports that feature.  Terranfixed and Terrain are two renderloops that can handle terrain.  The difference between those two is that the Terrainfixed renderloop has no lighteir step while the terrain renderloop does.  The lightier step is required by several shaders including the parallax shader which require a lightier step which calculates thte lighting(basically sorta).  Terrainfixed has no such step but instead leans towards using the starndard shader which (with lighter2) can do precalculated lightmaps for shadows instead.  It all depends on the sort of thing you are trying to accomplish.  Different steps for different folks with different goals.

Quote
I think this will all change soon (xmas maybe) when the new CS rendermanager is complete and we don't need to worry about renderloops anymore.

The rendermanager that is replacing the old CS one will not require the maps to define renderloops and instead be more universal, eliminating the need to do different renderloops different places.

Quote
Diffuse and shadowed renderloops handle parallax with ease and if the number of lights is kept low, places like a guild house interior would be prime examples of places such effects could be used.  Outdoors is more tricky as you commonly have lots of lights and that is the huge performance bottleneck.

Basically, those are examples (particularly the shadowed renderloop) of renderloops with a lightier step.  Shadowed uses real time dynamic lighting for instance to do sharp detailed shadows without the need to precalculate shadowmaps.

geostik

  • Traveller
  • *
  • Posts: 16
    • View Profile
Re: Bump Mapping
« Reply #10 on: September 18, 2007, 04:55:38 pm »
Induane, i think you did a little syntax and meaning error on your post about normal bump mapping.
bump mapping is the first type of such mapping and it works like this:http: http://en.wikipedia.org/wiki/Bump_mapping
normal bump mapping is called like this because it takes into account the surface normals(perpendicular lines to the surface) and it's much more evolved than simple bump mapping., making the model look much better. http://en.wikipedia.org/wiki/Normal_mapping
still, in order for normal mapping to work well you need quite big size maps, to fit in all the fine details. i don't thing exterior scenes need normal bump mapping because they are more geometrical and the normal bump mapping will look like the bump mapping. characters and more organic looking objects could use such a map type.

Cherppow

  • Hydlaa Citizen
  • *
  • Posts: 493
    • View Profile
Re: Bump Mapping
« Reply #11 on: September 24, 2007, 01:33:43 am »
Hi,

I remember doing some tests with normalmaps back in the days of Cherppow's backpack. Used to tweak the export by hand, adding a new renderloop over the standard one to get the normalmap highlights to appear on top of the pre-calculated lightmaps. A new rendermanager would be a welcome addition to many of us artists, I believe.

Adding these effects to PS is a different story. You can't just flip a switch to make them appear. Detailed normalmaps as pictured in the first post, are extracted from a high poly version of an object. High poly versions of PS models don't exist, as far as I know, so they'd have to be remodeled. This is pretty worksome, although provides good results. Generic bump/normalmaps shouldn't be too hard to add, but they won't be as striking as the tailored ones. I mean, we could have a common cement bumpmap that doubles for all the walls, and so forth.

Also tested parallax mapping some time ago. In short, it looks good but at the expense of performance. Like Induane mentioned, could work for indoor areas. There could also be an option to turn the bump details off for lower end machines.

All in all I agree with LigH; bumpmaps, or lack of them, is not the foremost visual quality issue at this time. But I do hope we get to use them one day.

Induane

  • Veteran
  • *
  • Posts: 1287
  • What should I put here?
    • View Profile
    • Vaalnor Inc.
Re: Bump Mapping
« Reply #12 on: October 27, 2007, 03:06:59 am »
Quote
There could also be an option to turn the bump details off for lower end machines.

Actually thats what happens anyways.  If a machine doesn't have the hardware shaders needed to run a particular shader then it simply doesn't work.  Parallax mapping doesn't work on my old geforce2mx 400 but my parallaxtest does, it just runs without the parallax effect, and at a decent speed too.

http://vaalnor.mine.nu/parallaxtest.zip

is a parallax test that I did.  If you have the hardware to run it (its actually very light) then you will see the parallax relief on the walls.  If not then just the normal texture will sit there.  Tests like this I think are the best place for such effects.  Walls, floors, things like that can gain some real depth this way.  They also need not be based on models but can be made from scratch as I did in this case.  Parallax mapping takes a heightmap and a normalmap.  I generated my normalmap from my heightmap in this instance and the effect is pretty decent.  PS could really use this in some indoor areas.

Also lighter2 now supports directional lightmaps so you can do bumpmapping on standard renderloops without a lightier step and without any dynamic lighting.