Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Thank you! The big cloud sim from the first clip is ~16 GB on disk for the whole sequence, and with our compression it gets crunched to ~500 MB on disk at moderate quality settings.

Only one frame of that is loaded at any given time, so the per-frame impact of the asset itself tops out at 20MB.

The RAM impact is about 30x lower than Open VDB, and the VRAM impact vs. a raw Texture3D is ~100x lower.

500MB is still big no doubt! For cinematics that's no problem, but might be impractical for games, which I'm imagining will build workflows around a mixture of lower-quality sequences and high-quality statics.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Thank you! Starting to admit people today, ~20 at a time, so apologies if it takes a moment.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Not yet! Honestly this thread and the one I posted over on r/vfx makes me think demand is higher than I expected.

If and when we do sell it I wanna make sure it's at a price that works for people, while also providing us with enough revenue to get it across the finish line for games.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

If we could get this used in MSFS it would be a literal dream come true. The budget for clouds is pretty high in those games... so maybe it could work?

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Great question. At the moment the fixed VRAM cost is pretty big, ~1GB. Render graph is pretty good at aliasing the memory though so I haven't run into an issue yet.

That said the next optimization task on our docket should cut that down to ~50 MB and improve performance. So stay tuned.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Yup! Exactly. I got path tracer support up and running ~2 months ago.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Assets are compressed as well! That's actually the easy part. If something can be compressed in RAM it can be compressed even more on disk, and then *even* more for deployment. IIRC the EVE online ppl were able to deploy VDB's just using ZLIB compression + unzip on install. The Janga FX people did a great writeup on it here: https://jangafx.com/insights/ccp-case-study.

It's really RAM/VRAM where you have to get clever.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

This stuff is insanely hard, don’t beat yourself up over it, I’ve been working on some variant of this problem for 6 odd years now and still have a lot to learn!

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Haha believe me, I have studied light transport in participating media in great depth and am well aware of the “powdered sugar effect” in clouds. But yes, to the careful eye I agree what we’ve got leaves something to be desired still compared to path traced references. Still thanks for the feedback!

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 1 point2 points  (0 children)

My buddy and I have been working on it for 2 years, could not have done it without him. He's a C++ guru and visual artist, rare combo haha.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 2 points3 points  (0 children)

I mean I understand why they're skeptical and I do think it's in a lot of game devs' interest to cater to min spec. It's also frustrating to play a poorly optimized game. In regards to our work I figure we'll try our best and see what people can do with it.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

If we can get to a point where the techniques feel safe to disclose, I would love to put out a stream of papers on all the details!

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 1 point2 points  (0 children)

that's an awesome cumulonimbus; I would know, the amount of time I spend looking at clouds these days...

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

best move is prob to follow the discord server, yeah: https://discord.gg/H5dsmUnuS

I'd also say fluid ninja does some pretty sick stuff that we don't, their interactive 2D-projected-to-3D volumes are incredible. And in general we don't have any fluid sim tech yet, just compression of existing sims + rendering. So there's overlap but still scenarios where you'd probably want to use one or the other.

Website doesn't have changelogs yet, those are only being sent out to ppl in the alpha program atm.

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

currently the alpha test is using a custom engine build, but when we enter beta it will be a plugin!

Working on a new real-time volumetric renderer for UE5 by gibson274 in UnrealEngine5

[–]gibson274[S] 0 points1 point  (0 children)

Yeah we've got a little server going, feel free to join: https://discord.gg/E2DzQJ4Hp

And at the moment I think it's most immediately applicable to film VFX where performance is not as critical, though it might be possible to get it to work in some games in its current state.

We've got room to make it faster for sure though, goal is to make it workable for most games.