I'm working in HPL3 and noticed that I get very strange lighting around the edges of certain objects in-game, which disappears when I turn SSAO off in the options. This obviously means the SSAO isn't working correctly, but I have no idea why.
This even causes things like, when I move a door, there's a band of light on the edge that moves with the door.
It's easiest to see the issue around the mirrors and in the corner on the left, where there's strange lighting that shouldn't exist.
I had someone much more knowledgeable in code take a look at shadersource.hpss, and they said the math for computing SSAO looks correct, so maybe it has to do with when it's applied?
Does anyone know how I can solve this issue?
NOTE: I've also attached my hpl.log, which
does seem to mention SSAO errors.
EDIT:
Okay, so I found the .hpsl shader files and tried reversing some of the results (e.g. changing specific instances of "+" to "-", or "*" to "/"), which partially fixed the issue. Those lights I saw before disappeared, but now they're appearing where there used to be proper shadow.