Page 1 of 2

Posted: Mon Apr 11, 2005 3:24 am
by Maximus3D
And yeap i totally agree with u on this feature, it would be great when working with Zbrush and Maxwell, to use normal maps to push massive huge polygonal meshes through the renderer with good speed and nice rendertimes :) a perfect part of the perfect renderer!

/ Max

Posted: Mon Apr 11, 2005 6:15 am
by Mihai
I don't know.....Maxwell already has excellent bump and will soon have displacement. Why not just use a displacement map, generated with Zbrush or whatever.

Posted: Mon Apr 11, 2005 1:53 pm
by Maximus3D
Mm not quite right, becuase bump is just fake displacement and real displacement generates huge amounts of polygons making your scenes very heavy to calculate. But on the other hand normal mapping don't generate any extra polygons, it uses a special type of texture to give the impression of displacement without adding any extra polygons to the mesh to displace it.

That's why it's such a great feature which i wish were implemented. You can have a 1000 polygon head model and then paint a normal map with Zbrush which renders out as a 10 million polygonal mesh. And it renders as fast as a 1000 polygonal model does. That gives you infinite possibilities if i say so :)

/ Max

Posted: Mon Apr 11, 2005 2:18 pm
by Mihai
I think you misunderstand what a normal map is. It's not a magical solution, it's sort of a slightly better bump map. Just like a bumpmap, it doesn't change the outline of an object for example, and it is still a fake, it's just that the normal map contains more information then a bump map which in some cases can give you a "better looking bumpmap".

If you're looking to do things like carpets or grass with normal maps, forget it. It won't look anyway close to true displacement. That's why I said above that since Maxwell's bump is already so good and it will have displacement soon along with memory optimisations (being able to render any amount of polys indifferent of memory), then I don't see the place for normal maps...

Copying here a post from CG Talk about normal maps vs bumpmaps:

http://members.shaw.ca/jimht03/normal.html

its has some very nice background info. it talks about the limitations of 'bump maps' and how these differ from 'normal maps'


In summary *extracts from the linked page* . "bump maps" only store Height information in shades from black to white. The engine can use this information to render highlights and shadows on a surface based on where the light in the scene is. The limitations of "Bump maps" is that engine is restricted in showing the surface transitions in elevation only, meaning that the surface itself appears flattend, and not protraying correctly the depth the artist was trying to express.

Fine details get blurred out of the bump map render, because a single pixel contains no real data of its own - it is only in relation to its neighbors that it has any meaningful information. A 100% white height map renders exactly the same as a 100% black height map. A game engine looking at a height map has to take a sample of a certain radius around each pixel to determine if this pixel is the same relative to its neighbors, or sloping up, down, to the left or to the right, before it can rendering the shading on that surface. This sampling slightly degrades the detail that can be portrayed with the height map.

While a height map *bump map* only contains 1 plane of information - the "Z" (height) plane, a normal map contains 3 vectors of information - "X" direction, "Y" direction and "Z" direction. Thus, each pixel in a normal map encodes which direction that particular point is facing - the "normal vector" of the surface. Each pixel in a normal map has meaningful information, so details can be rendered more crisply than with bump maps alone. This allows modern game engines (Doom III) to more realistically portray the lighting on a surface. A properly constructed normal map can fool the eye into perceiving much more complex 3D geometry on a simple surface. Theoretically, normal maps on a cube can make it appear spherical, at least in terms of shading properties (the outline remains unchanged).


I guess you could say that "normal maps" are the next generation of "bump maps"

Posted: Tue Apr 12, 2005 12:31 am
by Maximus3D
Heh, right. Sorry i made a few mistakes in my brief description of it. I simplified it too much and cut corners here and there. I apologize for my mistakes and if my info mislead anyone i'm sorry. Thanks for correcting me, i appreciate that.

But btw, i wouldn't wanna see this renderer of this caliber and with this potential to grow into a fullblown killer on the 3d arena without support for normal mapping, it's like having a car without the tires, sure it's a car but it gives u alot more fun once u put the tires on it ;) hehe

/ Max

Posted: Thu Jun 30, 2005 8:14 pm
by Kabe
Mihai Iliuta wrote:I think you misunderstand what a normal map is. It's not a magical solution, it's sort of a slightly better bump map.

I guess you could say that "normal maps" are the next generation of "bump maps"
They are indeed, and that is for a reason. Not only they do look very good...
Image


... they are much more exact, and much better from a design standport. Bump maps just can't do a lot of the stuff normal maps do. I admit that it is slightly harder to create normal maps: If you don't use tools like ZBrush, then you have to render them.

However, if you would like to create the subtle effects of tiles that are not 100% exactly leveled, or you have to render a structured surface with well known structural elements, them Normal Maps are a must have:
Image


Sorry to repeat the text from the image, but it has to be indexed and you should be able to cite from that ;-)__________________
Normal Maps...
• have a color encoding that directly gives back the surface normal. Bump maps have to sample neighbouring pixels to calculate that vector, which limits their resolution as well.
• can encode very slight surface changes, which adds a lot credibility to your scenes. To encode subtle changes, Bump Maps have to use 16 bit, which is often not supported. If GreyScale is not supported like in Maxwell, then they use the same space for much less information...
• can reproduce a surface structure exactly. In Bum Maps, there is no definition what 100% means, so it’s completely up to the renderer to decide that.
Bump map sounds bad to you now? Yes, it is.
________________________________________________

So... I still would love to seen normal map support in Maxwell. It's just a checkbox for the bump channel anyway and a few basic calculations ;-)

Kabe

Posted: Fri Jul 01, 2005 12:03 am
by n1tram
Normal maps may not be THE most accurate thing, specially if you are talking maxwell-kind of realism... But imagine a architectural scene with really complex geometry and a very high poly count. Wouldnt it be wonderfull to be able to add just a couple of low poly biuldings in the back with some normal map, instead of just the phys sky?

Let us not even mention organic modeling... :wink:

Posted: Fri Jul 01, 2005 12:20 am
by Kabe
n1tram wrote:Normal maps may not be THE most accurate thing, specially if you are talking maxwell-kind of realism... But imagine a architectural scene with really complex geometry and a very high poly count. Wouldnt it be wonderfull to be able to add just a couple of low poly biuldings in the back with some normal map, instead of just the phys sky?
Well, of course it's not THE most accurate thing, but it is *way* more efficient than bump maps, exspecially when you are talking Maxwell-kind of realism. Each of the cylinders from my example has just ~30 polygones.
Take for instance floor tiles: They are never ever really leveled, each tile is just a slight tad off. This adds a lot of realism to the scene, it shuld not be modeled as geometry, and you just can not do it with bump mapping. It's easy to do with normal mapping.

Kabe

Posted: Fri Jul 01, 2005 5:22 am
by n1tram
Jejeje my point exactly kabe... Im a pro-normalbump activist! :D

Posted: Fri Jul 01, 2005 1:50 pm
by Mihai
n1tram, in cases like that it would probably be more efficient, and a lot more realistic, to add instanced geometry at rendertime, which I think NL have said Maxwell will have in the future.

Posted: Fri Jul 01, 2005 5:47 pm
by Kabe
Mihai Iliuta wrote:n1tram, in cases like that it would probably be more efficient, and a lot more realistic, to add instanced geometry at rendertime, which I think NL have said Maxwell will have in the future.
More efficient? You must be joking. Normal Maps render faster than Bump Maps, they are extremely efficient and easy to apply as a map to an object.

To support instanced geometry will require to jump through some major hoops to make that work in the plugins as well. And even if you have done so, applying instanced objects is considerably more work than to apply a map.

Besides... "will have in the future" sounds a bit odd for a Cinemaxwell Mac user considering the historic track record... ideas are cheap.

Kabe

Posted: Fri Jul 01, 2005 7:04 pm
by Maximus3D
I said it before and i say it again, normal mapping support in Maxwell is needed or maybe the correct word is required since there are alot of uses for highpoly models that renders fast and look good.

Zbrush 2 plays a big role in this and i highly doubt every user that uses Maxwell wanna create (excuse the word i use now) boring archi renderings all the time.

There are alot of people who are into highpoly character modeling (i'm one of those) who love to have normal map support in a renderengine like Maxwell, it'd be wonderful to say the least.

Here's my BIG highpoly normal mapped vote once again for normal mapping support in Maxwell Render! :D *thumbs up!*

/ Max

Posted: Fri Jul 01, 2005 8:13 pm
by Mihai
Kabe, in his case I don't think even normal maps would do. Efficient as in you don't need to setup the normal maps for all those buildings. We already know polycount doesn't affect Maxwell very much. If you have stuff like large protrusions, balconies etc, if you want them to interact properly with the light even if they are not in the immediate foreground then normal maps are no good. Normal maps also require memory like any other texture, so really I don't think there will be a big penalty using instances instead.

Instanced geometry will HAVE to be in Maxwell regardless if normal maps will be available or not and in his case I would use instances. That's all :)

Posted: Fri Jul 01, 2005 11:15 pm
by Kabe
PiledotNET wrote: Could you make a 3D render with the bump map you created in the imagem below and another with the normal map?

And about this quote:
I guess you could say that "normal maps" are the next generation of "bump maps"
I don't know about it. I can't imagine myself paiting a normal map just like I paint a bump map in Adobe Photoshop. I think you can only produce a normal map from a previews 3D model or a bump map.
Well, I'll make a better example that this, This has a lot of depth, so the specific strength of NM don't show too much - obects with a lot of depth will profit a lot from true instancing (and I don't see instancing a feature that is in concurrence to normal maps...)
It is not just painting in Photoshop, I admit that. It is easy to do in ZBrush though, whch gives you unparalleed control about the design process..s

Kabe

Posted: Fri Jul 01, 2005 11:44 pm
by Kabe
Ok, here an example:
Image

Problem #1: How to match the defined geometry with the bump map? That's just try and error. The normal map is 100% the texture as it was designed on the very first try.

Problem #2: The highlights in the Bump Map version look very bad and rough, mostly because interpolating a grey map is quite limited, because over the whole way from low to high you have just 256 values to encode the slope. So the bigger your areas are and the more subtle your normal deviations are, the more limited a bump map is.

The normal and bump map can be downloaded here - 260 kB:
http://klausbusse.de/Temp/Maxwell/NormalBumpMap.zip

Have fun

Kabe