Hey! Great to see you again around here. I’ve been mostly inactive myself too, but that should change soon (actually, i’m going to the beach for the next two weeks, but after that it’s on!)
Been designing some quite big performance improvements, specially to the tracing side, by tracing only on the important pixels and then reconstructing. Think I could get away with tracing 1/10 of the pixels (from half res) without having much visual impact.
Hope to have more soon
stuff is still totally ! Considering using it for something in the future, but I have a question or two.
In our design, there are two separated ‘modes’ - an RTS-style top-down view of large areas with lots of units, and an indoor, walk-around-my-command-ship type deal. We’d need to be using AHR only in the latter mode, and having nothing from it active in the other. I haven’t had a to go through the source, but is it capable of being switched on and off in way? The interior would essentially be ‘paused’ when in the top-down view, so nothing should really be rendered or calculated there, if possible. If it helps, it would be in a totally different area/level, since it’s at a different scale and all.
Also, do you know of any recent videos demonstrating AHR? Would be great as something to share around.
Keep up the good work!
Not sure how you are handling the render change, but there’s a cvar called r.ApproximateHybridRaytracing that disables ahr. When disabling it from the engine ini (setting it at 0), ahr is not even initialized, so it mostly works like the “vanilla” version. If the engine started without AHR enabled, enabling it at runtime can cause crashes. But, if you start with AHR, disabling it later by setting the cvar to 0 doesn’t causes problems, and as it doesnt release any objects, it just “pauses” AHR, you could disable it for the top-down view, and re-enable it for the other view.
Not sure if it’ll work straight away, but think that’s the way to do it.
About videos, sadly no, I haven’t had much time to make new videos.
Hey, just wanted to say I’m back!
Working on some performance improvements, that I also hope will allow me to push quality further. Will keep you people updated.
Does mean I need to update again ? LOL I am going to burn my CPU to dust lol.
Not yet, not yet…
I have been following thread for quite some time, i am looking forward to what you show us for your performance improvements!
Sadly, it will take a bit more than expected. Turned out that the changes I’ve been working on haven’t improved performance by much. Will keep looking into it though, but like I said, it’ll take some more time.
Can you integrate multibounce in the AHR module? I noticed that only 1 bounce is used. It would increase the quality very much. At the moment I am working with VXGI. Multibounce gives me fantastic results in interiors…
On VXGI, multiple bounces are relativity straightforward to implement, but for AHR I require to add a specific pass for that. Overall, it’s doable, but need to get around and do it, and in a way that I keep the performance hit on check.
TL;DR: I’ll implement it eventually ;D
Can you tell where to see some screenshots for your interiors done with VXGI…!!?
That’s ok im still here to support you, is a great project.
Sorry for the lack of updates people, worked the past month in performance updates, yet they turned out to be a failure, so they are on the backburner for now.
Also I’m currently working on a few freelance projects, and with university started again i don’t have a lot of time.
Nevertheless, I’m working now on some tweaks to the blur code, to improve quality and hopefully performance. I’m also playing with the idea of using something like LPV to propagate the voxel information, and have multiple bounces way.
So, will try to have some more news soon
PS: Another thing that could be really helpful and I’m not taking advantage off is temporal filtering, so that’s another thing to play with. Probably something along the lines of alternating the rays on each frame, to “duplicate” the number of rays at the same cost
Keep pushing Torant, youre amazing
What you’re doing looks absolutely amazing! Just keep up the good work, we’ll patiently wait for it.
Hey I’ve been using AHR a lot more as of recently, and after messing around with it for a while I’m starting to get a grip on how to use it effectively. That being said, I’m noticing that I have to put the indirect intensity for spotlights at 10 or higher to get a good amount of diffuse GI, but directional lights give good results with indirect intensity at 1. Is a bug, or am I doing something wrong?
Really? I would love to see what you are working on!. Regarding the intensity question, spot lights use physically correct units for intensity (lumens) but directional lights don’t (that’s an engine thing, not mine) so it needs different multipliers.
Thanks for the help! I don’t have anything to show at the moment, but when I do I’ll post it here!
One more question. On the spotlights, since they are physically accurate, does the indirect intensity still act as a multiplier, or does it actually specify the intensity of bounce lighting in lumens? (ex. Indirect intensity of 50 would mean bounced light has an intensity of 50 lumens)
Yes and no. For spot lights illumination is computed correctly(using the same function as the direct lighting). After that, its multiplied by the indirect intensity and that’s stored. For true pbr, the multiplier should always be one, and the indirect intensity determined solely by light intensity(in lumens), surface properties, angle and distance to the light. The problem is that the attenuation function when tracing indirect its not physically correct(manly because a direct lights and a few range problems).
Will try to get physically correct attenuation (and temporal filtering) working week.
Hope I’ve answer your question, if not ask again