 The framework for both fluid and smoke simulations. Which one of you has used the fluid simulation in Blender at least once? Okay, and who did use the smoke simulation at least once? Who thinks it would be cool if fluid and smoke simulation were one and the same in Blender Unified? Okay, I see. Who did use Maya at least once? The simulation tools in Maya? Okay, because if I recall correctly in Maya, fluid and smoke simulation is integrated into one tool, right? Okay, so, good. Let me first tell you a little bit about the history of this project. This mantra flow was developed by a person named Niels, and he's the developer who developed both the fluid simulation in Blender and the smoke simulation. And now he created a framework that can be used standalone and it's mainly for research purposes, but he would really like to see it integrated into Blender. Unfortunately, Niels cannot be here today, and that's why I'm here to fill his position. And me myself, I also want this to be integrated into Blender, and there are a few reasons for this, and I will show you the first reason now. And that is, take a look at the current smoke simulation in Blender, and we might encounter some issues with it. So these are demos I created of the current smoke simulation and stuff. Okay, let me see whether you can see it or you can hardly see anything. Can somebody turn down the light, please? Turn down the light, because I actually wanted to show a little bit about small details in here. It seems like, can somebody please turn down the light, or maybe let me just tell you what you should see here, and that is, especially on the part on the top left corner, there are hardly any details in the smoke. And so there was a thread on Blender artists about this, and it was by somebody who wanted people to rate the simulation on a scale from 1 to 10. And if you look at this, how much points would you give it? Just show me with your hands, like 5 or 7. So unfortunately, I know you cannot see a lot, but I see most people give it at least 5, between 5 and 8. Some people even 9. That's nice, because on Blender artists, the person gave it, great. He gave it 5 points because of the lack of details in the simulation, and I see you cannot see anything. Okay, let me just switch over to the next slide, because here, this was also in the demo, here we get a lot of details on the surface. The question is, why do we have details here, but in this shot? And let me tell you what the reason is. The reason for this was, in this shot, I had to use a very high resolution for the base simulation, because down here, where the glass is, the interaction only with obstacles only works right when you have a very high base resolution. And the Blender smoke simulation also has a tool to crank up the resolution by adding artificial detail. That is what I used here, but it comes with a penalty on the usage of RAM. So for both simulations, I maxed out the RAM on my workstation, but because I couldn't use as much high resolution here, the smoke looks like kind of dull, but I get the interaction with the glass. So this is actually a very common problem in smoke simulation, and very common problem if you use it, because it only can have a low base resolution and you have to add details somehow. This is for example how other companies are adding detail to their simulations. They are basically mapping textures on top of the simulation and the texture is mapped to the flow. Like you can see it here in the middle, all the small details in here, they are not in the actual simulation, they are added as a texture that is mapped to the flow coordinates of their smoke. This is pretty cool, you get it in Fumifix for example, but this is actually not what I'm talking about here, it's just to tell you that this problem is persistent and many people have tried to find different solutions. And the solution by Nils is actually the following and his idea that is in Mantaflow is to add detail only to the surface of the smoke and thus save computation time and save on RAM. And if you don't really get any idea about this by just looking at these four images, don't worry, I also have the entire video demonstration he used for SIGGRAPH. So this is a demonstration about these techniques about the so-called vortex feed. What you see here is basically it's like the smoke simulation, but it has a measure integrated Mantaflow. So this is a demo drive in Mantaflow and it has a measure, so you only see the surface. They did it because you can see the details they will add later on better. Personally, I already think that this would be pretty cool to have a possibility to mesh the surface of a smoke simulation like you do it with a fluid one. Just imagine the, like for example, in the tornado they want to create for Gooseberry. I guess this would look pretty cool to just use the surface of a simulation and not the volume rendering because they have this very water-like tornado they want to create. And the idea is also, hopefully you get the idea that they are adding details just on the surface. This is now a version where details are added everywhere and on the right where the details are only added at the surface where they are meaningful. So it gets a little better, the quality gets higher and also you use less RAM, higher quality and it just looks better and Mantaflow has a few other cool things. Okay, let's just watch the demo again and then let's move on. This is actually a standard scene that's used quite often for papers when papers want to present something like fluid or smoke simulations they usually use this scene. You might have noticed at the beginning where the smoke comes out of the ale that there is like a boundary and that was because the resolution was so low. It was a really low resolution simulation and all the fine details were added by the Water Street method. And yeah, I guess we've seen enough. Okay, so this is one thing and there are a few other things I'd really like to see in Blender for the smoke simulation which we have unfortunately not yet here because Mantaflow isn't integrated yet totally and that is so-called vortex particles. You see it on the left. Is anyone familiar with the concept of these vortex particles? Basically, it's the idea that you have a particle and it will induce this curled emotion into the smoke at the place where the particle is and this is actually a very nice feature because usually the smoke simulation is just not high resolution enough to capture things like flow over the surface and when the smoke reaches the edge for example there should be electricity but due to our low resolution it usually isn't and with these vortex particles you could just at the edge create an emitter for particles and it will create the vortex particles and you will have a curled emotion of the smoke after it has reached the edge, for example. That's something I really need because once I had to cancel a job and tell the blender can do this I would need vortex particles for it and I also told them that they should look for a Houdini guy because Houdini has this and then the Houdini guy got the job, did it well and yeah, that's one of the reasons I would really like to see this in Blender and these warthorns are actually pretty common and they are already in Mantaflow in the middle you see vortex filaments and they are used to create things like smoke rings they are not in there yet they are still in development but I talked with the developers and they are actually trying to add those so there's more in store I guess most of you won't laugh to see the last part the Balas bullet points because like doing things on a graphics card really fasten everything I know there is at least one person here who would love to do two dimensional simulations is it right? yeah, Mantaflow can do simulations in 2D and in 3D, pretty cool and yeah I cannot say much about the fluid simulation part because the integration work started with the smoke part the only thing I can say for sure for fluid simulations that we can have multiple domains if it's integrated like there for smoke now and now let me just do a small life demonstration because Mantaflow is actually a framework that is yeah, it's standalone usually let me try to actually do this on the big screen simple preview basically for Mantaflow you have Python files that define your scene and then you can see the simulation in a very special kind of view so if you take a look at this let me make it bigger and once again you hardly see anything because you have all those small it looks like dots here and those are actually small vectors so you see the vectors and you can skip through it because this is just a plane that's cutting through the simulation and this way you can actually take a look and analyze for example if there's something wrong with your simulation you can look at the vectors and see whether there are any problems in it and this is actually the very same way that Houdini is working in this case so if you're working with Houdini you can also have the option to take a look at your smoke simulation and we'll use like a plane cut through it take a look at all the motion vectors and all the vectors that are defining the curl and everything so this is actually pretty cool and the developer told me that Mantaflow is getting integrated into Blender you might also get this kind of analyzing tools directly in the viewport for our simulation switch I would really love to see and now let me demonstrate the integration of Mantaflow into Blender because this is something actually that it works since yesterday evening that's why I cannot, unfortunately I cannot show you much but it's really actually working without too many big problems on Linux since yesterday evening so the developer worked hard and he worked hard up until the last minute this was totally cool so basically I got a simulation saved here it supports at the moment the idea is to create an integration that is like working exactly like this smoke simulation in Blender is doing now so what has been integrated is Mantaflow and you see below after you select the domain just Mantaflow settings if you turn on this then you will be using Mantaflow and the idea is to get a normal integration first that is integrated like the normal smoke simulation and then add the additional features that means at the moment we don't really have any additional features except for the noise settings down here which will just induce noise into your simulation and I'm not sure whether solver resolution is working actually so I'm not going to demo this and in the end you have some smoke so this is the current state of the integration it supports collision objects and it supports force fields and I will start to do some test renderings and some benchmarks because this is what I wanted to present here and it wouldn't work out but yesterday evening I did a few benchmarks and it's still a little slower than the current implementation in Blender but the idea is to get it at least the same speed up to the same speed and then add additional features we get from Manta and then let's see where this is going because the developers of the original Manta want this as well and I want this and probably a few other users of the simulation tools in Blender who also want Manta and why would this be good both for the developers of Manta and for us well the developers they're from academia they're now working in academia he had been working for scan by visual effects but he's now in Switzerland ETH Susich as a professor and he's using the framework for research like a lot of other people are doing this for research and of course they would like to get a nice possibility to do visualizations with it to visualize the research with easy-editing objects and nice render in the back end so they would be very happy and we as users could be happy as well because yeah there is a lot of cool features in there and this is something that's really used in academia so if they're adding new features like it will always be on bleeding edge cutting edge research so this way Blender would be probably the first package to get all the new crazy new features so we would be at the forefront not lagging behind okay so this is all I have to show you and I wanted to show you are there any questions you say this is being developed in a university I work in a university academic software is notoriously unreliable and shoddy and is designed just to get the next academic paper out how confident are you in the quality of the code that's being produced basically the the fluid simulation we have in Blender right now by Niels is also an academic code it was developed in the university and it integrated into Blender using a Google server of codes the quality of the tool is at least the same quality as the current simulation we have also the smoke simulation the base was also an academic paper by Niels and so he's actually trying to get a nice software engineering so it's easily extendable so people can do actual research with the framework what you showed in Blender was a real-time calculation of the smoke actually it was pre-baked but it's actually pretty fast I can create a new scene if you want to and demo the speed it's right no no it was just a question maybe up there there's a chance to have it really real-time and also it's portable real-time so that it can be used in simulations actually not this kind of simulation also not for the big visual effects houses it's no way real-time for real-time things you would need a different kind of architecture like there was a nice paper by some guy from Intel who would totally fake the appearance of viscosity and vorticity by using just particles and this was really speedy but this quality and this kind of fluid and smoke simulation real-time no how physically correct is the simulation is it only pleasant or is it physically correct like in the FDS simulator for example like the original Nebius-Dokes equations the base simulation is physically correct all the other things you've seen are tricks to add detail because the problem with the physical correct part is that you would need a tremendous resolution that you couldn't ever compute and that's why all the stuff that you see all the eye candy is not physically correct it's meant to be like cheating to get results that are looking like they are physically correct and this is actually where most of the research in regards to fluid and smoke simulation is going on at the moment so this is less a question and more some kind to get some influence into this I guess there are lots of people doing these kinds of simulations like I don't know with different software like OpenFoam and I have no idea whatever exists and it might be nice if you could have some common interfaces to do this kind of stuff if we want to if you're already developing this with a new engine so that actually you can plug in your own pre-calculated mesh because there are standard formats for that in computational fluid dynamics to do this so that one can do results simulation with another software tool and can get it into blender yeah actually I couldn't really hear most of it but I guess so what I really wanted to ask this if we could have some common interfaces to do this kind of simulations because I mean I guess there are lots of people who do computational fluid dynamics and who would like to do their simulations or at least to visualize them in blender and right now well we have the blender internal smoke and no one actually knew how to plug his own smoke engine into it and right now you're porting it to a new engine so it would be nice that we would have some kind of common interfaces to do this kind of stuff yeah that's what I think as well questions so what's happening with OpenVDB and if it has anything to do if it's Mantaflow or the old simulation or it's just container format and also the second question is the mesh remesh is that something we will see integrated to or is it only the smoke algorithm actually the thing that it is porting the meshes is something that would be totally integrated into a blender because this is actually like the fluid simulation at the moment it's working it has a simulation under a hood and then it's doing a meshing and if it integrated Mantaflow we would also get the meshing of the simulation like in the video and in regards to OpenVDB OpenVDB is a general library for volumetric data that also has a few nice features like compositing with volumes and everything and that should also be integrated in blender in my opinion the guys from Dreamworks who developed OpenVDB they told me that they are eager to help if there was a blender developer who would integrate OpenVDB but OpenVDB is so big that we really need to give the good design on how to integrate it because I guess from the way they designed it it's actually meant for a software that is completely node based from the ground up like Koudini and to get it into blender we really need to find a good design for the integration and OpenVDB is actually just a storage format for volumetric data and I guess the simulation might if they incorporate OpenVDB they might get a quicker simulation probably because they get look up cells faster or so but I don't think there is any actual plans for them to directly support OpenVDB I actually know the people who developed at OpenVDB because we worked together at Digital Domain and then he went to Dreamworks but one thing I think with the question before one thing Koudini is doing very well is the interaction imagine I throw a ball against like a cloth and then it interacts with the cloth simulation then it's dropping down into a piece of water then it's interacting with the fluid I think what they did very well in Koudini is like thinking about different kinds of engines and how they can interact and I think that's if you are planning to do this with a blender you should do the same thing that you have like with bullet you have a collision detection system and stuff like that all this stuff should be in the framework which can interact with each other without knowing you know the fluid guy might not know about the collision detection stuff and so on and it's a very tricky business to do that right that's actually one of the targets for Gooseberry to get a unified physics somewhat from what I've heard so I guess the talk is over