Rendering a Bump Map

Greetings,

I have read the tutorial for the nor map and it works great for what it does. What I really need is to render my image into a bump map. Is there a way to render the elevations of an item?

I would imagine that the camera would need to be looking down onto the object and be centered but as a novice I have know knowledge as to how to proceed from there.

Any help would be greatly appreciated.

Jason Pryor

Its hard to tell what you are talking about. Blender 2.42a has 3 methods:

  1. nor (uses a greyscale image, same as a bumpmap)
  2. displacement (moves the actual geometry)
  3. normal map set in the texture buttons and uses a rgb image to calc normal vectors (usage is somewhat limited in 2.42a – cvs has tangent space mormal maps).

Which are you trying to render??

GreyBeard

Thanks GreyBeard, good question.

I have a complex 3D model. I put the model were I wanted it, put the camera centered to the model facing down, z axis.

Now as for the texture and all that jazz. I dont need anything that edits my geometry. I want as a result, a grey scale image that has the highest z axis value white and the lowest z axis value black.

Jason

I have used bryce to render this image and set it for distance render. I just dont like the results and was hopeing that Blender give me better results. This program looks like it has all the bells and wistles, I just cant find the switches to do this.

J

I think I know what you want. A hight map I will make a .blend for you
give me a few minuets I will upload it.

some adjustments that change the output
lamp distance setting
material emit
render resolution and format
note the camera is ortho the material has almost no spec or hard if you tweek the lamp and material setting you can get a map representing the steepness of the terrain. I can upload a .blend like that if you cant get it worked out.
http://www.bestsharing.com/files/ms001125071/hightmap.blend.html

this works ok for hight maps if you are doing some thing else search for depth of field and z-buffer.

Thanks shr1k,

I will give it a try and get back to yah.

J

Thanks shr1k, its almost what I need. After much effort and a lot of surfing I still have not figured out the propper way to get what Im after.

A zbuffer dump is too generic and a normal map is in RGB and has no true 2d relationship.

I need sort of a combination of the two. The distance of the zbuffer but the added detail from the normal map in relationship to distance.

Is there any such render that would work like this?

Thanks,
Jason

Can you describe in more detail what you are trying to do? Are you trying to get 2-d detail on to a low poly model for real time. Are you trying to create a detail 3-d model from 2-d data, like a .dem file?(real landscape from 2-d satellite image data)

I have a 3D scan of an object, this example is a tape measure.
http://www.nextengine.com/ftp-files/tape_measure_obj.zip

I rotated the object and positioned the camera to be oriented on the z, like a copy stand for photos.

What I ideally need is a 2d image that represents the elevation of the object. The z buffer gives this in a rough way. I need all the detail to be present without using shadows or lighting.

I am going to take this 2d image and feed it to my laser engraver to make emboss plates.

I will also have to worry about making the render high rez and near 1-1 size but that will be later.

Thanks,
Jason

I see have you see this thread? I think its similar.
http://blenderartists.org/forum/showthread.php?t=35591&highlight=carving

I will have to test with a few things, but I am wanting to do something similar…

Well I cannot get my file to upload, but here is what I did…

1: make the model to be a bump a shadeless white color
2: have a new plane with a shadeless black, be ztransparent with an alpha in the 0.#
3: have multiple planes starting from the top of the model going down to the bottom
4: adjust the transparency to be the depth map desired

and thats it thats all I did… I could not get a node system to work… well… but this is a simple solution… it may take a bit to set up but it is rather flexible once you have it set up… so I will try to upload my file tomorrow to let you see what I did with the heightmap.blend that shr1k has…

Otherwise you can try to do what I mentioned and see what you come up with…

Hope that will help…

Aaron

I finally got my file to upload… I actually went back and made a second version as well…

there are two blends in the zip:
http://ser7.imgdump.net/other/09272006/fe544f47c302251.zip

the color depth.blend gets the depth map from a linear gradient as the color of the material and is posistion by the plane… also I think I left the plane a little visible… you can make it totaly transparent to not be seen in the depth… or just move the plane to the side…

the plane depth.blend is like what I mentioned previously it has the layers of planes that are very transparent and starting from the top going to the bottom getting getting darker since there are multiple planes…

The color depth is the fastest and probably the most user friendly, so I think that would be the best for what you are wanting to do… the other takes a long time to render, but still is pretty good…

Aaron

I tried my color depth on your tape measure and came up with this… I could not upload the file because it was too big… it was like 6 meg and I can only upload 5 on imagedump…

http://imgdump.net/thumbs/s8_83879633d58dce6-thumb.jpg

This is the best I could get quickly it only took a few seconds or so to render this 1000 x 1000 pic on my semi slow/fast machine… it has no osa but it still came out pretty good… You could probably contrast the picture seperatly to get it to be more sharp contrasted edges… I could not get the edges very sharp in my render, but you can still see the detail…

Aaron

thanks Power, thats about what I get when I dump the zbuffer. I am hoping to get much more detail. I see all those rough surfaces in a light render and do not see them when I look at any z render. I dont know if its a lack of a material or some other factor.

thanks shr1k, that link to the cnc machine was very insightful, rherman is doing the backwards and creating a mesh from a B&W.

Im still trying to get there. I read that you can take a normal map and build a hight map from it. The normal I have built is full of detail but not usable for pure hight.

Jason

Well I got more detail with changing the position of the plane and the gradient on the model… when I got a lot of detail you could only see the top half of the models detail mostly… So it all depends on the settings…

Aaron

I can try a little more and see if I can get it to be sharp in detail… but otherwise I don’t know how else to get the detailed depth map…

Aaron

I found this quick depth/hight/zbuffer render setting: Tutorial

you can get the zbuffer as a save when saving as Iris+Z and use this plugin in photoshop to open it.

I also found a tutorial for node setup to render a zbuffer but dont have it now. Ill post it later.

All three produce the same results just different ways. All three are a relative hight map and dont show all the detail. I have not tried the zUtility yet but it will output a larger than 8bit image.

Jason

I have played with the zbuf alot in the past and you are right, what you seem to be running into is the limits of an 8 bit depth map which can only give you a max of 256(0-255) different values…if, for instance, your model has visible pixels that are a max of 1 bu apart (your model seems seems to be close to that) and you set it up for the gradient to fully cover that range, the z value has to change at least .004 for the 8bit map to change 1 in intensity value. Many of the small lines and other details in your model are only .001-.002 which will not show up in a 8bit depth mat.

I have not tried the zUtility yet but it will output a larger than 8bit image.

If you are talking about the zutilz seq plugin, it is broken in 2.42(2.41 works though), and for now there is no way to fix or update it as a scene strip no longer gives a zbuffer to the sequence editor ( I have posted a bug report but there has been no response as yet). Also, I believe that at present, blender will save only 8bit greyscale for some reason - even though png will handle 16 bit greyscale, it has been disabled in blender.

As for results, this is the best I could do with either zutilz or nodes (they are almost identical) it took about 15 min of futzing around with the map values for nodes in 2.42a and was pretty much instant with zutilz in 2.41 :rolleyes:
the zutilz image is on the left…

Attachments