HBAO+ Compatibility Flags Thread

Discussion in 'Videocards - NVIDIA GeForce Drivers Section' started by MrBonk, Mar 3, 2014.

  1. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    Neato. Thanks!
     
  2. CrazyGenio

    CrazyGenio Master Guru

    Messages:
    447
    Likes Received:
    32
    GPU:
    Msi rtx 2080ti trio
    check previous post.

    if you want ambient oclussion on that game you should use reshade/mastereffect alchemy AO method, any other metod cause a lot of beleeding and hbao/hbao+ is way to strong even you can see the bleed on anime cutscenes.

    try my mastereefect preset if you want:

    http://steamcommunity.com/app/351970/discussions/0/490123938436048981/?tscn=1445751692

    you can disable depth of field if you don't like or you consider it annoying since it blurs some texts on the menu.
     
  3. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    Zestiria is impossible. I've tested every flag.

    OH well
     
  4. skacikpl

    skacikpl Master Guru

    Messages:
    379
    Likes Received:
    121
    GPU:
    MSI RTX 2070 8G
    Anyone tried Vermintide?

    The autodesk's stingray engine looks impressive, it also uses full frame SSAO but i just wonder whether anyone has tried injecting HBAO.
     

  5. roxahris

    roxahris Guest

    In case anyone isn't aware, it's worth pointing out that simply copying nvd3dum.dll to the game executable's directory will load that local copy instead of the driver's original one, so you can make multiple presets for individual games using the same flags.
    Of course, a proper interface for this would be nicer still.

    On a related note, Dragon's Dogma Online seems to work well with the following bytes.
    Spliced together from the Dragon Age Origins flag (which has UI bleeding problems) and the ARMA 3 flag (which has angle problems), it looks pretty decent. But I haven't tested them thoroughly.
     
  6. jiminycricket

    jiminycricket Master Guru

    Messages:
    203
    Likes Received:
    4
    GPU:
    GTX 1080
  7. tapioks

    tapioks Active Member

    Messages:
    79
    Likes Received:
    2
    GPU:
    GTX 780M 4GB
    It's the Steam version of Black Mesa.
     
  8. kx11

    kx11 Ancient Guru

    Messages:
    3,448
    Likes Received:
    511
    GPU:
    RTX 3090
    man that's bad news :(
     
  9. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    :3eyes:
    That's very interesting!

    I feel like this might be worth experimenting with now more. I might have to try ToZ with this...
     
  10. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    OK, so bell ringing moment.

    With the flags, Guzz mentions that each is grouped into four pairings. Each is a 8 digit DWORD. With each being corresponding to different categories.

    Thing is, I know I think what the combinations are for each set of pairings.

    And copying the .DLL to the game directory DOES let the game run off of that copy (Which is awesome).

    So I experimented with Tales of Zestiria by only playing with the first DWORD which is HBAO+ Insertion Logic Bits.

    Using the flag 2F
    I changed 0x2A988018 to 0x2A948018
    98 corresponding to "PATTERN_DEPTHFUNC_LESSEQUAL"
    94 corresponding to "PATTERN_DEPTHFUNC_EQUAL"
    With 94 suddenly AO is turning on and off if I rotate the camera horizontally beyond a certain point. With 98, this doesn't happen.
    (EDIT, turns out this is WRONG but the change still does as explained)


    This works with the first Function.

    But the second, PatternMatchMask seems to be a bit of a bust. To my documentation the values dont' match up.
    If I change 0000B418 to all 0s then AO isn't working at all. Hmm
    (EDIT: Turns out these values are reversed and DO match up to my docs > http://forums.guru3d.com/showpost.php?p=5182656&postcount=1884)

    The Debug values seem to match up though they do not function. Probably because this is for dev/debug enabled drivers only maybe?


    For the parameter bits (EDITED for correctness because the values are reversed)
    00 00 00 00
    Strength
    00 00 00 00
    Use FP16 Linear-Z (0 = R32F, 1=R16F)
    00 00 00 00
    AO Fog Amount (Values used in Official.Flags: 1,6,8,A,D,E,F)
    00 00 00 00
    Blur Sharpness
    00 00 00 00
    Unused(?)
    00 00 00 00
    AO Fog Fade off factor (Distance to Half strength)
    00 00 00 00
    Angle Bias
    00 00 00 00
    Multiplier



    Here is a test using the blur sharpness bit.
    Value of 6 http://abload.de/img/talesofzestiria_2015_aouss.png
    Value of 1 http://abload.de/img/talesofzestiria_2015_v5uhj.png
    Here's another test changing the Linear-Z format
    Linear-Z=1 http://u.cubeupload.com/MrBonk/c9TalesofZestiria20151.png
    Linear-Z=0 http://u.cubeupload.com/MrBonk/621TalesofZestiria20151.png
    It gets stranger though values greater than 1 produce results like
    http://u.cubeupload.com/MrBonk/2dbTalesofZestiria20151.png (Value of 2)
    http://u.cubeupload.com/MrBonk/c97TalesofZestiria20151.png(Value of F;F=the number 16)

    And it's worth noting that no Official HBAO+ Flag uses a value greater than 2(Most use a value of 0, and only 1 uses a value of 2 IIRC, which is flag 0x00000033;Dark Souls II?;), so these must be progressively lower and lower precision values.

    I'm almost able to make it useable. But i'm out of time for tonight. I'll try again after work tomorrow.
     
    Last edited: Nov 4, 2015

  11. What are you guys using to edit the local .dll nv3dum file? I was curious so, I unzipped a copy (archive) of the file then tried reading the .text file in the NP++ Hex Editor, but could not find the values listed in the Hex Table. Guzz, Mr. Bonk, pedigrew, or any other Guru who successful edited the file, point me to the program I should be using, thanks!
     
    Last edited by a moderator: Oct 30, 2015
  12. robgrab

    robgrab Member Guru

    Messages:
    101
    Likes Received:
    0
    GPU:
    ASUS Strix 1080 8GB
    I picked up Disney Infinity 3.0 yesterday and it has obnoxious SSAO. I assume it's a DX9 game. I have no idea what game engine they're using. Any ideas where start?
     
  13. pedigrew

    pedigrew Master Guru

    Messages:
    203
    Likes Received:
    1
    GPU:
    EVGA GTX770 SC ACX 2GB
    I use this
     
  14. According to official system requirements, Disney Infinity 3.0 is a DX11 only game. I recommend trying all the DX11 predefined flags first then, experiment by adding 1 to the previous flag, click apply, and keep testing until you get HBAO+ with not a large performance cost (10% - 20% max). Without more documentation finding the HBAO+ bits of custom engines will be trial and error.

    Thanks pedigrew, I'll give the program a go! It seems more functional than the bare bones plugin in NP++.
     
    Last edited by a moderator: Oct 31, 2015
  15. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    I use HxD for Hexediting.

    Also: I've seen Disney Infinity on PS4. Definitely not amazing SSAO.
     

  16. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    More ToZ testing will have to wait until Late sunday night or monday.
     
  17. KoKlusz

    KoKlusz Active Member

    Messages:
    92
    Likes Received:
    1
    GPU:
    GeForce GTX 970
    Deus Ex Human Revolution - Director's Cut

    0x0000002F (modified)

    So, I've managed to fix the bleeding with 2F in DXHRDC with tweaks in nvd3dum.dll. Note that I can't test DX11 mode, so someone is gonna have to do it for me. Tested only on Director's Cut, but I think it should work in vanilla game too. Tested on prologue and first mission, didn't found any problems.

    No AO

    0x0000002F vanilla (AA 98 80 18 00 00 B4 18 A3 A0 6F 05 00 00 00 00) - For whatever reason I couldn't capture effect on screenshot with either Afterburner or Steam, so you have to believe me when I say it's bleeding badly.

    0x0000002F fixed (AA 98 80 18 00 00 20 18 A3 A0 6F 05 00 00 00 00) - While there's nothing particularly wrong with how flag works now, it's suffers from halo effect and some banding.

    0x0000002F modified (AA 98 80 18 00 00 20 18 85 A0 6F 05 00 00 00 00) - I've fixed issues mentioned above by using AO parameters for 2C.
     
    Last edited: Nov 5, 2015
  18. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    Nice. I will have to come up with some sort of working guide/reference post for modifying the flags for people when these are in the list.

    Now if only HR could be modded so the UI doesn't become unbearably small at high resolutions.
     
  19. KoKlusz

    KoKlusz Active Member

    Messages:
    92
    Likes Received:
    1
    GPU:
    GeForce GTX 970
    Do you have any idea which value should be changed to fix flickering?
     
  20. MrBonk

    MrBonk Ancient Guru

    Messages:
    3,251
    Likes Received:
    200
    GPU:
    MSI RTX 2080
    Are you getting flickering in HR now with your new flag?

    Anywho, it's most likely the insertion logic bits that are the problem.
    These on their own can drastically change things.

    If you ARE having problems with your new modified flag here, try changing the value I bolded below.

    AA 94 80 18 00 00 20 18 85 A0 6F 05 00 00 00 00
    Also try a 0 in that slot too.
     

Share This Page