Home Technical Talk

Best video card for normal maps

lkraan
polycounter lvl 18
Offline / Send Message
lkraan polycounter lvl 18
I think Rorshach mentioned in the P&P thread about Poop's new normal mapping workflow tutorial that you can get different normal map results depending on the graphics card that you use.

What are these differences exactly? Is it on the way the normal map is displayed or also the way that it is generated?

Is there a best/better graphics card for normal map generation and dispay?

Replies

  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    Probably display, Doom 3's docs say they use software rendering for generating normalmaps because using the graphics card would give different results.
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    the generation is done in software indeed
    just the looks depend on your card and shaders, however in theory at least the differences shouldnt be that much between newer cards, which run at higher precision.
    there might be a difference between older and new cars cause of internal precision

    there is a reference sotware driver with d3d, not sure how a user can activate the software renderer trivially but that would be the "reference" that engineers need to come close to.
  • darkshadow
    Offline / Send Message
    darkshadow polycounter lvl 18
    if its done through software, y do ati cards have that 3dc normal compression or something? o_O??
  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    It's probably related to how the textures are kept in memory.
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    yeah exactly what kdr said, its just minimizeing storage costs on agp mem
  • Eric Chadwick
    [ QUOTE ]
    if its done through software, y do ati cards have that 3dc normal compression or something? o_O??

    [/ QUOTE ]Maybe you're talking about s3tc? It was the precursor to the dxt format, for compressing textures.
  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    I think he's saying ATI has a different compression algorythm for normalmaps or something.
  • Eric Chadwick
    I went and read Rorshach's post, and found that arshlevon nailed it... the graphics card has nothing to do with how 3ds Max generates normal maps.

    The card however does matter when rendering them in realtime (in a Max viewport, in a game, in a previewing tool, etc.). ATI cards expect the green channel to point the normal upwards, while NVIDIA cards expect it to point downwards. The MetalBump shader in 3ds Max uses the NVIDIA method, and I think Render To Texture does too (but I haven't checked). Easy to fix a normal map that’s incompatible with your viewer... simply invert the green channel in your image editor of choice.

    Compressing normal maps is a separate issue. So far I've heard it done two ways... either using 3DC format (not supported by all cards) or using a DXT5 with Z (blue) removed, storing only X and Y, and comuting Z in the shader.

    Whew! Hope that makes sense.
  • Eric Chadwick
    Ah, thanks man. I thought it was weird, and wondered how people got around it.
  • Whargoul
    Offline / Send Message
    Whargoul polycounter lvl 18
    [ QUOTE ]
    [ QUOTE ]
    ATI cards expect the green channel to point the normal upwards, while NVIDIA cards expect it to point downwards

    [/ QUOTE ]
    EricChadwick, that is incorrect. RGB interpretation is done in shaders and is hardware independent.

    [/ QUOTE ]

    Yeah, it's just the convention that each company used in their tools & demos. Nothing more. It's called "ATI format" because that's the way their tool spits out normal maps, and "Nvidia format" because that's the way theirs was. It's just a -1 where there's a 1 in the shader to make the switch smile.gif
Sign In or Register to comment.