» HBAO+
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

HBAO+

effect
Credits: NSYNK, NVIDIA, vux for dx11, microdee for his public repos

about

HBAO+ is a high effiency screen-space ambient occlusion (SSAO) algorithm developed by NVIDIA.
This is a direct port for the vvvv dx11 pipeline by vux, made by exposing managed vvvv dx11 into native C++ dx11.

features

  • quite fast
  • lots of pins (some hidden), exposes nearly all options of the NVIDIA library
  • help patch, including explanations for every pin
  • based on HBAO+ 4.0

not done (yet?)

  • including your own normal buffer (rendering AO on normal maps)
  • dual layer depth input to remove halo artifacts

installation

  • make sure your dx11 pack is version >= 1.2
  • drop it into your packs folder

source & license

Source is available at: https://github.com/dboleslawski/VVVV.HBAOPlus
In case any bugs show up, please report them here: https://github.com/dboleslawski/VVVV.HBAOPlus/issues

Wrapper & Nodes use the MIT license
HBAO+ is licensed via the GameWorks Binary SDK EULA https://developer.nvidia.com/gameworks-sdk-eula

download

VVVV.HBAOPlus_AnyCPU_0.1.zip
23.05.18 [17:12 UTC] by dennis | 1429 downloads

everyoneishappy 23/05/2018 - 19:03

Cool!
Do need to do anything else for install?
I get in tty:
00:00:31 ERR : System.DllNotFoundException in HBAOPlus-vvvv: Unable to load DLL 'HBAOPlus-bridge-vvvv.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

I'm using vvvv b36 X64 and dx11 1.3

u7angel 23/05/2018 - 19:10

it is working here, out of the box

tonfilm 23/05/2018 - 20:02

works here too, just dropped it into packs. beta36 64-bit with dx11 v1.3... super nice quality AO, love it! thanks a lot for this contribution.

readme 23/05/2018 - 22:07

works for me as well, been experiencing some glitches when switching renderers, rewiring texture ressources, or having HBAO+ in a second patch like the help patch at the same time.
vvvv was freezing on me and hovering texture pins would introduce a 1-2 second lag until vvvv recovered and a tooltip was shown.
Will check tomorrow again to reproduce.

Thank you!

Noir 24/05/2018 - 09:35

Big up Dennis

seltzdesign 24/05/2018 - 10:24

Getting the same error as everyoneishappy. Any solution?

mburk 24/05/2018 - 11:30

Great contribution, thanks! Including custom normal buffer would actually be a nice feature, I would definitlely encourage / support to add this.

motzi 24/05/2018 - 14:20

really cool stuff - great work dennis!

dennis 24/05/2018 - 15:00

everyoneishappy, seltzdesign: Guess my project configuration is a bit off, the plugin is asking for the Debug runtime (compiled as release though..), which is prolly missing on your machines. For now, drop these into the core folder. Next update I'll try to fix this.

readme: sounds like I skipped handling some states - in case you find out how to reproduce these, lemme know. Would like to tackle these issues, ty!

mburk: already played around with a lil bit, shouldn't take too long to release that too!

seltzdesign 24/05/2018 - 16:04

dennis: I have placed and unblocked the dll's next to the other ones in their corresponding core folders, but still getting red node. Tried on 2 other machines and same thing :/

AKa-visuals 24/05/2018 - 16:53

happen the same error to me....copy dlls and get same problem on an msi gt72 with nvidia gtx980

dennis 24/05/2018 - 17:45

seltzdesign, AKa-visuals: Could finally reproduce the problem, installing the Windows 10 SDK did the trick. (tick only the "Windows SDK for Desktop C++ x86/amd64" boxes, size is quite big) https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
Hopefully it'll work now. Will fix this later.

everyoneishappy 25/05/2018 - 05:08

@dennis yep after installing win 10 sdk works here, thanks.

microdee 25/05/2018 - 12:19

yo! I've forked this thing and I will convert it to C++/CLI so you don't have to PInvoke static functions and can keep track of multiple instances of HBAO with multiple contexts

it's a great thing btw, I immediately threw my current SSAO stuff into garbage

dennis 26/05/2018 - 02:20

v v nice microdee, I‘ll look at it and merge it tomorrow! Thank you

StiX 10/06/2018 - 12:10

I am getting exception even after installing microsoft sdk

00:00:24 ERR : Exception occured in TMPluginWrapperNode.Evaluate
00:00:24 ERR : Unable to load DLL 'HBAOPlus-bridge-vvvv.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

seltzdesign 12/06/2018 - 17:51

I think I might have found a bug. If you add a Switch(Node) to the output just before the renderer in the help file and you switch to something else once, it will either crash vvvv or cause all render output to be black.

If you add a preview to HBAO it doesnt happen.

Seems like HBAO doesn't like being turned off ;)

edit: here is the error message after the switch

dennis 13/06/2018 - 12:15

StiX, seltzdesign: thanks for finding those bugs! I'm currently working on an update fixing most of these issues, should be done by the end of this week.

tekcor 15/08/2018 - 22:02

Hi, Any one can point out whats the problem with the

Unable to load DLL 'HBAOPlus-bridge-vvvv.dll'

error massage?

I see some people have no problem using it

tgd 28/10/2018 - 15:43

what tekcor said..
followed the fixes from the comments but still the same error :/

edit: ok silly me, have replaced the core folders from the google drive download. but of course you have just to add the vcruntime140d.dll to the folders. @tekcor maybe you were silly too ;) it works now..

edit2: Anyway the demo scene eats 100% of my GTX 1050 at 25fps.. :/

dennis 03/11/2018 - 13:07

Still haven't gotten around on updating it properly. A version that does normal input and supports multiple instances (thank you microdee) exists in the Github repo, sadly still needs some polish.

tgd: Check the Sphere etc. nodes in the help patch, I think I set the resolution of them a tad to high without thinking..

Joanie_AntiVJ 06/11/2018 - 20:10

Would love to try, preview looks great

I'm with vvvv_50beta37_x86, I get a HBAO+ red node when connected to a render.
Any idea dennis ?

synth 06/11/2018 - 21:36

On the machines that i have tried and have Unity installed it works. But on clean machines it does not.
I assume there is a library missing on plain windows install.

Joanie_AntiVJ 07/11/2018 - 14:09

Just got feedback from Dennis on github, problem now fixed if that could help others:

I did a clean install of "vvvv_50beta37_x86" + DX11 and it's now running like a charm !
(I think I got lost with an older vvvv version + Win 10 SDK / unity threads, but actually with latest clean install it's fine !)

It looks beautiful, Thanks Dennis !

seltzdesign 22/11/2018 - 17:48

Just disconnected the depth map going to HBAO+ and it really didn't like that. vvvv ram usage shoots up to around 13gb (the max available of the 16gb in my machine). TTY showing HBAO+ "not set to an instance of an object" message.

Could you set it so if no depth map is connected it is just disabled internally? vvvv keeps crashing on me without the depth map, even after restart.

This is on beta36.

tmp 26/06/2019 - 10:04

Doesn't work on 50beta38.1 for me.
Fresh install (+ dx11 pack)

Error message:

Stack Trace
00:00:23  -  :    at VVVV.Nodes.DX11.NVHBAOPlus.PluginEntry.InitHBAO(IntPtr device)
   at VVVV.Nodes.DX11.NVHBAOPlus.NVHBAOPlusNode.Update(DX11RenderContext context)
   at VVVV.DX11.Lib.RenderGraph.DX11DeviceRenderer.UpdateNode(DX11Node node)
00:00:23 ERR : Exception occured in TMPluginWrapperNode.Evaluate
00:00:23 ERR : Unable to load DLL 'HBAOPlus-bridge-vvvv.dll': Das angegebene Modul wurde nicht gefunden. (Exception from HRESULT: 0x8007007E)
00:00:23 ERR : Exception caused by node during update :/73/202
00:00:23 ERR : Exception node name :HBAO+ (DX11)
00:00:23 ERR : System.DllNotFoundException in HBAOPlus-vvvv: Unable to load DLL 'HBAOPlus-bridge-vvvv.dll': Das angegebene Modul wurde nicht gefunden. (Exception from HRESULT: 0x8007007E)

Ideas?
edit: Sorry..didnt read the thread. You should add installation comments for those who only read contribution infos :)

anonymous user login

Shoutbox

~14h ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~7d ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~8d ago

fleg: hey there! What's the best tool for remote work? Teamviewer feels terrible. Thanks!

~21d ago

joreg: Last call: 6-session vvvv beginner course starting November 4: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/

~1mth ago

joreg: Missed the last meetup? You can rewatch it here: https://www.youtube.com/live/MdvTa58uxB0?si=Fwi-9hHoCmo794Ag

~1mth ago

theurbankind: When is the next big event, like node festival ?

~1mth ago

~1mth ago

joreg: Join us for the next vvvv meetup on Oktober 17th: https://visualprogramming.net/blog/2024/25.-vvvv-worldwide-meetup/

~1mth ago

joreg: 6 session beginner course part 2 "Deep Dive" starts January 13th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-ii/