Getting started

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago - 5 years 3 months ago #1 by againstallathority
it actually work pretty good

File Attachment:


btw im looking forward to port some kind of SSAO with normals correction and 1 light bounce for reshade (looks close to SSGI, but better performance), however i wasnt able to find any kind of documentation around this forum.

File Attachment:


(mention collumn edges - no "fake occulsions", also it doesnt require light source information for color bleeding)


maybe anyone can help me?

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 3 months ago #2 by crosire

againstallathority wrote: however i wasnt able to find any kind of documentation around this forum.

Where do you need help? =)

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago - 5 years 3 months ago #3 by againstallathority
Hi, crosire! 1st of all thx for ReShade engine (i suppose we can call it engine) !!

im an old fan of enbseries, made few ports (and even 2 simple shaders by myself) and dozens of enbeffects for it. However it takes some time to get into new environment, since im not a professional coder, its more like hobby)

Maybe you can provide me some simple reshade.fx example (lets call it a template, the smaler size - the better) with "entrance points" - texture inputs, simple depth to normal transition function (i've mentioned that we dont have g-buffer, however ligthbounce and depth clip will require normal vectors for target and random texture lookups), maybe some info about space used in reshade.fx (screenspace to veiwspace transitions examples back and forward). How is depth stored?

Also - whats difference between texture and texture2D? is there any kind of HLSL tex2Dlod analogy?

sorry if thats too much, honestly i probably will get into it by myself. however help is always appreciated!

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 3 months ago - 5 years 3 months ago #4 by crosire
I suggest you check out the example shader that comes with core ReShade . It's a nice starting point (I hope).
It's hard to talk about different spaces in case of ReShade, since there is no vector data, which could be in one. You could say the shaders are executed in screen space though. The depth buffer then contains a map from pixels to the distance to the nearest vertex at that pixel position (in projection/screen space, so you usually want to transform that back into camera/view space, to get some actual depth value).

"texture" and "texture2D" are aliases, they mean the same. ReShade only has support for two dimensional textures, so it provides the "texture" keyword to reduce the amount of writting needed.

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago #5 by againstallathority
thx for the lead!

Please Log in or Create an account to join the conversation.

  • Posts: 177
5 years 3 months ago - 5 years 3 months ago #6 by kingeric1992

againstallathority wrote: btw im looking forward to port some kind of SSAO with normals correction and 1 light bounce for reshade (looks close to SSGI, but better performance), however i wasnt able to find any kind of documentation around this forum.


normal correction is already done in HBAO, available in Marty's mastereffect.

For the light bounce, here are some details: SSDO <--pdf
at page 3, there is a indirect bounce function: Lind(P) = .....
There's also a demo by marty on his facebook , don't know if it's already released or not.
The idea is to take account of the color of neighboring points if they are visible to current point, which shares the same visibility function as AO.

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago - 5 years 3 months ago #7 by againstallathority
thx kingeric, just to mention that paper is almost 7 years old :) almost anyone around enb community refers to it almost like to bible :D

however the ao shown up above is pretty fast technique, developed few month ago by Sergey R. It combines some tricks from DSSDO and HBAO with a really clear and easy-to understand code and nice results (autor screenshots):

File Attachment:


and colorbleed (no alfa with 10 multiplier to make it easy visible):
File Attachment:


if you like that kind of reading - try frederikaalund.com/wp-content/uploads/20...cclusion-Methods.pdf

and my appology for offtopic :D

Please Log in or Create an account to join the conversation.

  • Posts: 177
5 years 3 months ago - 5 years 3 months ago #8 by kingeric1992
Found a Russian page by searching pics on google, he is using HBAO + bounce + deferred rendering, not something new.

I'm quoting the bounce function in that SSDO paper, which can be added to any kind of AO, it is the visibility we need.

To be even faster, you can use HBAO+ to replace HBAO.

Edit:
Just doubled checked, it is NOT HBAO, more like a modification of Crysis AO. ...
The following user(s) said Thank You: againstallathority

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago #9 by againstallathority
as far as i know HBAO+ is Nvidia exclusive and they dont share much of the details on it. I've found only some optimisation tricks for filtering: developer.nvidia.com/sites/default/files...rleavedTexturing.pdf

Please Log in or Create an account to join the conversation.

  • Posts: 307
5 years 3 months ago #10 by MonarchX
You can get SSAO and HBAO+ with ReShade Master Effect? Does at least SSAO work well? I could use in older games! In GTA V too because AO option does nothing, probably because no system can run it well.

Please Log in or Create an account to join the conversation.

  • Posts: 22
5 years 3 months ago - 5 years 3 months ago #11 by SkacikPL
Well, HBAO+ can be downloaded as a shader from NVIDIA game dev program site, so you can freely dissect it at your leisure if you wish.

MonarchX wrote: You can get SSAO and HBAO+ with ReShade Master Effect? Does at least SSAO work well? I could use in older games! In GTA V too because AO option does nothing, probably because no system can run it well.

GTA V has inbuilt HBAO+ support IIRC.
Injectable shaders that require depth won't work very well (especially AO) since logarithmic depth buffer looks like this:
i.imgur.com/FV8PWwq.jpg

Good luck getting enough detail for AO to work on.

Please Log in or Create an account to join the conversation.

  • Posts: 177
5 years 3 months ago - 5 years 3 months ago #12 by kingeric1992
HBAO+ IS HBAO + optimization trick (interleaved sampling), hence the name.

Also since reshade support MRT, so it is totally doable, but I wonder if there would be any performance gain.
from what I read, HBAO+ utilize buffer size and cache hit rate.

Please Log in or Create an account to join the conversation.

  • Posts: 22
5 years 3 months ago #13 by SkacikPL
By default HBAO+ uses 36 samples, unlike HBAO which used 4.

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago - 5 years 3 months ago #14 by againstallathority
i've wrote hell of a tonn of text with screenshots.. however forum marked me as spam..

i'll leave this over here

File Attachment:

Please Log in or Create an account to join the conversation.

  • Posts: 307
5 years 3 months ago #15 by MonarchX

SkacikPL wrote: Well, HBAO+ can be downloaded as a shader from NVIDIA game dev program site, so you can freely dissect it at your leisure if you wish.

MonarchX wrote: You can get SSAO and HBAO+ with ReShade Master Effect? Does at least SSAO work well? I could use in older games! In GTA V too because AO option does nothing, probably because no system can run it well.

GTA V has inbuilt HBAO+ support IIRC.
Injectable shaders that require depth won't work very well (especially AO) since logarithmic depth buffer looks like this:
i.imgur.com/FV8PWwq.jpg

Good luck getting enough detail for AO to work on.


Nope. If you read nVidia guide, you'll know that AO is NOT working in GTA V for anyone, regardless of the settings in the game and in nVidia CP/Inspector. I am pretty sure it is disabled because enabling it would cripple even the most powerful rigs.

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago #16 by againstallathority
AO works in GTAV, yet due to

logarithmic depth

it requires some time to get approrite linearisation function (there was one around this forum, modify it and you'll get the result)

File Attachment:


not perfect, however already step forward

before
File Attachment:


after
File Attachment:


the shots above done with master effect... however its so heavy and overloaded, that i have to make my own shader pack for GTAV reshade, like i did once for GTAIV enb (the fastest dof trick and enbeffect, that provided up to 50 fps full HD on my 7970 with full bunch of effects and several layers for FXAA)

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 3 months ago #17 by crosire

againstallathority wrote: i've wrote hell of a tonn of text with screenshots.. however forum marked me as spam..

Sorry about that, added your post.

Please Log in or Create an account to join the conversation.

  • Posts: 790
5 years 3 months ago #18 by Ganossa

againstallathority wrote: ... however its so heavy and overloaded, that i have to make my own shader pack for GTAV reshade, like i did once


Please do not, this is not enb anymore. We have a powerful framework now that allows us to avoid the re-implementation "hell" and similar issues coming from endless non-distinct shader packs. I am sure you are aware of that already ;)
The following user(s) said Thank You: strelokgunslinger

Please Log in or Create an account to join the conversation.

  • againstallathority
  • againstallathority's Avatar Topic Author
  • Offline
  • Posts: 20
5 years 3 months ago #19 by againstallathority

LuciferHawk wrote: Please do not, this is not enb anymore. We have a powerful framework now that allows us to avoid the re-implementation "hell" and similar issues coming from endless non-distinct shader packs. I am sure you are aware of that already ;)


em.. i'm sure this kingdom have enough space for us all

Please Log in or Create an account to join the conversation.