Lucato
![]() |
Hi folks, let's talk about 'Normal Maps' that are driving me a little nuts, once I don't understand it so well. Ok, I have read that: "light blue pixels (R 127, G 127, B 255) represent normals that are pointing straight out of the screen. The pink pixels represent normals that are tweaked to the right. Green pixels represent normals that are tweaked up. Purple pixels represent normals that are tweaked down, and dark blue/green pixel are normals tweaked to the left" (source).
Ok, let's take my Beveled Bricks texture as a sample and look at the attached image below. I don't know if It is my mind, eyes or so on, but for me the #1 (colored side) is the final result I want, but if I look at the 'Normal Map', It seems that the center of the brick is bumped up instead of down. It seems to be inverted. Now, if I invert the 'Heigh' in the Editor, I got the result #2 where the 'Normal Map' seems to be with the correct bump, but the final result (colored side) seems to be inverted. I mean, the center of the brick seems bumped up and the borders down. So, my doubt is... When we create a texture, shouldn't be the 'Normal Map' as in #3 (Manipulated). I mean, what is dark matches with dark and bright matches with brigh for 'Normal Map' and final result automatically as shown in #3? Maybe we would have a checkbox for 'Heigh' like 'Invert', without inverting the colored final result. I don't know, maybe I'm totally wrong. ![]() Cheers, Lucato ![]() |
|||
Posted: July 14, 2006 9:04 am | ||||
onyXMaster
Posts: 350 |
Lucato, AFAIK Ben Cloward uses ATI's NormalMapper, which outputs normal maps with inverted Y (exchange purple with green), while we do output the direct XYZ normals. While we can add the "inverted Y" or "ATI-style" or whatever render map, it still has nothing to do with brightness of image vs map. Actually, it's the included HDRIs that have lighting concentrated at the top or middle in default positions, so it tends to highlight the negative-normal data.
Hint: when creating Surface filters pay more attention to bump map. Imagine that dark areas are canyons and white areas are hills, and you fly as a bird above them -- is lighting correct? Are you really making bricks higher than mortar? Are you really carving a star in the stone instead of sticking a star to a stone? |
|||
Posted: July 14, 2006 1:52 pm | ||||
byRo
![]() |
Lucato, I don't have too much experience with this stuff but, as like onyXmaster said, if you look after the height map that you are feeding into the "Surface" result (=bump map) then the Normals will take care of themselves.
I attached an image of your "Height Map". If you remember that black is low and white is high, then you can see: 1) The mortar is much higher (and varied) than the bricks; 2) The "embossed" part of the brick is higher than the rest; 3) The brick surface, which should be the highest part is actually the lowest. Rô ![]() _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||
Posted: July 14, 2006 2:10 pm | ||||
byRo
![]() |
||||
Posted: July 14, 2006 2:12 pm | ||||
Lucato
![]() |
onyXMaster and ByRo:
"when creating Surface filters pay more attention to bump map. Imagine that dark areas are canyons and white areas are hills, and you fly as a bird above them" Yup, thanks for the tip, that i understood, but I think It is a little impossible if I create textures based on what I see. I mean, if you look at my 'Heigh Map' that byRo posted here, It is wrong, but if I just add an Invert Component after that, I just get the #2 (1st image above), but the final bricks will look wrong. If you look at the green line posted by ByRo, how will I get to control of It? How will I say to FF, ok, I want all bricks on the same level doesn't matter the color the brick is, and all mortar a little up than the brick and all brick center a little down than the border. "is lighting correct? Are you really making bricks higher than mortar? Are you really carving a star in the stone instead of sticking a star to a stone?" Well, I have no clue. For me the final result seems to be ok, but the maps say don't! how do I know to do It in the correct way? So, some doubts: How to create a texture based on bump maps? I think no body build a texture starting from bump maps. How to fix my bricks if I use the invert component and it fix the map, but mess the final result? How would I fix these bricks? Maybe I'm not getting to think very well today, but I think certain textures created can't have the bump map as reference or use for 3D if what I see isn't the same result in the normal map/bump map. Now tell me, is the #2, colored result, looking righ for your eyes? Anyway, onyXMaster and ByRo, thanks for the help. I'll try to play with the beveled bricks to see if I get something different. |
|||
Posted: July 14, 2006 2:55 pm | ||||
Ken |
Hmmm.
I’ve been reading a lot about Displacement maps recently and Rô’s green height graph is correct. However, I do see what Lucato is saying. The bricks in Lucatos Bevelled Brick filter ‘Look’ like the centre of the brick is lower than the edges of the brick. Adding a invert to the DMap inverts this. This appears to be the opposite of how it should be. Ken. ![]() |
|||
Posted: July 14, 2006 4:30 pm | ||||
byRo
![]() |
I think this little snippit filter should help....
The bump map is generated independently of the rest. Starting with white bricks (high) and black mortar (low) the brick indentation is multiplied in (lowering) and the mortar gradient is "screened" in (elevating). Rô Bricks byRo.ffxml _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||
Posted: July 14, 2006 6:22 pm | ||||
byRo
![]() |
||||
Posted: July 14, 2006 6:32 pm | ||||
Ken |
Hi Rô.
Thank you for the example. Your code works exactly as expected (which proves there is nothing wrong with FF) The centre of the bricks looks lower than the edges, which is correct because the DMap (Bump map / Height map) is darker in the centre. But that does not solve Lucatos problem where the Bump map is Lighter at the centre of the brick (and so is higher) but that area ‘looks’ lower. I think we will just have to put this down to an optical illusion (or my eyes) Ken. |
|||
Posted: July 15, 2006 2:28 pm | ||||
byRo
![]() |
In Lucato's bump map there is a vertical step up when going from the brick's surface to the lowered area. You don't see that because FF is looking "straight on". If you were to take this texture to a 3-D program and look at it slightly from the side, you'd quickly see a sharp-edged box rising out of the brick and on the top surface of this block there would be the indentation of the lowered part. You can see this profile on the "green line" drawing. Rô (I'll try and do a 3-D shot of this) _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||
Posted: July 15, 2006 4:30 pm | ||||
Ken |
Hi Rô.
“(I'll try and do a 3-D shot of this)†No need Rô. Your post explains it perfectly. We are not seeing a rise in the ‘Spike’ but we are seeing the fall so the whole central area looks lower. A simple blur of the bump map evens out this spike so now the central area looks higher, as it should. It would be nice if FF could give us a profile of the Height Map. But with more practice I may be able to “fly like a bird†Ken. ![]() |
|||
Posted: July 15, 2006 8:12 pm | ||||
byRo
![]() |
||||
Posted: July 16, 2006 6:50 am | ||||
Ken |
Hi Rô.
Nice, That shows the effect very clearly. Did you do that with FF? It would be good if we could angle the Results window like that. Lucato, apologies for high jacking your thread. (But it is related) Ken. |
|||
Posted: July 16, 2006 3:47 pm | ||||
byRo
![]() |
Nope, I used Poser. Lucato, my apologies too - hope all this is helping. ![]() Rô _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||
Posted: July 16, 2006 5:26 pm | ||||
Vladimir Golovin
Administrator |
Absolutely agree. I wanted to include the Map Profile into this beta but I still don't have a good idea how to implement the interface for this. This is definitely something I would like to see in FF. |
|||
Posted: July 19, 2006 5:57 am | ||||
byRo
![]() |
||||
Posted: July 19, 2006 6:05 pm | ||||
Vladimir Golovin
Administrator |
Hehe ![]() ![]() The actual challenge is finding a good place for the Profile in the Filter Forge interface. I'd prefer to see it somewhere in Filter Controls, so that people can adjust the normal map without entering the Editor. The Lighting tab looks like a good location, because it has the Surface Height slider. For example, the slider could be replaced with a button called "Surface Height" that opens a window showing the profile and allowing to set the lattitude/longitude for the cut. |
|||
Posted: July 20, 2006 3:11 am | ||||
byRo
![]() |
OK, I can see you logic - but I'm not sure that's the most useful place. (Hoping my buddy, Lucato, doesn't get too mad at me for tearing his filter apart ![]() The profile is needing at the time the filter is being "composed" ( ![]() Taking the example above, the problem is not in fixing the overall height (which you would do in the 3-D program later) but in the logic to produce the Height map. So it would be nice if we could see the result immediately. Having to close the filter, look at the height profile and then open the filter again to fix the problems doesn't seem to be the best solution. Here, looking from the "user" side the most logical solution would be a little button (or something) next to the "Height" parameter. Rô ![]() _________________________________
My favourite question is "Why?". My second favourite is "Why not?" |
|||
Posted: July 20, 2006 6:45 am | ||||
Ken |
Hi.
Thanks for the Snippet Rô. I have built one and it is very easy to copy and paste into other code to see the height map profile. It is a good help. ![]() Vladimir. The most obvious location for the height map Profile (to me) is in the top menu Filter > Render Maps > Height Map Profile That would mean that the height map profile would be available in the editor and in the main Windows. Ken. |
|||
Posted: July 20, 2006 1:05 pm | ||||
Lucato
![]() |
Hi Folks, I'm sorry for my delay. I've been quite busy lately.
byRo: "Lucato, my apologies too - hope all this is helping.","Hoping my buddy, Lucato, doesn't get too mad at me for tearing his filter apart". That's ok "muy buddy" ![]() ![]() You don't have to ask apologize, we all are here to learn. Thanks for the file and help. As soon as I get free time I'll try to fix and update my file. I saw in your file how to separate the stuffs. I mean I had mixed some components form "colored aread" with the "High" area. Well, something like that. "Did I hear a challenge?" OMG byRo, my profile isn't so bad like that green. Is it? The profile should show the whole bricks as a "right 3D view". Well, it's better when I get time to place an image of what I'm trying to say. FF would allow us also to create a texture without using maps (Option). I mean, when we finish a texture would have an option somewhere to select "Generate Maps (Y/N)?". It would be Filters/Render Maps/No Maps. ![]() |
|||
Posted: July 20, 2006 3:29 pm | ||||
Vladimir Golovin
Administrator |
Actually, you don't have to close the Editor to see the filter controls (and the Lighting tab) -- select the Filter Controls thingy under the Result component to access them. But anyway, I see your point. Maybe it would be a better idea to make it universal, so that you can see the profile of any selected component, not only the Height subtree? For example, you select a component, choose View > Profile from the menu and get the window showing the profile. (This won't work in Browser but I think we can solve this, for example by placing it into Render Maps menu as Ken suggested). |
|||
Posted: July 21, 2006 5:00 am | ||||
Morgantao
![]() |
ByRo, how the heck did you do this snippet (The one in the "challange" post).
It seems simple enough, 5 components and a slider, but for some reason I can't recreate it. My results look nothing like what you have there. Can you please post that little snippet? Thanks! |
|||
Posted: December 6, 2011 3:01 am |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,719 Registered Users
+8 new in 7 days!
153,546 Posts
+6 new last day!
15,348 Topics
+71 new in year!
6 unregistered users.