I've been working on a simple, standalone VDB writer for #EmberGen that does not depend on OpenVDB or any of its dependencies. In this article I go through how it works and show how one could build a simple VDB writer from scratch:
https://t.co/F1RNrlw1uA
On this day 2 years ago I posted a tweet on what would eventually become a sparse version of EmberGen, which had already been in development for 3 years
A retrospective🧵on the journey so far:
A new interesting collision test case for #EmberGen 1.1.
Inspired by a support request by a user on our Discord server, where the old collisions definitely wouldn't cut it on this crazy mesh and corresponding animation :D
Bone transform information will be available for controlling other nodes in one of our next EmberGen patches. Here's an example of parenting a line force and an emitter to a character!
First collision prototype in sparse #EmberGen
Going to prototype this in the sparse version, and eventually backport for EmberGen 1.1 or somesuch, due to superior debugging capabilities while developing.
Currently not fast, nor efficient, nor flexible, but functional.
Experimenting with importing VDB files in sparse #EmberGen 2.0
The 5 VDB files are single-frame exports from some EmberGen 1.0 presets, effectively "resuming" the sim in the new sparse EmberGen.
2K video: https://t.co/lT0oRcUbEJ
A common optimization to real-time fluid simulations in computer graphics is to use a "Multigrid" algorithm to acceleration the solver.
This process is often fraught with pitfalls, and there are few references on the expected result.
This aims to serve as one such reference.
due to me calling odin a F tier language and brainfuck a dogwater tier language, the creator of Odin will come on my channel and showcase how great odin really is
i am ackshually pretty pumped
Summary of recent improved collision experiments in #EmberGen
Now uses pressure based colliders rather than the simpler force-based ones. They now respect the incompressibility constraint of the pressure solver, which makes all the difference.
Improved the floor collision even more for #EmberGen 1.0, now adding some much needed friction, effectively making it a no-slip boundary. The free-slip condition used before tended to be unstable in certain setup, and gave the smoke an unnatural "sliding" motion along the floor.
@Pjbomb2@vassvik Indeed, I haven't discussed compression in the article, but if you're up for it you can try to figure it out from the OpenVDB source code :)
This is where the leaf data is read, so maybe it's a good starting point?
https://t.co/7cM8ivPR8r
It's been a while, though :)
Pretty clouds!
Got a custom basic OpenVDB parser working in unity so I can turn these into my own format, huge thanks thanks to here: https://t.co/qMiiIroSSt
Unfortunately, its running at 16 fps while tracing at 1/4 res(of 1080p)...
Fixed the last outstanding bug with my new and improved indirect lighting prototype in sparse #EmberGen. No more artifacts and blockiness anymore.
Just need to make it fast now that I know it's correct. Should inherently become faster than the earlier approach as well.