DDGI first look
HTML-код
- Опубликовано: 30 сен 2024
- A short video of DDGI (Dynamic Diffuse Global Illumination) in the pica-pica scene. DDGI solves diffuse global illumination by ray tracing from probe locations. It handles dynamic emissive objects, particle systems, transparent objects. Hardware accelerated ray tracing GPU is recommended, but it can use software raytracing as well.
We have reached the point where i can no longer imediately recognize what kind of gi is used from the dozends of acronyms. We truly live in the future.
Great work.
The madlad actually did it. Now a perfect complimentary technique to this would be to use Signed Distance Field Tracing for reflections maybe ?
This uses ray tracing, so I don't see how signed distance field would compliment it well. There are already many reflection techniques in the engine, so I am not looking to add one more atm.
@@specialisthun Yes, there are already a bunch of techniques in the engine, however as far as I know none that either don't have the limitation of reflection probes (inaccuracy, static nature) or require dedicated raytracing hardware. SDF based tracing, similar to what Unreal is doing with Lumen, only has as its major limitation that the detail of objects in reflections are lower than the full meshes.
we have gotten so far as a social glob that even global illumination has an identity crisis.
0:45 - light leaking is visible. I suppose this is because you use simple light probe fetch from regular grid. How do you plan to fix such artifacts?
Leaking is not completely eliminated by DDGI, but improved compared to old school probe GI.
I want to try some things next:
1) improve regular grid placement by automatically searching for better probe locations (keeping more distance from walls).
2) surfels will get priority to probes if surfel gi is also enabled, but can fall back to probes
3) use probes only for secondary bounce, while using per pixel traces or surfels for primary.
It seems this technique is good for moving non-illuminating objects and bad for moving lights, right? That latency is very unrealistic when you move the light source. Excellent work on implementing btw.
The parameters could be tweaked to reduce lag but increase ray count per probe, but it will quickly become much heavier on performance.
@@specialisthun hmm so it is a tradeoff, for high performance there will be the lag. Anyways it looks very cool and lights with trailing particles would look amazing. From the comments I learned lumen also uses the same model, do you know about cryengine's dynamic gi implementation (how would you compare?)
To achieve this are shadow maps required, or does DDGI handle that aswell?
DDGI only handles indirect illumination. Shadow map is for direct light so they are independent. You can also choose raytraced shadow instead of shadow map.
hi,bro,why my test my fire particle not emmit ddgi out?i use the neweast version of wickedengine
I don't know it works for me. Make sure you use emissive material for the particle.
which is second
Does this do anything for reflections?
This is mainly for diffuse, but reflections (for example raytraced reflections, or envprobes) will also pick up the diffuse GI that this generates.
@@specialisthun I keep thinking I want to use your engine. I think 3 things are holding me back. Nanite, blueprint visual scripting, and user interface. In order of importance to me.
@@ThatTechGuy123 Sounds like you want to use Unreal 5 instead.
@@specialisthun yes. Waiting for them to figure out how to do large worlds with thier ocean plugin though. Right now the limit is a 1km x 1km landscape. Also doesn't support multiple landscapes. For now I'm just making assets and getting ready to build the world for my project.
Is this basically what lumen is? Kinda seems like lumen when you move the objects and it takes a little for the lighting to catch up
Lumen builds on top of this technique. There is a multi resolution probe field in lumen and also a lot other things.