• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Normal map creation

Messages
29
Country
norway
This is not Normal Mapping, this is Bump Mapping. Normal mapping is a map that manipulates the surface normals of polygons, not just the pixel shading as with bump maps. FSX does not have a normal mapping feature as far as i know...
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
Messages
32,859
Country
netherlands
I am sure you have to use the normal map tools to create the correct texture file. For the rest the name bump map is also often used, but that can also be confusion.
 

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
This is not Normal Mapping, this is Bump Mapping. Normal mapping is a map that manipulates the surface normals of polygons, not just the pixel shading as with bump maps. FSX does not have a normal mapping feature as far as i know...

For reasons of their own, ACES chose to use the term "Bump Map" instead of "Normal Map."

Strictly in regards to FSX's lexicon, "normal map" and "bump map" are synonyms. :teacher:

FSX models use a "normal map" to achieve what ACES terms a "bump map."

I wrote an explanation of this several years ago, shortly after FSX was released. It should be available using the "Search" tool here.
 
Last edited:
Messages
29
Country
norway
"For reasons of their own, ACES chose to use the term "Bump Map" instead of "Normal Map."

Strictly in regards to FSX's lexicon, "normal map" and "bump map" are synonyms."

Normal maps are NOT the same as bump maps. See the wiki entry for referances: http://en.wikipedia.org/wiki/Normal_mapping

It's a nice introduction to what normal mapping is.
 

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
"For reasons of their own, ACES chose to use the term "Bump Map" instead of "Normal Map."

Strictly in regards to FSX's lexicon, "normal map" and "bump map" are synonyms."

Normal maps are NOT the same as bump maps. See the wiki entry for referances: http://en.wikipedia.org/wiki/Normal_mapping

It's a nice introduction to what normal mapping is.

No one has said you are wrong, but what part of "Strictly in regards to FSX's lexicon, "normal map" and "bump map" are synonyms." is unclear?

ACES are the ones who chose to misuse the term. ACES chose to call their implementation of "normal map" a "bump map."

So, in order to reduce the obfuscation, it is critical to note that one can NOT create a real "bump map" and expect it to work in FSX! :eek:
 
Last edited:
Messages
29
Country
norway
"ACES are the ones who chose to misuse the term. ACES chose to call their implementation of "normal map" a "bump map.""

I really don't understand. Does FSX support normal maps? I've never seen any signs of normal mapping in FSX. Bump mapping, it does support though.
 

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
"ACES are the ones who chose to misuse the term. ACES chose to call their implementation of "normal map" a "bump map.""

I really don't understand. Does FSX support normal maps? I've never seen any signs of normal mapping in FSX. Bump mapping, it does support though.

Were what you state true, then the nVidia "normal map" plugin would not work. The fact that it does work, seems pretty convincing to me... :wizard:

http://developer.nvidia.com/object/photoshop_dds_plugins.html
 
Messages
12
Country
us-washington
Bump and Normal at the laymen level basically achieve the same result.

Bump maps resemble those used by a mask or specular maps with 0-255 gradients (black to white).

Normal maps are a 'newer' tech ideally built from a higher resolution model to fake the existence of higher details (normals from each face) onto an essentialy planar surface. Circa Doom 3 era FPS for overuse of these. :)

Sad truth is that normal maps are often misused and drawn in Photoshop just like a bump map and then converted to a normal map using Nvidia's tool. IMO it doesn't really matter though since the resolution is so poor and details [of rivets] are so small. Only really would enviroment models would benefit the true use of a normal map as largely more detail in polygons are budgeted to aircraft, although even still ...

IMO it's not worth the fuss over symantics. I'm with Bill and the fact ACES reversed the true term is essentially a non-issue.

The answer is: FSX is using bump mapping with normals maps as the conduit but calling them bump maps.
 
Last edited:

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
This is a repost of an article I wrote Nov 20th, 2007:

Creating Bump (Normal) Maps with the nVidia plugin and Photoshop v7 or v8...

  • Create a normal map with the NVidia plugin
  • Copy the contents of the red channel to the alpha channel
  • Make the red channel black
  • Invert the green channel
  • Make the blue channel white
  • Save the result as DDS/DXT5 image

The Alpha channel is simply what WAS in the Red channel that's been cut-n-pasted to the Alpha channel, before the Green chanel's contents are "Inverted" (note: I don't mean "flipped," I mean that the entire image is "photo reverse image," i.e. "Invert"ed...

Here is the reason why. Compressing the image results in severe degradation of the normal information: in fact, the RGB vectors are no longer precisely 1 as they should be.

"There is another option, but it requires that your normal map be changed around a bit and also that your shader be edited slightly. DXT5 gives the most quality to the green channel and to the alpha channel. We can take advantage of this to "hijack" the DXT5 format and turn it into a normal map compression format. First we need to re-arrange the data in the normal map. Take the red channel data (X) and put it in the alpha channel. Now make the red and blue channels black1. Now we need to adjust the shader to switch the data back around for us. The shader needs to be told that the red channel data is in the alpha channel of the texture and that it needs to calculate the blue channel values itself. This is possible with a little algebra because we can assume that the vector that results from R,G, and B will be unit length one. If you are able to make these changes to both the normal map and the shader, you'll get 4 to 1 normal map compression with very little quality loss!"
http://www.bencloward.com/tutorials_normal_maps12.shtml

1 NOTE:
For FSX the RGB Channels must be as follows:
Red Channel = black
Green Channel = bump map
Blue Channel = white

ALTERNATE METHOD:
An alternative which may also be used is:
- Create your normal map with the n_Vidia plugin.
- Save as .psd file
- Run Imagetool from the command line with the switches as explained in the SDK for normal maps. This will do all the copy-invert-delete-mutilate operations needed (I made a .bat file to automate the process).

ACES has written thier Shader to utilize this rearrangement of the normal map, which allows us to use DDS/DXT5 compression.

"Positive or Negative Y
When using Tangent Space normal maps, the most common difference in formats is the direction that the green channel is lit. Some programs light the green channel from the left (postive Y) and others light the green channel from the right (negative Y). Some programs give you the option to choose positive or negative Y. If your normal map isn't being lit correctly, the first thing that you should try is to flip the green channel. Just open the normal map in Photoshop, select the green channel, and choose "Invert." That will give you the same result as if you had rendered the normal map in the other format. "

http://www.bencloward.com/tutorials_normal_maps11.shtml

BTW, if you want to learn more about FSX's version of "bump mapping," understand that it's more commonly known as "normal mapping." Actual "bump mapping" is generally a gray-scale image with no Alpha channel. "Normal mapping" on the other hand is an entirely different concept.

There's a very nice article here: http://en.wikipedia.org/wiki/Normal_mapping that explains this in greater detail. From what I've read so far, it's not clear to me that ACES themselves have fully exploited the potential in their own examples.

I haven't taken the time to read this "tutorial" in depth yet, but it looks promising!
http://www.bencloward.com/tutorials_normal_maps1.shtml
 
Messages
29
Country
norway
Sorry for being dim, but does anything here actually suggest that it's possible to use normal mapping in FSX?
 
Messages
29
Country
norway
Use of normal maps in run-time is a very spesific procedure. Does the FSX render do normal maps, or is it a bump map shader?

I've seen no evidence of normal mapped objects in FSX. The screengrab with the rendered house in the tutorial looks like a basic bump shader, and not a normal map shader.
 
Last edited:

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
ACES has written thier Shader to utilize this rearrangement of the normal map, which allows us to use DDS/DXT5 compression.

I honestly don't see how the above could be made any clearer.

FSX's Shader is using a NORMAL MAP that's been bastardized to achieve ACES' specific goal, which is creating the illusion of "3d surface bumps or indents."

Honestly, hasn't this dead horse been beaten enough by now? I frankly don't care "how it works" nearly as much as that it "does work."

If you were to take the time to open any of the default "xxx_bump.dds" textures, you'd soon discover that they are -in fact- precisely as described in my article from 2006, when I was still in daily contact with the nice folks who actually coded FSX and the Shader system.
 
Last edited:
Messages
29
Country
norway
Don't get me wrong. Since you say that in FSX, normal mapping and bump are the same, and since you have been in contact with ACES, maybe you could give men an answer to the following?:

[1] FSX use normal maps for bumpmap rendering.
[2] FSX use normal maps for normalmap rendering.
[3] FSX uses normal maps for both normalmap rendering and bump map rendering.

It looks like only bumpmapping, but maybe I'm wrong. I'm sorry that you consider this a dead horse, but I find it rather important, because then I will do highres models for my next airport ground. Bake a normal map, reduce the polys, and apply the map from the high-res model.

If FSX does not utilize normal shading, on the other hand, this workflow would be of no point, just a lot more work...
 

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
Only #1.

FSX does not support "real" BUMP Mapping. Period.

The Material Editor slot in Max/GMax labled BUMP has been "hijacked" so that we can specify a filename for our xxx_bump.dds (which is in reality a massaged normal map).

So your concern:

If FSX does not utilize normal shading, on the other hand, this workflow would be of no point, just a lot more work...

is unfounded, since FSX does -in fact- utilize normal shading.
 
Messages
1,484
Bill, regarding your tut on bump/normal maps....I'm unsure about 2 things. 1. You say twice "make a channel black (white)". You don't say "paint" the channel black, is that intentional? Is making a channel black different from filling it with black? I was experimenting last night, I downloaded the jpg from the wiki, and saw its channels. I noted the red channel ended up partly black with lines showing. I could imitate that by clicking on the fill tool once with black, but am I accomplishing what you intended? When following your advice for the blue, to "make" It white, I noted it was already white, so I didn't do anything to it. I also noted no alpha channel in your sample. Is this just due to storing the image in jpg? or do you delete the alpha eventually? Oddly enough, the end result appeared to work, even thou I'm a blind squirrel looking for nuts.
 

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
Okay, Bob. Let me outline my workflow process. This is after creating the "normal map" with the nVidia plugin, and still in a .psd format:

1. Open Photoshop's "Channel" tab
2. Create an Alpha Channel
3. Set the forground color to pure white
4. Set the background color to pure black
5. Select the Red Channel, press Ctrl-A, Ctrl-X to remove the contents of the Red channel and replace it with pure black
6. Select the Alpha channel, press Ctrl-V to paste the buffer contents
7. Select the Blue channel, select a LARGE pencil, and paint pure white.

Done!

BTW, the .jpg file isn't really a good source for an example, since I had to compress it horribly to save size, and it has of course lost the Alpha channel...
 
Last edited:

n4gix

Resource contributor
Messages
11,674
Country
unitedstates
Thank you sir! One correction, you may have intended ctrl a, ...etc, not shift a.

Oops! I've corrected the typo to hopefully eliminate any future confusion from someone searching the threads... :D
 
Top