Announcement

Collapse
No announcement yet.

Realtime Dynamic GI + Reflections + AO + Emissive plugin - AHR

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Doublezer0 View Post
    Hi again,

    Sorry to bother you with this. I cloned 4.8 and it built fine. I have 4.7 building fine also. I found errors in the logs that make me think it is something to do with some files having errors. It might be a dependency issue but really right now I am quite confused.

    Here is a log file of the build. First error starts at line 555.
    http://www.f00n.com/random/AHRbuildlog.txt

    Any further help is greatly appreciated as I can't wait to get something made with this. If you haven't time I understand and I will be posting this on the answerhub to see if anyone else can help.

    Thanks.
    I think the problem is you downloaded the broken 4.8 version. I have deleted that on github, so try downloading the zip/cloning again, should work
    Last edited by RyanTorant; 06-22-2015, 08:52 AM.

    Comment


      ahh thank you
      http://unrealdeveloper.uk

      Comment


        Originally posted by Doublezer0 View Post
        ahh thank you
        Post here when you try it, want to see how it goes.

        Comment


          Originally posted by RyanTorant View Post
          Post here when you try it, want to see how it goes.
          I must have gone wrong somewhere. I deleted the repo, re-cloned the "release" version but it's the same. I don't see a specific 4.7 version and the choices that are offered it seems the "ahr_new_release" should be the right one?
          http://unrealdeveloper.uk

          Comment


            Originally posted by Doublezer0 View Post
            I must have gone wrong somewhere. I deleted the repo, re-cloned the "release" version but it's the same. I don't see a specific 4.7 version and the choices that are offered it seems the "ahr_new_release" should be the right one?
            Hmm, i think it was my bad. You should clone release, but I see on github that the release one I old. Will check it out when I get home

            Comment


              Thank you.
              http://unrealdeveloper.uk

              Comment


                Originally posted by RyanTorant View Post
                Yes, and on practice is faster, both on tracing ( not really sure why, probably the gpu likes that access better) and on voxelization, as you dont need to pre-filter the voxels.
                I'm also just tracing 5 rays plus one for reflections, so that may be another difference. One thing I really want to add is taking the prev frame , or a few more, if the pixel hasn't moved a lot, and keep that GI. That way you increase the ray count without performance hit( at the expense of some ghosting)
                EDIT: A few pages back you can see a comparison between AHR and vxgi. While vxgi looks better, AHR is about 3 times faster.
                Wow, I never would've thought you could get such good results with just 5 rays. The noise is barely noticeable. Are you relying heavily on the bilateral filter to smooth out the noise? Because, if so, you'd also lose lighting detail for surfaces with high-frequency normal map details. But everything you've shown so far looks fantastic, really. Funny how voxel cone tracing does all that expensive filtering, yet it barely makes a difference in image quality.

                VXGI does look better in that comparison, but only because of the color bleeding. If you can fix the bilateral filter, it should look just as good as VXGI. Maybe VXGI is using the "joint bilateral upsample" technique using the depth buffer mentioned in this article: http://web.stanford.edu/class/cs448f...0Continued.pdf.

                Comment


                  Originally posted by krstefan42 View Post
                  Wow, I never would've thought you could get such good results with just 5 rays. The noise is barely noticeable. Are you relying heavily on the bilateral filter to smooth out the noise? Because, if so, you'd also lose lighting detail for surfaces with high-frequency normal map details. But everything you've shown so far looks fantastic, really. Funny how voxel cone tracing does all that expensive filtering, yet it barely makes a difference in image quality.

                  VXGI does look better in that comparison, but only because of the color bleeding. If you can fix the bilateral filter, it should look just as good as VXGI. Maybe VXGI is using the "joint bilateral upsample" technique using the depth buffer mentioned in this article: http://web.stanford.edu/class/cs448f...0Continued.pdf.
                  Clever trick here (for GI, reflections are just traced normally).
                  I trace with the object normal, not normal map, then apply a heavy bilateral blur( that I need to improve). The trick is storing the 5 rays separated , bluring them separated, and then on the final step, at full res I sample the 5 rays and interpolate the result from the normal mapped normal doing a wighted average of the five rays, where the weight is the dot product of the normal and the ray dir. This way you get an approximation of what light would arrive to a given normal
                  Last edited by RyanTorant; 06-22-2015, 03:05 PM.

                  Comment


                    *Pppppfffffttt!* Mind blown!

                    Comment


                      Originally posted by Doublezer0 View Post
                      Thank you.
                      Well, i had messed up a bit my repo, think i'll have it fixed on a few minutes. The branch is "release", ignore all the others. Particulary, ahr_new_release will have the day to day changes, might even not compile. Actually, think i'll change the name to something more clear, like ahr_live_branch or similar.

                      EDIT: It's now fixed. The release branch now contains all the correct commits, and should be working. Just ignore all the other branches.
                      Last edited by RyanTorant; 06-22-2015, 03:39 PM.

                      Comment


                        Originally posted by RyanTorant View Post
                        Clever trick here (for GI, reflections are just traced normally).
                        I trace with the object normal, not normal map, then apply a heavy bilateral blur( that I need to improve). The trick is storing the 5 rays separated , bluring them separated, and then on the final step, at full res I sample the 5 rays and interpolate the result from the normal mapped normal doing a wighted average of the five rays, where the weight is the dot product of the normal and the ray dir. This way you get an approximation of what light would arrive to a given normal
                        is very likely that I am missing the point, but i am going to ask it anyway , what stops devs from doing something similar to this for direct shading but replacing the rays with the lights so is posible to only compute lightnig over n pixels while still getting a very good quality.

                        Comment


                          Originally posted by diegor View Post
                          is very likely that I am missing the point, but i am going to ask it anyway , what stops devs from doing something similar to this for direct shading but replacing the rays with the lights so is posible to only compute lightnig over n pixels while still getting a very good quality.
                          Maybe for shadows you could do something like this, where you compute the shadow term for a fixed directions and then interpolate, but probably not for directional lighting. In any case, you could think this a sibling of precomputed radiance transfer, and there's some good research on that area.
                          Still, good you asked! Always ask, the worst that can happen is that someone says you're wrong

                          Comment


                            Thanks, now i know wat prt really is, thankfully i havent talked about that yet in other forums, so now there is more research for me, alsot i think that i have heard of similar tecnique in one of the many square enix papers about path tracing using rasterization.
                            Lets hope that in the end using that '' interpolation'' is a viable option for other things such as direct lightning.

                            EDIT:I had an idea that is probably going to work , but could slow down the rendering instead of improving it , maybe the '' interpolation'' can be emulated by apliying an inverted fresnel for each ligh (or lights that come from the same direction if its posible ) using the light vector as the camera vector input and the low resolution direct shading of each light as their respective power inputs , but just taking into acount the normal map and not the object normal

                            all can be done using Fresnel Vector Ops for prototyping and if really turns out to be worth the effort im going to TRY to implement it direcly as a shader to speed things up (im am by no means a seasoned gneral programer , and i know far less about programing in HLSL), but because this is not a general discusion forum i am going to start my own thread when i have actually done it.)
                            Last edited by diegor; 06-23-2015, 08:06 AM.

                            Comment


                              Few weeks ago I promissed that I'll make a scene but I can't work on it right now because I have some problems with school. I'm so sorry
                              Assets: Military Ammunition (Released)
                              Plugins: BlueManBPFunctionLibrary C++ plugin (Free), Blue Man Vehicle AI Plugin (Released), Air Resistance C++ Plugin (WIP), Blue Man Vehicle Physics Plugin (Marketplace)
                              Projects: Giants Of Destruction

                              Comment


                                Right now you're just raymarching till hit, though 4.8 should fully support the signed distance field volumetric textures. Which should dramatically improve tracing time as tracing distance increases, but then as distance increases you'll get either dramatically different results from temporal instability or dramatic undersampling... still I'd suggest it's worth a try.

                                Comment

                                Working...
                                X