Painting normal maps to improve sculpting details

There is a simple method to improve the sculpt in Blender. We have texture painting function now, and if the developers make the overlay blending mode for painting, we can paint normal maps.

Normal maps can be convert to displace maps, so we can use the painted normal to make real geometry with displacing.

Look this image: http://www.etyekfilm.hu/minitutor_normalmappaint.jpg

yes, well, sadly there are no professionals using sculpt in blender …
so i think the bad methods suit them just fine.

.b

Well, be that as it may, it would be nice to put all the painting controls into one tool kit so you could use all the blending modes, see the size of your brush/rotate your brush/strengthen your brush, and set curves to the brush like you do with the sculpt tool brush. My workaround is to use the paint tool in the image editor while also using texture paint in the 3d view port.

I’ll keep dreaming. :slight_smile: or learn to code…

Creating composite normal maps is nothing new but it isn’t really a technique suitable for direct painting methods like Texture Paint. Since the RGB color mix determines normal modulations, it’s much better to work these kinds of maps in a 2D app where fine control over color and placement is more practical, and the use of layers makes masking and opacity control possible.

The components for such composites are best created by either sculpts, painted or photo-sourced height/bumpmaps converted to TS normal maps, or combinations of these.

As I know some professional sculpt programs (maybe Mudbox) uses normalmap painting on high detail… But it uses this in background, so user dont know and see the difference between polys and normalmaps.

Do you make a very detailed sculpt model? In 2d you never paint that details…

Congratulations.

That would be better to have a 32 bit sculpt tool to compliment
a normal map brush :smiley:
Hopefully it’s not some 8 bit blurred greyscale .png brush :smiley:
Probably it’s some mipmapped ping in there!
This is a good idea, then all you would have to do is add an
updating displacement edge snapshot modifier to get ‘higher’ virtual polygon counts.

http://img157.imageshack.us/img157/6650/alphlz5.png

But the process apps like Mudbox use is not direct normal map painting – as you say, it happens in the background, as the sculpt is being done, right?

I sculpt detail to the level a particular model needs and my comp can manage, and then often add finer detail with painting a height/bump map (usually grayscale) and converting it to a TS normal map, then compositing in Photoshop with Overlay as you suggested

Model turn (stills) with progressive application of TS normal, bump and texture mapping

While it may be perfectly feasilbe to sculpt all this detail in Zbrush or mudbox and then have the app generate a TS normal map, trying to paint such detail directly on the normal map via Texture Paint or a similar function would be much too difficult to control. Just doing the sculpt and generating a normal map from it, then adding in finer details level as a 2D composite, is much more controllable.

well, i proposed to the coder of blender’s sculptmode to use normal maps several years ago. the new app 3dcoat uses them.
actually it uses them just to visualise the sculpting, since it’s not sculpting what makes it all slow, but the drawing of the polygons. so you draw less faces with a normalmap instantly generated from the sculpted data…
But surely, a direct normalmap painting would be nice.

the opposite idea is:
use an algorithm to convert greyish displacement maps into normal maps while being in thxture drawing mode and having glsl display on. You could make very fine detail with that too.

chipmasque, okay, we no need this thing that I write in this topic

we must wait to developers to fast up sculpt as Mudbox or Zbrush to Blender can handle 20million polys…

In fact what you describe is actually a “directly-generated” normal map, or as close as can be practically done, but that is not the same as directly painting the RGB values onto a normal map image, which because of the way such normal maps work, would be hellish to control. A Texture Paint-type approach as described would be painting right to the RGB values.

Yes, converting this kind of detail painting on-the-fly would be great, as it would relieve the artist of having to manually created the proper RGB mixes that TS normal maps need to work. Grayscale height/bump/displacement maps are much more intuitive to create than the multi-hued TS normals maps.

well, it’s an interesting idea, but I don’t think that a Texture Paint-type approach is workable, simply because the normal maps are generally calculated rather than painted. But using the normal map tech to accelerate display and perhaps provide extra-fine fine sculpt detail levels is a very good idea.

chipmasque, this is not the tangent normal map… no need tangent normal map to this function that I write

but this topic must be close or delete

why close or delete ? I find nothing wrong about this discussion except it’s another feature-wanting thread.
by the way I submitted a little patch to speed up blender sculpting interaction somewhat by dropping multires during view transform, but it’s against nicholas bishops coding branch and it’s not likely to be added soon into blender.

The example you posted of using Overlay to combine the imagery uses a tangent space normal map. The other types of normal maps (object, camera and world) have a noticeably different color palette than TS normal maps. Bump/height/displacement maps are generally grayscale.

Why kill the thread, btw? Discussing ways to possibly improve working capabilities in Blender is useful imo.

Chipmasque, this thing is a fake-tangent normalmap… it will work perfectly I think.
For example in Photoshop everybody uses this mixing mode to mix normalmaps

You write: “Just doing the sculpt and generating a normal map from it, then adding in finer details level as a 2D composite, is much more controllable.”

I think you dont understand this topic…

One of the problems, endi, is that you’re so often sarcastic about Blender features that it’s hard to tell when you are serious and when you’re just trying to look for an opportunity to make someone look like a putz.

There’s no reason why “normal painting” couldn’t be added. There’s also no reason to not have Overlay blend mode in the paint brushes. If it’s useful, it’s useful. I’ll have to check, but I think that all blend modes (textures, brushes, mix nodes, etc.) pull from the same code for blending. Restrictions on modes are do to interface choices.

So far this thread has lost me. Of course I agree that it would be great if we could paint normal maps but I’m confused. I didn’t think we were any where near painting normal maps in realtime…?. I have proposed on Blenderstorm
http://www.blenderstorm.org/qapoll/ideas/idea/644/ that someone makes glsl shader for greyscale bump maps so we can paint those while viewing them in realtime. It seems that that would be the easiest thing to do. Am I wrong?

Does this mean there is hope for the visualization of the brush parameter? I mean, in sculpt the brush is visible with a circle that is scalable, but not in the texture paint.

sorry if I’m hijacking…

TorQ, you write:

“I would very much like to have GLSL viewing of standard greyscale bump maps. This feature would compliment multires nicely as it could allow for painting of finer bump detail in realtime. I know that painting of normal maps has been proposed, which would be great, but it seems like greyscale bump maps would be much less of a programming challenge to implement. Since we can already paint a bump map it seems all we need is the GLSL shader to view it!”

In realtime there is no bump map, only normal map. When you use bump map in a realtime render, it converted to normalmap first.
So I think hard to make a realtime and fast bump map painting.

My idea is very simple and easy to code: only I need overlay blending mode. It will work.