User Tag List

Page 3 of 34 FirstFirst 1234513 ... LastLast
Results 81 to 120 of 1346

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

  1. #81
    0
    Quick update.
    I worked all the weekend, but made progress. Got most of the core classes working, and some of the shaders too. It's starting to come together

  2. #82
    0
    Quote Originally Posted by RyanTorant View Post
    Quick update.
    I worked all the weekend, but made progress. Got most of the core classes working, and some of the shaders too. It's starting to come together
    Awesome! So looking forward to playing around with this

  3. #83
    0
    Quote Originally Posted by RyanTorant View Post
    Quick update.
    I worked all the weekend, but made progress. Got most of the core classes working, and some of the shaders too. It's starting to come together
    Great to hear! Really looking forward to see more.

  4. #84

  5. #85
    0
    Nvidia released their useless Apollo tech demo: http://blogs.nvidia.com/blog/2014/11/11/maxwell-apollo-demo/
    http://www.nvidia.com/coolstuff/demos#!/apollo-11


    It needs at leats a GTX 970 to run while I have a GTX 660M -_-.While the tomorrow children uses much better tech with ray traced voxel cones with 3 light bounces and in 16 directions per voxel while this nvidia tech only has one bounce. ALso tomorrow children has 3 types of AA and the list of the awesome features is long (I gave you links before) and this a game not just a demo. Morever PS4 is not a GTX 980. A good way for Nvidia to sell their overpriced cards that only 2 customers will buy and a good way to deprive us from using any type of dynamic GI . I don't blame epic though, they are good devs. RyanTorant, the ball is in your camp now. You are the only and last savior.

  6. #86
    0
    Samaritan
    Join Date
    May 2014
    Posts
    130
    Quote Originally Posted by PLASTICA-MAN View Post
    Nvidia released their useless Apollo tech demo: http://blogs.nvidia.com/blog/2014/11/11/maxwell-apollo-demo/
    http://www.nvidia.com/coolstuff/demos#!/apollo-11


    It needs at leats a GTX 970 to run while I have a GTX 660M -_-.While the tomorrow children uses much better tech with ray traced voxel cones with 3 light bounces and in 16 directions per voxel while this nvidia tech only has one bounce. ALso tomorrow children has 3 types of AA and the list of the awesome features is long (I gave you links before) and this a game not just a demo. Morever PS4 is not a GTX 980. A good way for Nvidia to sell their overpriced cards that only 2 customers will buy and a good way to deprive us from using any type of dynamic GI . I don't blame epic though, they are good devs. RyanTorant, the ball is in your camp now. You are the only and last savior.
    I'm not sure what they're trying to achieve with their VXGI work - if they are seriously going to stick with their 'Maxwell only' line then no one will ever use it for games. You would always need to have a fallback to Lightmass for AMD / non-Maxwell users which are going to be about 98% of your playerbase, and for that 2% the extra work doesn't seem worth it. And it won't be supported on consoles because PS4 and Xbone are AMD APU's.

  7. #87
    0
    I'm gonna sounds like a total old fart, but I remember when we had to set up our bounces by hand even in non-realtime renders and then wait overnight to see if the single frame turned out how we hoped. MAN, we've come a long way baby
    Trevor Lee
    State Machine Studio
    @StateMachines

  8. #88
    0
    Don't be so fast at judging Nvidia for the Apollo tech demo. People have said the same thing every new GPU generation, that stuff like this is useless because only one manufacturer or model supports it. Then 1-2 generations later, everyone uses it. This is R&D for new hardware to show the potential for the future, not necessarily what we're going to use at this exact minute.

  9. #89
    0
    Quote Originally Posted by RyanTorant View Post
    I'm not sure really, as the few demos I tested about Voxel cone tracing where slower than AHR, sometimes AHR running even twice as fast. It might have to do with the way tracing works, using a binary grid to do the tracing. On the perfect case( a ray going on a straight Voxel line up) each sample loads 32 voxels
    Hm.Excuse my noobness. I was thinking along the lines that you can shoot spheres in cone, and just using single cone trace gather all voxels it touches. So for example single sphere can gather 64 voxels in sphere of influence while line will be always limited to gathering things only in line.

    That being said you would probabal want more cone traces in more or less the same direction to gather more accurate information to average diffuse bounce (though diffuse doesn't need to be terribly accurate).

    Or it doesn't work this way ?
    https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

  10. #90
    0
    Quote Originally Posted by iniside View Post
    Hm.Excuse my noobness. I was thinking along the lines that you can shoot spheres in cone, and just using single cone trace gather all voxels it touches. So for example single sphere can gather 64 voxels in sphere of influence while line will be always limited to gathering things only in line.

    That being said you would probabal want more cone traces in more or less the same direction to gather more accurate information to average diffuse bounce (though diffuse doesn't need to be terribly accurate).

    Or it doesn't work this way ?
    The "gather" part is the problem. Loading the data from the memory (aka sampling the voxels) is what takes most of the time, and even if you change the shape of the sampling, you still need to load the data at some point. Sadly it doesn't work like you said, or maybe I'm misinterpreting you.

    BTW, the forums seems to have unsubscribed my from the thread for some reason. **** computers
    I just wanted to say I'm still working on this, and I'm getting there, but I'm about to start the exams period at college and that goes until 20 of December, give or take a few days, so progress will be slow for a while.

    Oh BTW, I wanted to talk a bit about memory usage.
    For a single 512x512x512 voxel grid, wich is what I'm using now, the memory usage is 16 MB. To that you need to add the memory of a RSM per light, but that's not usually taken into account when talking about voxel-based GI algorithms, so I think it's ok to talk about just 16 MB of memory usage.
    That's not taking into account emissive materials.
    A quick breakdown will be like this:

    - Just AO : Only the Binary Voxel Grid, so 512*512*512*4/32 bytes = 16 MB
    - AO + GI: Binary Voxel Grid : 16 MB + RSM ( Depth + 32 bits per pixel buffer). About 32 MB on my demo, so looking at 48 MB total
    - AO + GI + 16 Emissive materials : 16 MB + RSM + 512*512*512*4/8 = 64 MB. So a total of 112 MB
    - AO + GI + 256 Emissive materials : 16 MB + RSM + 512*512*512*4/4 = 128 MB. A total of 176 MB

    When I implement cascaded voxel grids, the memory will probably be kept at the same 16 MB, maybe 32 MB in the worst case
    Last edited by RyanTorant; 11-16-2014 at 05:56 PM.

  11. #91
    0
    Quote Originally Posted by PLASTICA-MAN View Post
    ...RyanTorant, the ball is in your camp now. You are the only and last savior.
    I have just one thing to say:
    Last edited by RyanTorant; 11-16-2014 at 06:54 PM.

  12. #92
    0
    Hey Ryan, I got another question.

    I know your technique is based on ray tracing, so does it have the same benefits too? For example, ray tracing is suppose to scale well when you throw more polygons at it (something rasterization can't do). Epic mentioned in one of their livestreams, having ray traced shadows didn't require processing polygons (it only calculates the cascades around the mesh).


    Also, can your ray tracing be used at very high resolutions? Like for example, if I wanted to make a game run in 4k, would there be a bigger performance penalty than if it was 1080p?
    Last edited by JordanN; 11-16-2014 at 07:26 PM.

  13. #93
    0
    Quote Originally Posted by JordanN View Post
    Hey Ryan, I got another question.

    I know your technique is based on ray tracing, so does it have the same benefits too? For example, ray tracing is suppose to scale well when you throw more polygons at it (something rasterization can't do).


    Also, can your ray tracing be used at very very high resolutions? Like for example, if I wanted to make a game to run in 4k, would there be a bigger performance penalty than if it was 1080p?
    Well, the answer is the classic "it depends".
    Let me breakdown a bit your question.

    My technique has, as most raytracers, two stages. One to build the acceleration structures (voxelization in my case) and another to do the tracing.
    Only the first stage is dependent on the geometry, and is linear in the number of primitives and triangles per primitives. Then the raytracing stage is constant on the scene geometry.
    Complexity scales linearly to the number of pixels to be traced, so in 4K you get 4 times less performance. Keep in mind that the tracing is done on a half resolution buffer.
    I get about 12 FPS down from 52, almost exactly 4 times slower, on a high quality preset with my GTX 750 Ti at 4K. But you won't game at 4K with a 750 Ti...
    Later I plan to divide the voxelization in a bunch of diferent stages, so that only the things that really need to be voxelized get voxelized. For now it sends everything every frame.

    EDIT: Considering that at 4K the GI buffer ends up at 1080p, wich is quite overkill, you could trace at quarter resolution when rendering at 4K, and you should get the same performance that running at 1080p
    Last edited by RyanTorant; 11-16-2014 at 07:33 PM.

  14. #94
    0
    RyanTorant, this looks fantastic any update for us?

  15. #95
    0
    Quote Originally Posted by Voodoo View Post
    RyanTorant, this looks fantastic any update for us?
    Sadly no, i have 5 exams due to next week, so I haven't had a lot of time to work on this. Still, the two main parts left for a working-alpha-ish wibbly wobbly implementation are the voxelization shaders and the RSM.
    Sorry for not having a lot of news

  16. #96
    0
    No Probs totally understand and good luck with your exams!

  17. #97
    0
    Quote Originally Posted by Voodoo View Post
    No Probs totally understand and good luck with your exams!
    Don't worry about his exams, if he can create such things that even devs coudln't do, then he must be a real genius

  18. #98
    0
    Quote Originally Posted by PLASTICA-MAN View Post
    Don't worry about his exams, if he can create such things that even devs coudln't do, then he must be a real genius
    > be me
    > be studing 24/7
    > read this comment
    > my face be like

    Name:  1786023.jpg
Views: 2183
Size:  51.5 KB

    Thanks man

  19. #99
    0
    Quote Originally Posted by RyanTorant View Post
    > be me
    > be studing 24/7
    > read this comment
    > my face be like

    Name:  1786023.jpg
Views: 2183
Size:  51.5 KB

    Thanks man
    lol chuckled

  20. #100
    0
    Quote Originally Posted by RyanTorant View Post
    > be me
    > be studing 24/7
    > read this comment
    > my face be like

    Name:  1786023.jpg
Views: 2183
Size:  51.5 KB

    Thanks man
    Good luck

  21. #101
    0
    Just wanted to say I'm still alive around here. Have 3 exams on the next 3 days, but will be free after friday, so might have some updates over the weekend. For now, just wait

  22. #102
    0
    We are ready


  23. #103
    0
    I hope you have more luck with your exams than I do >.>
    But I am really excited to see some progress

  24. #104
    0
    Good luck again! 4.6 is released and has Static Lighting from Emissive Materials now. I am impatient how your integration will deal with the dyanmic lighting and emissive materials. Epic is going the right path with this and your work is even going better and faster.

  25. #105
    0
    Luminary
    Join Date
    Mar 2014
    Posts
    1,671
    I want this now

  26. #106
    0
    Well people, I finished (most) of my exams! Got one more on the 20 of December, but I can start to dedicate some time to this. After that, I will work 24/7 on this. Got a question. Does anyone knows a method to update to the new engine release, without going manually and copying the changes file by file? I tried this from here : https://forums.unrealengine.com/showthread.php?49550-How-to-Upgrade-your-Github-Engine-to-the-Newly-Released-Engine-Version&p=164341#post164341 , but it didn't work ( or I did it wrong...).
    Any ideas?

  27. #107
    0
    Hey Ryan, you can update your project to the latest version of the engine by first launching the latest version of the engine from the UE4 main splash screen (the one with the link to the Marketplace and Library).

    On the left side of the main splash page just select the latest version of the engine from the big yellow drop down then click it to launch - Once it's launched you will see all of the projects, those which are on older builds will be greyed out. Just click on one of them then click OPEN and it will ask you if you want to convert the project in it's place or make a duplicate for the update which i recommend.

    This will copy and convert all of the files to the new build.

  28. #108
    0
    Quote Originally Posted by CharlestonS View Post
    Hey Ryan, you can update your project to the latest version of the engine by first launching the latest version of the engine from the UE4 main splash screen (the one with the link to the Marketplace and Library).

    On the left side of the main splash page just select the latest version of the engine from the big yellow drop down then click it to launch - Once it's launched you will see all of the projects, those which are on older builds will be greyed out. Just click on one of them then click OPEN and it will ask you if you want to convert the project in it's place or make a duplicate for the update which i recommend.

    This will copy and convert all of the files to the new build.
    Sorry, I wasn't clear enough. I mean updating the source code, and keeping the changes I made

  29. #109
    0
    Ahh, ok, sorry, i have no experience with the Source Code yet so i couldn't be of any help with that.

    Quote Originally Posted by RyanTorant View Post
    Sorry, I wasn't clear enough. I mean updating the source code, and keeping the changes I made

  30. #110
    0
    What branch are you working on? Usually I find that things work the best when I have some new feature branch that's derived from master. Then when I need to update my code for updates or because I'm about to put out a pull request it's a simple matter of telling git to pull the latest changes from master into my local master branch, and merging those changes into my local feature branch. If the automatic merge succeeds (which it usually does) everything will be fine and dandy. Of course you have to have committed your changes onto the local feature branch first.

    Or, in git commands:

    Code:
    [featurebranch +0 ~0 -0]$ git pull origin master
    [featurebranch +0 ~0 -0]$ git merge master
    It should just work if have the repository set up right and if Epic hasn't pushed anything that conflicts with your code. If you have the repository set up wrong you might have to do some merging by hand to get things working. As you get more used to Git, you'll have to do less of this sort of thing.

    If you have this pushed on Github somewhere I'd definitely be interested in taking a look at it. My laptop definitely won't be able to run this, but my desktop probably can.

  31. #111

  32. #112
    0
    Promoter
    Join Date
    Aug 2014
    Posts
    269
    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.

    @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!
    My levels are randomly generated on the fly so Lightmass isn't an option. Some real time GI would be great. I wonder whatever happened to that SVOGI thing they used to have. Was it just too intense to run well?

  33. #113
    0
    Quote Originally Posted by JedTheKrampus View Post
    What branch are you working on? Usually I find that things work the best when I have some new feature branch that's derived from master. Then when I need to update my code for updates or because I'm about to put out a pull request it's a simple matter of telling git to pull the latest changes from master into my local master branch, and merging those changes into my local feature branch. If the automatic merge succeeds (which it usually does) everything will be fine and dandy. Of course you have to have committed your changes onto the local feature branch first.

    Or, in git commands:

    Code:
    [featurebranch +0 ~0 -0]$ git pull origin master
    [featurebranch +0 ~0 -0]$ git merge master
    It should just work if have the repository set up right and if Epic hasn't pushed anything that conflicts with your code. If you have the repository set up wrong you might have to do some merging by hand to get things working. As you get more used to Git, you'll have to do less of this sort of thing.

    If you have this pushed on Github somewhere I'd definitely be interested in taking a look at it. My laptop definitely won't be able to run this, but my desktop probably can.
    I have been working on a branch I created inside my own private fork of the engine. Will this still work? Can you explain a bit more? I'm a noob when it comes to github

    EDIT: I'm also checking this out : https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/ . What would be the idea, create a patch for the 4.6 changes or for my own code?
    EDIT 2: A strange thing I'm seeing is that the 4.6 branch doesn't appears on my fork. Do I need to do something special to get it?
    Last edited by RyanTorant; 12-08-2014 at 08:37 PM.

  34. #114
    0
    They changed the branch structure, there will be no 4.6 branch, its now in the release branch using a tag marking where the different released versions are in the history.

    Im really not good at it, but maybe it hints you where to look or how to do it.

    Oh and there is a free book about git.

    http://git-scm.com/book/en

    I'd go with a merge. Rebasing is another possibility.

    http://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

    git checkout -b local-4.6-testmerge // create a new branch so you can destroy everything and start over if its beyond repair
    git merge release // try merging in all changes to the engine since you started working till top of the release branch, what is 4.6

    Then you are going to solve all the merge conflicts that probably come up. Look in the book above it how thats done. When that is done, you execute Setup.bat to download the new dependencies and then you try to build your new engine. Id guess now you are getting build errors because the APIs changed, so resolve them too.

    If that all succeeded and your engine behaves and runs, you can checkout the original feature branch you probably created to develop, merge in the branch created above and delete the temporary one. Or just continue to use this branch for development.
    Last edited by Mikand79; 12-08-2014 at 09:25 PM.

  35. #115
    0
    Quote Originally Posted by RyanTorant View Post
    I'm also checking this out : https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/ . What would be the idea, create a patch for the 4.6 changes or for my own code?
    The idea is following:
    — you create separate branch in your fork based on release branch (let's call it ahr-release-4.6)
    — then you work as usual in that branch
    — if Epic makes a release you check it out to ahr-release-4.6.1, create a patch out of your ahr-release-4.6 branch (which will contain only your own commits) and try to apply it to that branch to see if there's any conflicts or problems you have to solve. If there's none or you successfully found solutions for them you just close your ahr-release-4.6 and work on 4.6.1 (or you can even delete your old 4.6 and rename new one to it).

    The patch will not take any epic commits, just the files you've edited. This will make you be sure that your work is like overlapping current release branch. Simple merging new changes into your working branch is risky. Epic are not collaborating with you, they do their changes without any knowledge about yours.

    Patch way is the best option, imho.
    Tim S.
    Familio Games

  36. #116
    0
    Resolving merge conflicts is the semiautomated way of resolving the errors that would occur when applying the patch manually. If one uses git merge or git rebase it will retain ones commit history.

    Though I agree its risky in that it's not fun at all and can be quite uneasy and might need more then one attempt..
    Last edited by Mikand79; 12-09-2014 at 10:30 AM.

  37. #117
    0
    Veteran
    Join Date
    Jul 2014
    Posts
    333
    Will be praying for your success.

    Goodluck and godspeed mate !

  38. #118
    0
    Well, I think I got the idea of the patchs working, at least on a test repo. Now, when I go to my fork of the UE, I see I only have master and 4.x branches, no release or promoted. Any idea on that? Do I need to do some kind of re-forking? Man, learning github will take more time that integrating AHR, I'm sure of that...

  39. #119
    0
    No need for refork. You can create release branch by yourself and checkout Epic's upstream/release to that branch.

    Here's how it's done: http://stackoverflow.com/questions/4410091/github-import-upstream-branch-into-fork

    Of course first you should make sure that you have upstream remote added:

    D:\Tim\UE4\UnrealEngine [release]> git remote -v
    origin https://github.com/FamilioDevel/UnrealEngine.git (fetch)
    origin https://github.com/FamilioDevel/UnrealEngine.git (push)
    upstream https://github.com/EpicGames/UnrealEngine.git (fetch)
    upstream https://github.com/EpicGames/UnrealEngine.git (push)


    If you don't you should add it by command:

    git remote add upstream https://github.com/EpicGames/UnrealEngine.git
    Last edited by TimGS; 12-09-2014 at 08:44 PM.
    Tim S.
    Familio Games

  40. #120
    0
    Quote Originally Posted by TimGS View Post
    No need for refork. You can create release branch by yourself and checkout Epic's upstream/release to that branch.

    Here's how it's done: http://stackoverflow.com/questions/4410091/github-import-upstream-branch-into-fork

    Of course first you should make sure that you have upstream remote added:

    D:\Tim\UE4\UnrealEngine [release]> git remote -v
    origin https://github.com/FamilioDevel/UnrealEngine.git (fetch)
    origin https://github.com/FamilioDevel/UnrealEngine.git (push)
    upstream https://github.com/EpicGames/UnrealEngine.git (fetch)
    upstream https://github.com/EpicGames/UnrealEngine.git (push)


    If you don't you should add it by command:

    git remote add upstream https://github.com/EpicGames/UnrealEngine.git
    Thanks! I'll try this.
    Anyway, I have the feeling my repo is gonna die tonight...

Page 3 of 34 FirstFirst 1234513 ... 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
  •