User Tag List

Page 1 of 34 12311 ... LastLast
Results 1 to 40 of 1346

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

  1. #1
    6

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

    UPDATE 2 : I got hired to finish developing this exclusively for a client, so I won't be updating the repo on github. It's still there, but if you want to do something with it, please contact me first. Thank you all

    UPDATE
    Clarifications: Due to limitations both on time and the plugin interface of UE, this is NOT a plugin, but a modification of the engine source
    Public release here, but first watch this video.
    Also, jump straight to page 10, that's where the fun starts
    You'll need to be loged in github to download, with your account that's linked to your unreal engine account
    Test Scene here : https://mega.nz/#F!58Qw3T7R!xGApDeqSp1FWP7Wfh2aLPQ
    Old stuff follows




    Hy everyone.
    I have been developing a technique, called Approximate Hybrid Raytracing (AHR), to render global illumination, reflections, and AO for fully dynamic scenes, approximating the scene with a voxel grid and then raytracing.
    I aim mid-range hardware, for example, my FX-6300 and GTX 750 Ti runs the sample demo at 60 FPS for the lowest quality preset and around 27 FPS for a reasonably high quality preset.
    I decided to write a plugin for UE4 that integrates AHR into the editor, considering Epic dropped support for dynamic GI, and LPVs doesn’t produce high quality results.

    For now, I just have an old video (I say it again. OLD video. It runs about 60% - 70% faster now) and a few screenshots of AHR inside UE4.




    AHR features include:
    • Scalable quality
    • Fully dynamic scenes
    • 1 bounce indirect illumination
    • 1 bounce reflections
    • Flexible material model
    • “Free” (no performance hit over standard GI, just reuses samples) AO
    • Unlimited emissive materials with soft shadows


    I’ll be updating this with screenshots and demos over this week, and then two weeks later (starting October 6) I’ll start to update this thread every day.
    Last edited by RyanTorant; 07-07-2017 at 09:39 AM.

  2. #2
    0
    Sweet! Good to see someone working on a dynamic GI solution instead of asking for it for a change.
    Can you post comparison screenshots for lowest and highest quality presets please?

  3. #3
    0
    I'm most impressed by the "free" AO, since AO is something that usually comes at a high performance cost. This scene is lit by a single dynamic light, right? Do you have plans to make future updates using an HDR for lighting? I'm definitely watching this thread! Good job, man.

  4. #4
    0
    This looks pretty amazing - does it run on all platforms?

  5. #5
    0
    Awesome!

    What about more diffuse bounces ? 1 bounce doesn't really cut, but two bounes would be awesome, and three bounces would just amazing.

    Anyway, I say, there is job waiting for you in Epic.
    Last edited by iniside; 09-24-2014 at 04:12 AM.
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  6. #6
    0
    I was the test case for running his AHR demo on the NVidia Titan and AMD Radeon A9 290X, and all I can say is very good job, and its going to be awesome in UE4.

  7. #7
    0
    Honestly just sounds like voxel cone tracing without the cones: https://research.nvidia.com/sites/default/files/publications/GIVoxels-pg2011-authors.pdf

    That's the original paper. Lot of advancements since then, will finally be coming out in a games soon, The Tomorrow Children, though that's only an approximate, and I highly suspect Deep Down as well. Both PS4 exclusives, as unfortunately the XBO's bandwidth to ram is quite low except for its fast 32mbs of Esram. Still, it might be possible to do it there too. Regardless, take a look, as this produces much more temporally stable results and with the automatic filtering lets you do rough specular for cheaper rather than progressively more expensive.

  8. #8
    0
    this looks awesome, keep up the good work.

    only one question,
    what are your plans for the plugin? to be released at all? free or commercial? beta releases or only to be released on a 'final' state?
    Help me back! follow me on Twitter

    Developer of Elium - Prison Escape

  9. #9
    0
    Very nice. I always wanted Dynamic GI in UE4 and this is great news for me.

    Quote Originally Posted by Chosker View Post
    what are your plans for the plugin? to be released at all? free or commercial? beta releases or only to be released on a 'final' state?
    I'd also like to know about this.

    One doubt. IIRC, Epic once said that making plugins for the rendering system is not possible. So how did you manage to pull this off? Is this really a plugin or an enhancement made directly in Engine?

  10. #10
    0
    That looks really great! Epic, it's time to hire this guy before anyone else steals him.

  11. #11
    0
    Reflections are a big deal! I'd say they're more important than GI ! Can't wait to see how this develops! How does it perform when scaling to larger scenes?

  12. #12
    0
    Quote Originally Posted by Spade View Post
    Reflections are a big deal! I'd say they're more important than GI ! Can't wait to see how this develops! How does it perform when scaling to larger scenes?
    Nah, we have good deal of solutions for reflections, but none for multibounce diffuse lighting.
    In anycase it's part of the same solution, only difference is accuracy of reflections.
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  13. #13
    0
    Well, that escalated quickly!
    To answer the questions:
    • The plugin will be FREE when I release it
    • I'm still unsure about beta releases. Will see as I go
    • Still haven't started to code the plugin. That screen was taken modifing the source directly
    • Multiple bounces are easly supported ( is quite like a raytracer ), the problem is performance. I'm still unsure how will it scale
    • Raytracing complexity is independet from scene complexity, but voxelization is not. The voxel resolution suffers on large scenes. I have a few ideas to solve that though
    • AO is free cause I reuse the samples that I took to compute the diffuse bounce
    • I code in DirectX 11, have never tried OpenGL. PS4 and XBOX One should be able to run it, but don't have them to try . My system is similar in specs though (GTX 750 Ti + FX-6300), and it runs quite nicely
    • In my demo I use just one direct light, but you can use a relatively small number of them
    • Raytracing is done using HDR (sadly I never had the time to implement correct tone-mapping on my demo, so it get's out to the screen), but the voxel data is not, as it is limited to a total of 24 bits for the color


    About there quality presets, there are a lot of parameters to tweak, such as ray lenght, number of rays, voxel resolution, samples displacement, etc. Here I put some presets

    4 rays, 16 samples per ray


    4 rays, 32 samples per ray


    8 rays, 32 samples per ray


    16 rays, 32 samples per ray


    32 rays, 45 samples per ray


    Well, that's it for today I think, but ask any other question you might have, if I don't answer it today, tomorrow will update the thread
    Last edited by RyanTorant; 09-24-2014 at 08:21 PM.

  14. #14
    0
    This is looking fantastic great work here

  15. #15
    0
    So if you are coding in DX11 chances are no Mac/Mobiles etc? (various OpenGL's)?

  16. #16
    0
    Dude, sweet!!!

    Best luck for this project, I'm eager to see the progress and how it'll work when it'll be released

    Thanks in advance for releasing this plugin for free, this is a huge effort!!!

    PS: Consider to add paypal donations

  17. #17
    0
    Quote Originally Posted by RyanTorant View Post
    Well, that escalated quickly!
    To answer the questions:
    • Still haven't started to code the plugin. That screen was taken modifing the source directly
    AFAIK you won't be able to make plugin for it. I bet you touch quite a bit of rendering code, and rendering plugins are not possible beyond some simple changes, like new shaders.

    Quote Originally Posted by RyanTorant View Post
    Well, that escalated quickly!
    To answer the questions:
    • Raytracing complexity is independet from scene complexity, but voxelization is not. The voxel resolution suffers on large scenes. I have a few ideas to solve that though
    I'm by no means, expert but there are few optimizations that come to my mind:
    1. Cascading voxels, around camera in set radius (so entire scene won't be voxelized, and further voxels will be bigger).
    2. Prevoxelize static geometry. Static geometry would be voxelized only once. Do not voxelize characaters and small moveable geometry. It would be possible to extend it by for example revoxelize static geometry when it change state (for example, moved, destroyed), and then again do not update voxelization until next state change. This would probabaly save you a lot of time.
    3. If you really needed to voxelize scene every frame, you might consider updating further cascades over several frames.
    3. Tweak able voxel resolution.
    4. If you would use OpenGL you could make use of ARB_Sparse_Texture, to access voxels saved in 3D texture and save a lot of memory this way, As you wouldn't have to store everything, only parts which are voxelized.



    In any case great work! If you are considering giving it for free I would consider talking with Epic about integrating it into main branch. When it's ready or usable.
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  18. #18
    0
    Quote Originally Posted by Anadin View Post
    So if you are coding in DX11 chances are no Mac/Mobiles etc? (various OpenGL's)?
    Well, since even a PS4 has difficulties running any kind of GI scheme I think we could just forget about mobile GI for thjis generation.
    Seriously guys, forget about it please.
    Lightmass is more than fine even for the big games, it's just that people don't want to hustle over UVs and baking time.

    @RyanTorant
    This is looking good btw!
    If i were you i'd take a free scene from the marketplace and get it to work with your GI system, so you can better show the benefits and the quality.
    I mean, Sponza sucks really bad uahaha.
    Try the new Interior Day and Night scene by Koola, if you get the same quality even 10fps should be ok for now.

    Cheers!

  19. #19
    0
    If a plugin is not possible, I would love for there to be a Github branch to take a look at how this would look in Caffeine, Which uses baked lighting for the static interior lights (space station) but there is a rotating sun which illuminates some dark rooms.
    I may be a bit too excited about this thread...

  20. #20
    1
    Quote Originally Posted by max.pareschi View Post
    Well, since even a PS4 has difficulties running any kind of GI scheme I think we could just forget about mobile GI for thjis generation.
    Seriously guys, forget about it please.
    Lightmass is more than fine even for the big games, it's just that people don't want to hustle over UVs and baking time
    Cheers!
    Sorry if I am being disrespectful or rude, but if you say something like this you have obviously no clue what you are talking about. Lightmass is not only the workflow suicide for a huge open world project, it also just crashes because of the unbelievably huge amount of data and is completely unable to handle really large areas. Epic didnt even realize that the Landscape demo from the market place crashes the Engine while baking for most people because they dont have enough RAM. Epic uses 32GB as a standard, so everyone with less than that has super huge issues in building this map.

    There are a lot of reasons why its not working and I could talk about that for hours (based on my own experience) but thats not the intention of this thread^^

    And yeah...very awesome work. Love the idea of seeing this in action in one of the maps from the market place. Sponza sucks indeed^^

    Cheers

  21. #21
    0
    Quote Originally Posted by max.pareschi View Post
    Well, since even a PS4 has difficulties running any kind of GI scheme I think we could just forget about mobile GI for thjis generation.
    Seriously guys, forget about it please.
    Lightmass is more than fine even for the big games, it's just that people don't want to hustle over UVs and baking time.
    Cheers!
    I'm sure all those people making games with changing environments and dynamic ToD, find lightmass and lightmaps in particular, very useful.

    Not to mention big environments, where where lightmap memory (used on player machine), will out weight any possible benefits.
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  22. #22
    0
    Quote Originally Posted by iniside View Post
    I'm sure all those people making games with changing environments and dynamic ToD, find lightmass and lightmaps in particular, very useful.

    Not to mention big environments, where where lightmap memory (used on player machine), will out weight any possible benefits.
    ^^ this.
    even Epic themselves aren't using lightmass on Fortnite because of dynamic time of the day
    Help me back! follow me on Twitter

    Developer of Elium - Prison Escape

  23. #23
    0
    Quote Originally Posted by Daedalus51 View Post
    Sorry if I am being disrespectful or rude, but if you say something like this you have obviously no clue what you are talking about. Lightmass is not only the workflow suicide for a huge open world project, it also just crashes because of the unbelievably huge amount of data and is completely unable to handle really large areas. Epic didnt even realize that the Landscape demo from the market place crashes the Engine while baking for most people because they dont have enough RAM. Epic uses 32GB as a standard, so everyone with less than that has super huge issues in building this map.

    There are a lot of reasons why its not working and I could talk about that for hours (based on my own experience) but thats not the intention of this thread^^

    And yeah...very awesome work. Love the idea of seeing this in action in one of the maps from the market place. Sponza sucks indeed^^

    Cheers
    Yeah, you could probably be right.

    At the same time (and that's from my own experience, so take this with a grain of salt) from a business standpoint you would have to be a very solid and financially backed-up dev to develop a huge open world game with dynamic lighting on mobile.
    I don't want to sound disrespectful to anyone here, since the community here is much nicer than the unity one, but you all know what this means.
    Whoever wants to do big time stuff on mobile either develop their own tech to be used inside of any engine or they just release their games without complicated gfx features, focusing instead on gameplay and novelty. For me at least that's the smart way to go.

    Not to mention that you could just split your open world and manage it in tiles using streaming and lods.
    You have less than 32Gb on you dev machine, honestly? just buy it, ram is dirt cheap these days. The roi on an investment like that is a day max, and human time is much more precious than cpu cycles.
    The only real problem I could see for lightmass on mobile is memory management on the device (as Inside said), and with careful prep work that can be done right.
    Also destructibles could be a pain, but those are edge cases on mobile really.

    In any case really, I'm one of the first that started a thread about alternative GI methods so it's not that I don't want that to happen.
    I also have come to grips with Lightmass and its convoluted workflow and final gathering nonsense: really UE devs, this seems like working in mental ray, unexposed properties, no precise documentation with use cases, leaking if you don't snap on the grid?? What about DCCs with no UV grid (like cinema 4d?) and again, Final effin' Gathering? in the meantime Arnold, Octane and many others came and blew MR and similar tech out of the atmosphere with a bazooka.

    Anyways, I just like to be realistic, and work with the tools I have now.
    Besides, I'm so much accustomed to waiting times on vfx that lightmass baking seems like a joke to me! I usually wait 20min to 2 hrs (depending on complexity) for just a frame

    Seems to me that a lot of people want "GI now!" just because it's looming on the horizon and it's way cooler than other stuff. I'd settle with better reflections and penumbra shadows with geometry area lights anytime, gi can be faked in so many ways.
    Ofcourse the workflow would be soooo much nicer with that, but you're not gonna use it on mobile now. 2-3 yrs maybe, not now.
    For now I'd worry about realtime shadows for instance. Or performance for those who can't use metal.

  24. #24
    0
    @RyanTorant
    Aw man, sorry for hijacking the thread. Of course I'm looking forward to your stuff! Thanks a lot.

  25. #25
    0
    Ok. This entire discussion spanned from unfortunate mention of mobile hardware.

    Not everyone is working on mobile games. I'm of mind that mobile gaming end on chess, or other simple 2D game. In that case you don't even need lighting beyond emissive material . For tha matter It's beyond my mind why would anyone make 3D mobile game. When I see that game is 3D in PlayStore, I just skip it and look for another 0o.

    There is a reason why I have beefy PC. To develop and to play beefy, fancy games .

    It's beyond my head why would play shooter or complex 3D RPG (which would really use fully dynamic lighting) on mobile device ;p.

    Anyway. I have a question. Serious one. How do you want to fake GI with:
    1. Fully dynamic lighting, and more or less dynamic environment ?
    2. PBR material setup, where faking lighting on it, will usually break it for different lighting condition ?
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  26. #26
    0
    Quote Originally Posted by max.pareschi View Post
    Yeah, you could probably be right.

    At the same time (and that's from my own experience, so take this with a grain of salt) from a business standpoint you would have to be a very solid and financially backed-up dev to develop a huge open world game with dynamic lighting on mobile.
    I don't want to sound disrespectful to anyone here, since the community here is much nicer than the unity one, but you all know what this means.
    Whoever wants to do big time stuff on mobile either develop their own tech to be used inside of any engine or they just release their games without complicated gfx features, focusing instead on gameplay and novelty. For me at least that's the smart way to go.

    Not to mention that you could just split your open world and manage it in tiles using streaming and lods.
    You have less than 32Gb on you dev machine, honestly? just buy it, ram is dirt cheap these days. The roi on an investment like that is a day max, and human time is much more precious than cpu cycles.
    The only real problem I could see for lightmass on mobile is memory management on the device (as Inside said), and with careful prep work that can be done right.
    Also destructibles could be a pain, but those are edge cases on mobile really.

    In any case really, I'm one of the first that started a thread about alternative GI methods so it's not that I don't want that to happen.
    I also have come to grips with Lightmass and its convoluted workflow and final gathering nonsense: really UE devs, this seems like working in mental ray, unexposed properties, no precise documentation with use cases, leaking if you don't snap on the grid?? What about DCCs with no UV grid (like cinema 4d?) and again, Final effin' Gathering? in the meantime Arnold, Octane and many others came and blew MR and similar tech out of the atmosphere with a bazooka.

    Anyways, I just like to be realistic, and work with the tools I have now.
    Besides, I'm so much accustomed to waiting times on vfx that lightmass baking seems like a joke to me! I usually wait 20min to 2 hrs (depending on complexity) for just a frame

    Seems to me that a lot of people want "GI now!" just because it's looming on the horizon and it's way cooler than other stuff. I'd settle with better reflections and penumbra shadows with geometry area lights anytime, gi can be faked in so many ways.
    Ofcourse the workflow would be soooo much nicer with that, but you're not gonna use it on mobile now. 2-3 yrs maybe, not now.
    For now I'd worry about realtime shadows for instance. Or performance for those who can't use metal.
    Sorry, I might missunderstood you then^^ I was not talking about mobile I was talking about next gen games with large worlds (like what we are working on with Dead Island 2) And there, Lightmass just kills everything.

    Also, I was talking about you guys when I mentioned the power of the PC. Of course I have enough RAM at the office^^ But I would say that not everybody who uses Unreal 4 on the subscription right now has a machine as strong as the Devs at Epic. So thats why I said it. Also, our world is split up into multiple tiles etc...but nope, Lightmass still cant handle it. So I dont know what your example is based on (have you tried building a 10x10km landscape filled with tons interactive objects, breakable physicalized objects, houses that can fully be explored, millions of grass patches and thousands of trees and rocks and what not?). Mine is based on the fact we tried to build our game with Lightmass which was a complete failure. So of course I want something that makes this whole workflow just way more manageable and less unstable.

    And just to say something to what Inside mentioned...he is totally right! PBR breaks extremely fast if the lighting is not holding up to it, so that is something very crucial as well (and I would say that lighting and reflections belong so closely together that you cant split them up...at least not with PBR).

    Cheers!

  27. #27
    0
    People people, I know how fun it is to discuss about this topic, but
    lets try to keep this thread focused.
    Hijackers will be prosecuted!

  28. #28
    0
    Sorry man I opened up Pandora's box here.

    I'll copypaste some of the more relevant replies and open a thread in rendering, because it's still and interesting topic.
    Have a nice one!

  29. #29
    0
    Yeah...sorry^^ I just love talking about these things But you are completely right with what you were saying and my mouth shall be closed on this from now on Lets just talk about this cool AHR!

    Cheers

  30. #30
    0
    Great then! I'm in for a thread discussing all this. Where are you going to post it?

  31. #31
    0
    Here's a brand new rendering thread for you all: https://forums.unrealengine.com/showthread.php?45010-The-Ultimate-Rendering-Thread&p=151687#post151687

    Can't wait to see more of your magic, Ryan!

  32. #32
    0
    Quote Originally Posted by Jacky View Post
    Here's a brand new rendering thread for you all: https://forums.unrealengine.com/showthread.php?45010-The-Ultimate-Rendering-Thread&p=151687#post151687

    Can't wait to see more of your magic, Ryan!
    Great! Subscribed to that thread already .

  33. #33
    0
    Can anyone provide some guide about plugins? Maybe a tutorial? I want to get to know the plugin system before I start to code.

  34. #34
    0
    @RyanTorant, good to see that someone still is up to GI research! For me, it was always such a pain in <you-know-where> to see things like tesselation and destruction physics developing - instead of making real-time area GI, soft shadows with variable penumbra (*Although I've heard in 4.5 some dramatic changes are coming!), and shadow-casting light bounces.

    Keep up the good work, man!

  35. #35
    0
    Quote Originally Posted by RyanTorant View Post
    Can anyone provide some guide about plugins? Maybe a tutorial? I want to get to know the plugin system before I start to code.
    Get a hold of me next time I'm on Skype. I can help you out there, I've written a few plugins already.

  36. #36
    0
    Quote Originally Posted by Ehamloptiran View Post
    Get a hold of me next time I'm on Skype. I can help you out there, I've written a few plugins already.
    Talk to you later then

  37. #37
    0
    Quote Originally Posted by max.pareschi View Post
    Well, since even a PS4 has difficulties running any kind of GI scheme I think we could just forget about mobile GI for this generation.
    Seriously guys, forget about it please.
    Lightmass is more than fine even for the big games, it's just that people don't want to hustle over UVs and baking time.


    Cheers!
    Lol , I hope you are joking:

    http://www.dualshockers.com/2014/08/13/ps4-exclusive-the-tomorrow-children-uses-new-ray-tracing-tech-with-real-reflections-more-info-shared/

    http://www.dualshockers.com/2014/09/03/ps4-exclusive-the-tomorrow-children-shows-its-amazing-lighting-technology-with-new-wip-screenshots/

    @ RyanTorant Great work, I hope you make it work on PS4 (I doubt the Xbone can do it), and why not use the same procedure The tomorrow children used (if you know exactly what they used).
    Last edited by DarkInfiktrator; 09-26-2014 at 01:57 PM.

  38. #38
    0
    Sorry for the slow updates guys, but have mid term exams all along this week. Will be way more active next week

  39. #39
    0
    Limited applications, very narrow focus. The technique is very nice, but can only be made possible on very managed environments. It's not suitable for general purposes.
    You cannot use that NOW in open ended maps for instance. Applications would be best suited in somewhat enclosed spaces or in very sparsely populated scenes (as the game you linked)
    Search posts by DanielW and SVOGI to understand better about it, and why it's not currently possible in a general engine as UE4.
    Hopefully it will scale better on future hardware though, so it's not entirely without merits.

    In any case mods opened a thread for GI discussions, so let's talk about this over there!

    @RyanTorant
    I'm extatic to see new developments on this, even if it's not going to get realtime now it could be used to have previews in the viewport without building time and accurate lightmass simulation, and could very well become a path traced lightmapper replacing what we have now.
    A world without seams, oh god what a thing this would be.

  40. #40
    0
    Quote Originally Posted by max.pareschi View Post
    Limited applications, very narrow focus. The technique is very nice, but can only be made possible on very managed environments. It's not suitable for general purposes.
    You cannot use that NOW in open ended maps for instance. Applications would be best suited in somewhat enclosed spaces or in very sparsely populated scenes (as the game you linked)
    Search posts by DanielW and SVOGI to understand better about it, and why it's not currently possible in a general engine as UE4.
    Hopefully it will scale better on future hardware though, so it's not entirely without merits.
    It still will be better than LPV as it currently stands, So I would still love for this to be real-time for users with a rig that can handle it

Page 1 of 34 12311 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •