[Soc-2010-dev] Status Report

Konrad Wilhelm Kleine konrad at konradwilhelm.de
Sat Jul 24 16:48:39 CEST 2010


Hi,

Tom asked me if I could make "bump map painting" work in blender. By
this he means that artists can use the paint tools in the 3D view to add
surface details to a mesh. These details do not involve changes to the
actual geometry but only an image texture, the bump map, applied to the
mesh. The bump map is usually a grayscale image.

I agreed with Bob that a bump map is the same as a height map, and that
the "effect" of bump mapping is not the same as the "technique" used to
achieve this effect. This might sound a little weird, but it soon makes
sense.

An artist wants to see the mesh's surface bumped, right? Well, we
consider this the "effect". For instance if the artitsts paints on the
mesh it shall look geometrically different but its color shall remain
the same.

Currently Blender renders bump maps in the final image but cannot
preview bumps in the 3D view. Oops, not quite correct. Blender CAN
render bumps in the 3D view but only if you use a normal map.

The idea for enabling bump map painting is quite simple and straight
forward:

1) Paint or project all strokes onto a a grayscale image (the
   bump/height map)
2) In the 3D view generate a normal map using GLSL on the fly
   from the height map
3) Use normal mapping as the technique to get the bump effect.

Here's what I did last week.

Monday - Tuesday:

	Had to write program as an application task.
	
Wednesday:
	
	Installed ATI drivers to get GLS Normal Mapping working on my
	notebook. The Intel drivers always crashed by complete system.
	
Thursday:

	- Merge with trunk and still having issues with painting textures.
	  It seems some of the old paint modes are gone?
	- For live preview of bump map painting I did some R&D on GLSL
	  Gradient filters (e.g. Sobel) to calculate a Normal map from
	  a Height/Bump map on the fly. The gimp-normalmap plugin seems
	  to be a good resource for the actual implementation.
	
Friday:

	- Wrote the GLSL shaders that calculate a normal map based on a
	  height map and added them to blender. This is already
	  commited but an integration into the GPU material pipeline is
	  missing.
	- Added a switch to enable the creation of a normal map from a
	  texture image that is used as a bump/height map.
	
I feel like I'm a bit behind schedule but I think I can soon complete my
current task and work on layers and masks. If I see things
realistically, I think that OIIO integration (my final task) might only
consist of a basic build integration and some first steps. Currently
there are no concrete requirements for the OIIO integration.

-Konrad


More information about the Soc-2010-dev mailing list