Home ShaderMap Legacy

Making Normal Maps Less Noisy

Here is example(Out of the box not adjusted in any way) of the noise generate to a default normal map(single Photo), I've played with the post and pre filter (Normalization, blur, normal blur etc) and tried to adjust via the Diff map (high,Med,Low Detail) but I'm unable to generate a Normal map from a busy picture that has any "depth" to it.

In contrast if I generate a Normal from template LIB (Normal Map from photos) I get a very clean image that allows enhancement without introducing a lot of noise.


Are there any tricks you are aware of to help me produce a "cleaner" normal? (Or a guide to creating a normal map that is not a large object.) and still retain it's depth.

I have experimented with making a "washed out" normal and blending the 2, so far this has been my best guess solution but I loose a bit of depth doing it this way.

Thanks in advance

2016_09_05_12_31_56.jpg

Comments

  • Select the Displacement Map node and use the following settings:

    Auto Edge: 0
    High Detail: 100
    Mid Detail: 0
    Low Detail: 0

    This will produce a normal map similar to creating it directly from the source texture. It might be a good place to start.

    You can also adjust the intensity by selecting the Normal map and modifying the Intensity and Sharpness.
  • Yes, with applications like Awsomebump and crazybump etc that's how I usually do it then slowly tweak the settings till I get something I feel is acceptable. I'm unsure what you mean buy adjusting sharpness there is only a tickbox labeled sharpness.

    Below is the output with settings you suggested.
    disp_turned_down.jpg
    And this is with the intensity set to 10
    disp_turned_down_intensity_10.jpg
  • The following are the normals from Shadermap with the above settings

    norm.jpg

    And this is awsomebump's output

    awsome.jpg
  • SO what' Ive been doing is generating both and then blending them as I cant get
    awsomebump to give enough depth without generating noise or
    Shadermap to keep it's depth but reduce it's noise

    I hope I'm making sense, Or not asking the impossible and it just due the logarithm that is used.

    It "feels" like I'm not seeing the advanced button and can't control the pixel size that is used for map generation or something.

    in the above examples
    Shadermap "finds" the fine detail in the top of the larger rocks (gravel) but gets "tricked" by the smaller grains.
    Awsomebump defines the shapes better and finds the individual grains but does not include the detail as well as shadermap in busy pictures.

    (I know one is -x pics are for noise examples.)
  • And this is the blended output (at the loss of edge height)

    Blended_plane.jpg

    Blended normal

    Blended_normal.jpg
  • To me it seems the Normal generation is similar to SO_5x5 (xNormal Method)
    And the other application is doing a PRE_3x3 (xNormal Method)

    So if I want edge detail I use PRE_3x3 (xNormal Method) with Bias on Grey channel
    BUT, the "Ground" height is raised and the rocks look pressed into the terrain. (as you have no control over color vs height.)

    So in a nutshell this is my madness I purchased this program as I can generate some normal maps that are OK and blend them to be reasonable.

    But I feel I'm missing something really basic ( I assume Shadermap has only the one Normal rendering method)

    (Can I make a very detailed wish list :) )
  • Gernash wrote:
    But I feel I'm missing something really basic ( I assume Shadermap has only the one Normal rendering method)

    (Can I make a very detailed wish list :) )

    Thanks for describing your issue better. It has given me some things to think about.

    ShaderMap currently only uses one normal generation method. I am in the middle of SM4 development at the moment and will be adding at least one other normal gen method.

    I was considering allowing the user to select the generation method from a drop down menu but now I'm thinking of placing the methods on top of each other and allow the user to control the blending between the methods. Each method would have its own intensity and blending values. Thoughts?

    Feel free to add a wish list here. I always welcome feedback :)
  • Gernash wrote:
    The following are the normals from Shadermap with the above settings

    norm.jpg

    Please provide me with the source image, I need to verify these results. That does not look like something ShaderMap would produce.
  • Cool  https://dl.dropboxusercontent.com/u/73053307/CommonwealthDefault01_d.jpg is an example of a color map

    , I've kinda worked out a method for this problem I think which leads me to a couple of enhancements....

    Yeay Masks!!!

    I made a duplicate of the Diff and used a filter (brightness/contrast then cranked the contrast right up and lowered the brightness
    saved that and loaded the mask on the normal which gave me a pin-holing for the normal generation to not go crazy

    Idea 1: So in this scenario it would be nice to have load mask not just be able to load a file but attach to a node.

    Idea 2: and if you attach a filter to a node then the filter controls should appear in the node properties box at the bottom so you know you have filters in place.

    Idea 3: If you start from a color map you want to generate an albedo then diff etc etc if you setup under advance a node list how you want to generate your maps then to be able to save that as a workflow be nice (which can be accessed as a custom render from the main start page.)
    3.1 Albedo generation should have a materials list like DDO 64x (wood, dirt, stone, steel, etc,etc so it can auto twiggle the level to get it in the ball park.

    Idea 4: Height map (Diff Map?) generation and control is nice just the filter in it's properties (once I had to split the Diff into a normal diff and a blurry one and blend maps to show terrain profile as the normal when generated looked flat.) the blend map option took care of that though.

    Idea 5: would like other generation methods for Normal maps the nvidia, gimp opensource version and xnormal have 4samples,3x3,5x5,SO3x3,SO5x5,PRE3x3,PRE5x5 I've not looked up who or what they are I just cycle through them and choose one that make the nicest normal (yes I'm bad)

    Idea 6: PBR Workflow and games and stuff: Being able to generate a separate "Roughness" Map

    Idea 7: the reason for the extra map is in the save option you can generate pre-made outputs like
    File 1 RGB:Color  alpha: OCC
    File 2 RG: Normal  B: Black Mask
    File 3 R:Spec G:Roughness B: Black Mask
    Similar to ddo

    Idea 8: eyedropper to select lowest color and highest color (Awsome bump does this well)
  • I think the render method is struggling as it's 50 shades of brown with sparkly bit's in it.....
  • Having multiple normal render methods is never a bad thing the current way just requires you to use a 3rd party app. The slider bar you get now is excellent.

    So if you had a "CRAZY OVER THE TOP" map generator and a High detailed quiet one then you have many levels of compromise.(especially if you can modify the levels in each node) Maybe an advance/basic mode which hides the Node generation layers (I seem to use 9 to produce the images I Need for texture replaces in game.) 10 if I has a pre -generated roughness map(I use a twiggled Displacement map At the moment with terrain.) 11-12 if I need masq and dual diff maps

    I use the word compromise as I'm new to all this but the best way to generate a normal from a pic (IMO) is the 4 Photos way. Much much nicer.
  • After working out the filter masq My work flow is kinda like this to produce a nice Normal (sorry for the chook scratches)



    normal_generation.jpg
  • Ok the reason for saving templates is if I work with 4096x4096 the program seems to crash if to many filters are in play. so if i need heaps of twiddling i use 1024x1024 then work it out save project then add a 4096x4086 then attach the albedo node and it happly grinds out a file for me.

    If i fiddle with a 4096 then 60%-80% chance of crash dependent on the amout of filter adjustments. no crash with lower resolution
  • Or am I just using it in an unintended way?
    My hope is I can generate a workflow (similar to 3d Modling nodes(just learning about that)) so I can just imput a pic tell it what material it is then BAM My stuff comes out.

    At the moment it does things like monochromatic and smooth objects spectacularly but muddy/imprecise/shadowed pics no so much. (Unless I'm doing it wrong....and I hope I am...please let it be a tick box)
  • And this is the output using the Pinhole method without a secondary map

    Pinhole_render.jpg

    Normal

    Pinhole_normal.jpg
  • As you can see that is a much better output but without being able to attach the masq to a node it's an annoying back and forth process.

    The subtle wormyness/noise in the "dirt" gets resolved with the blend with external normal and I get a "clean" end result.

    The contrast controlled Diff map I'm using as a normal Masq has a post filter with Brightness/Contrast set -16/100
    Albedo is 70 shadow 85 Hilight level 35
    Diff is high 50-100 (just top of rock detail) mid 50 low 11
    Normal intensity 450 sharpen enable mask pointing to saved version of contrast controlled diff (intensity needs to be high to "Push" through the pinhole filter.

    Sorry didn't RTFM https://dl.dropboxusercontent.com/u/73053307/Pinhole.smtpl

    Save the middle Diff and use it as the mask in the normal
  • For your entertainment.

    http://www.nexusmods.com/fallout4/mods/17710/?

    This is what I'm playing with, The pics are not with the "new" pin hole method but where the end results are going to.
  • Idea 1: So in this scenario it would be nice to have load mask not just be able to load a file but attach to a node.

    That's a great idea. I'm adding it to the list
    Idea 2: and if you attach a filter to a node then the filter controls should appear in the node properties box at the bottom so you know you have filters in place.

    Easy enough. Listed.
    3.1 Albedo generation should have a materials list like DDO 64x (wood, dirt, stone, steel, etc,etc so it can auto twiggle the level to get it in the ball park.

    Adding it to the list for research.
    Idea 5: would like other generation methods for Normal maps the nvidia, gimp opensource version and xnormal have 4samples,3x3,5x5,SO3x3,SO5x5,PRE3x3,PRE5x5 I've not looked up who or what they are I just cycle through them and choose one that make the nicest normal (yes I'm bad)

    This is in the works already.
    Idea 6: PBR Workflow and games and stuff: Being able to generate a separate "Roughness" Map

    The main issue we are having for creating PBR Workflow is ShaderMap's dependence on an old DirectX ShaderModel limitation. Generating the maps is easy enough but creating a nice PBR render in the Visualizer has proven difficult. We have considered upgrading to a newer version of DirectX but in the long run that SDK is limited to only the Windows OS. So a new rendering platform is being developed on OpenGL 4+ and has been in the works for some time. You will eventually see ShaderMap tools targeting PBR Workflow and visualization on both Windows and OSX.
    Idea 7: the reason for the extra map is in the save option you can generate pre-made outputs like
    File 1 RGB:Color  alpha: OCC
    File 2 RG: Normal  B: Black Mask
    File 3 R:Spec G:Roughness B: Black Mask
    Similar to ddo

    Have you looked at embedding maps with ShaderMap? Drag a node over another while holding the SHIFT key then release. This will bring up the channel mixer and allow you to combine individual channels into the parent node. The saved output map will contain the combined channel values.
    Idea 8: eyedropper to select lowest color and highest color (Awsome bump does this well)

    I'll look into this. Adding it to the research list.


    Thanks so much for your input,
    _Neil
  • Ok the reason for saving templates is if I work with 4096x4096 the program seems to crash if to many filters are in play. so if i need heaps of twiddling i use 1024x1024 then work it out save project then add a 4096x4086 then attach the albedo node and it happly grinds out a file for me.

    If i fiddle with a 4096 then 60%-80% chance of crash dependent on the amout of filter adjustments. no crash with lower resolution


    Adding it to the bug tracking list. The overall memory requirements of SM4 have been reduced 50+% compared to SM3. I am hoping this helps. I will see if I can create a repeatable crash using your suggested parameters for templates.
  • The Idea 6: is because I've been looking at things like this https://www.youtube.com/user/AndrewPPrice/videos and this http://polycount.com/discussion/152769/jeds-tutorial-spot
    SOooo the dream is input a picture gets processed through a "PBResque" engine then spits out Maps.

    Having the "engine" produce 100% "machine world" results is not required. I think, as the results I view in the materials viewer currently, is defiantly not how it looks in the FO4 game .
    100% accuracy would only relate to a closed render environment. You could have a game mode vs realism to allow a workflow or map generation prior to "the big boys version" that creates a "true" render in the new OpenGL 4+ environment your building.
    Heck, with Fo4 if you use their internal editor "GECK" and view an object it does not even show stretching or edge overlap issues.
  • Have you looked at embedding maps with ShaderMap?


    Um just looked at it, It's cool but, (lots of these buts around here) in the senario I have I'd like to have a drag n drop for the channels as the diffusion map I use is
    RGB : Color map
    Aplha : Occlusion

    So in this case I'd need to be able to "tie" the RGB of the Occ map and "drag" the result into the Aplha channel.
    Currently it's red for red, green for green etc but if you try to copy multiple channels together it dosent work. maybe a greyscale filter so it converts the node(occ map in this case) into a single channel so you can drag that into the Alpha

    So in my "dreams come true world" My Spec map would be constructed by
    SHIFT draging Spec and Diff to a new node
    applying greyscale filter to both
    Then shift draging both to MY Spec output
    Then using the RGB mixer to copy the single channels into the R and G respectively
    and a tick box for unused channels to auto-fill via black/white tick-box or gradient bar
  • The "Pin-hole " idea came from reading http://shadermaptutorials.com/tutorial/sharpening-edges-with-map-masks/
    (hard to find. I'd think Support would be where I'd find tutorials not docs, tutorials tab)

    I cannot find RGB mixer "Drag n Drop" feature described anywhere either (ShaderMap documentation not searchable?) maybe a tutorial on that so oddball people like me go AHHHHH

    Because after learning about the Shift drag I'm using it alot while testing different things...
  • Idea 2 filter sliders in properties of node.

    Seeing you said that was easy then I might push my luck.....

    How about a CONTROL Node?
    this magical node when created has an options box when pressed will open all viable node property sliders and check boxes.
    You can then select the sliders you want to control from the different node properties (and to be able to name them) to create an overall control Node of slidy n clicky happiness.
  • And with Awesomebump (the main reason I use it for neutral bump maps) is the AC: Light angle, CB Weight and CB min max.
    These "seem" to help me fight the shadows in the picture to produce a more exaggerated normal without noise generation.



    AC_Weight.jpg
  • But all these comments are purly situational.... mainly relating to "bad" inital pic. if you had a geometric shape with hard edges and a black background none of this would make sence to have.
  • ARRRG, Normal question....(hehe)

    if I mess with normal generation to much I seem to somehow affect the shadow effect to make it like a light swith either on or off is this something that can be Adjusted (I get this issue with most normal generators if i "Crank them up")

    Unshure if a glitch with that texture or my video card started failing..... ignore.
  • The above "fault" turns out to be some texture in FO4 are just "hanging" in mid air i.e leaf on tree/ground Debris in the default texture they seem to have the texture on a transparent layer so it's not so apparent that there is no light reflection to the underside.
    Reading 3d modeling forums they talk about double sided diffusion and normal maps or "flipping" them.
    Is that something that can me done to texture maps? I've not been able to see any information anywhere if it's a thing.
    If this is outside of the scope of the program (specific game related/render engine issue) is there a forum you can point me to who would know about this sort of question would be appreciated.
  • What happened to images? Kinda useless if no referance. Srry/
Sign In or Register to comment.