Bump Map Painting in Blender (GSoC 2010)

I’m curious if there a way to emulate sculpt brushes with the normal map painting, I think that would be quite intuitive- obviously only low displacement tools of course.

from wiki:

What colors to use when painting?
I need to figure out how the Blender renderer interprets bump maps, but currently my shader maps dark to high/bumpy and white to low/flat.

To control the overall height of the bumps, you can use the “Normal” slider control under the texture influence group.

can this be inverted please?
it’s in general good habit to have black for zero so low (rgb 0,0,0) and white for one so high (rgb 1,1,1)

also can you paint in 16bit image format?
this could be sweet 'cause we can have also hires (thus 16bit) displacement maps instantly

keep up good work, thanks

Good suggestions psychotron, I agree with you.

Hi,

It’s inverted.

Currently I need to fix an issue with GPUs that have a shader model less than 4.

I am still waiting for my graphicall.org confirmation, but I have a windows build ready (ShaderModel 4 only). Hopefully you’ll be able some of your answers yourself once I’ve uploaded some builds.

Thank you!
-Konrad

thanks for fast response, looking forward to try it out

I’ve submitted my patch to the patch tracker (http://projects.blender.org/tracker/index.php?func=detail&aid=23084&group_id=9&atid=127) and changed the way mapping works. White maps to lows again while black maps to heights. This is the standard behavior of the Blender internal renderer and the preview should do the same.

As can be seen here, the final render and the GLSL preview look quite the same, which is good: http://wiki.blender.org/index.php/User:Kwk/Gsoc2010/BumpMapPainting#Screen_shot

I’ve removed the need to check the “Height to Normal” checkbox. So if you have previously used bump maps you don’t need to change anything to get a preview now. Only enable “Textured” view mode and GLSL shading.

Thank you for all you support!

-Konrad

That values are totally weird, is it not possible to change the way it works in Blender’s internals? cause the stanrdard says black for low , white for height. So Konrad what is left to do in this feature to having it done? Any idea if goes to the trunk soon?

Is there actually any person out there who doesn’t use negative values when using Blender to render bump maps? (ie. white for height, the most logical way)

nooo :no:

in blender, when you want to use for render “nonblender standart” which is black=low white=high (imagine it 0=low, 1=high… how it could be 0=high and 1=low… hey I’m dedicated blender user and supporter but… but… lol) you can just use inverted NOR button in texture setting for material… so for blender internal render it’s one-click solution and still ok

what I want is very simple and straight - I just want to use outputs from your bumpmap painting in apps outside blender - imagine all those external renderers for use of bumpmaps and displacementmaps or those game engines who want heightmaps for parallax maps…
(and btw for me inverting 16bit displacement map is pain in the ass cause gimp is just 8bit)

for sake of compatibility please black=0=low and white=1=high

or should you add button to select by user how he want’s it to be painted?

And while you’re at it, please fix the renderer as well :stuck_out_tongue:

Height should be white, just like snow on the mountains it doesn’t work bottom up!

Hi Konrad,

this is totally awesome, thank you very much for your work.

Your patch didn’t apply cleanly anymore for revision 30873, gpu_shader_material.glsl.c didn’t get patched because gpu_shader_material.glsl was changed in revision 30872. So I ran datatoc.py on the patched gpu_shader_material.glsl and made a new one, seems to work.

Here’s your changed patch that worked for me in case you want it:
http://www.pasteall.org/14640/c

Sorry for the “Off Topic”, but after seeing this video and finally understanding how PTex works I am very excited about it.
http://area.autodesk.com/siggraph/video23

Are there still plans on implementing this for your SoC project? I guess that doesn’t fit in the schedule?

Yes, white should be high,black low.
Internal or not,it makes no sense using inverted values,everybody in the world is accustumed to work in that way,it’s the simple way,I really don’t understand why making thing harder than it could be(at least if it’s not hard to code it)

I guess it is a long-time heritage from neo-geo’s days

edit: which is not a reason to keep it like this, anyway. I agree: let the bright rise up the surface and the dim go deep in it

Yes, that looks spectacular :yes:

When are we gonna have something like this?

It does look cool, but man count the mouse clicks! I think blender will win out in the long run simply because you do everything in one tool. (I confess, PTex is awesome)

I mean the technology in general. Not having to worry about UV seams is like heaven to me! Now just enable vector displacement in Blender and we can kick ass :D.

Absolutly :mad: .
We are gonna be the best haahhaah:o

can you tell us if will get more brush type
i mean like we find in Paint program for instance

may be not all of theses but at least a few more to help painting

is there a built for this to test ?

and any idea when this will be integreated in 2.5 ?

nice work man keep it up

Thanks

Hi, I don’t know if it fits in here, but the topic approximates at least what I am looking for: is there any way in Blender to get a Terrain/Sculpt working like this? http://www.terathon.com/wiki/index.php/Terrain_Palette_Creation
The point is, he obviously uses normal mapped textures and paints his Terrain with. This way really high quality terrains could be created. However I am not sure if I understood that correctly while reading the text. Can someone explain that and is there any information if something like that will be included in blender?