Volumes ... attempt of another community project

malbrechtmalbrecht Fabric for Houdini Posts: 752 ✭✭✭


I started writing this a couple of times over the last weeks now and have always decided not to publish it, but since it keeps coming back to me, why not give it a go. The worst that can happen is: Nothing.

Since I do not know what "most" people use Fabric for - and the studios/clients I work for seem to not use Fabric that often any more (most of them being modo users) - I am not sure if ideas like this even make sense. Yet, I started using Houdini a lot, have written my first few VEX based tools and am now getting into rigging and animation (to replace modo for stability, performance, documentation, accessability, service and support reasons) - but although it works, I actually do prefer Fabric. It "feels" smoother, there aren't that many "hierarchies" or "contexts" to puzzle your mind around, connections (if you really have to use "visual" programming) just seem a bit more "logic" at times. And I don't have to worry about vertices versus points ;-)
So, as you know, I have done a little etude, writing a gas/smoke solver in Fabric (and, to visualize it better, a "scanline"-like mini-render-tool to show the gas). My question now is this:

Is there any interest in/from the community to colaborate on a "volume"-system for Fabric? What I mean by this is: Like with the "point"-entity, I would like to establish a fundamental "volume" entity that can deal with "content" like single float values (for densities, heat etc) or tripplets ("vectors" for velocity etc) and allows for easy interaction with e.g. points (to attach FLIP components). Volumes can also be used for physic simulations (by using SDF content), to some degree.

Thing is: If nobody is using Fabric for this kind of processing - e.g. because everyone's just using Houdini anyway - I don't want to do it "just for myself". I can hack my own FLIP-solver based on the simpleGas thing in a couple of hours, for fun. But I would like to see Fabric's "core features" to expand, and I am willing to invest time and energy into that, if there is some "need". Volumes (and particle systems, I am still willing to relaunch my approach there too) are "fundamental stuff", I think, just like "normal geometry".
Sure, for everything smoke-gas-fluid related one needs a RENDERER and this may or may not be a problem with current Fabric (which might change in the future). Although my scanline-like smoker-renderer works well enough to prove the concept, it can only output image sequences, and is not "plug-in" in any way.
So, for modo the volume "system" would not be of much help, since modo does not provide a flexible (enough) volume render system - but other render systems probably do.

Opinions? Feedback? Coop?


Marc Albrecht - marc-albrecht.de - does things.


  • scaronscaron Fabric for Houdini Posts: 171
    edited December 2016



    Build off of OpenVDB and you increase the chances people will use it. ie. Render/edit their Houdini volumes.

    I am dreaming of Houdini like editing of volumes in Canvas and now with Blocks you kinda have VEX per voxel like operations. Totally doable.

  • malbrechtmalbrecht Fabric for Houdini Posts: 752 ✭✭✭

    Thanks for the suggestion!

    I wasn't only going for something that "people would use", but also for something that both interests me from an "understanding point of view" AND would tie in community members into a discussion what is needed/wanted.
    Just glueing some ready made third party libraries just isn't what I am after.
    In theory, everone can do that (and I guess that most people in need of openVDB would get paid for doing it anyway *1 ). Plus ... I would expect something like openVDB to be on the Fabric guys todo-list anyway, so it smells like "academic" :)


    1 What I mean by that is this: If there is a "real* demand" for getting openVDB into Fabric, in my eyes this either is something for the official development line, i.e. on Fabric's agenda, or it is something the developer should get paid for, because people would make money from it.
    What I am looking for is something that we could learn from by creating it together and that we all could benefit from, because we understand how it works and can adjust it to our projects' needs.

    Marc Albrecht - marc-albrecht.de - does things.

  • scaronscaron Fabric for Houdini Posts: 171

    I wasn't suggesting just binding third party libraries and calling it done. You will need to make a generic system which understands Volumes as a first class citizen in Fabric Engine. Then you add support for OpenVDB. The project I linked to attempts to do some of that with extending the native Geometry type, which attempts to support SpatialQueries.

    Good luck. If your successful expect people to ask for the ability to load .vdb files into your system. :)

  • AlexanderMAlexanderM Posts: 132 ✭✭

    It is a pity that no one still can't add OpenVDB in FE. The user who started it abandoned the project

    Let's say NO to Autodesk®Fabric®

  • malbrechtmalbrecht Fabric for Houdini Posts: 752 ✭✭✭

    Guys, thanks for the feedback.

    I do understand that everyone only wants to get what he/she currently needs. My own interests are in "learning how things work", therefor integrating third party tools - and by that taking away jobs from people who should get paid for doing exactly that - isn't my priority. My idea here was to build something together, learn together, create a good solution that we understand and can extend to our own needs.
    A solution for business needs is something I definitely want to leave for projects that make a good buck from it. That could be Fabric Engine (the company) or some third party who can sell the wrapper code and KL extensions. After all, if someone is making money from using a tool, it's just fair to pay money for the tool.

    The user who started it abandoned the project

    And I fully understand that. Not that I know why he stopped his efforts, but personally I can imagine giving up if no feedback/support from the community pops up. Doing it all on your own and people just telling you what they expect you to provide is highly frustrating.

    Good luck.

    Don't worry. Without cooperation, I'll just do it for myself, so I don't have to meet anyone's expectations but my own ;)


    Marc Albrecht - marc-albrecht.de - does things.

  • scaronscaron Fabric for Houdini Posts: 171

    @AlexanderM said:
    It is a pity that no one still can't add OpenVDB in FE. The user who started it abandoned the project

    The project works, it's not finished but what he did works and it outlines how to extend it. Sure, he isn't actively working on it but that just means someone needs to pick up on it. I would love to do more with it and share but I my employer doesn't allow me to do this easily.

  • scaronscaron Fabric for Houdini Posts: 171
    edited December 2016

    Trust me, you aren't taking anyone's jobs away. If you build a successful open source project which people can leverage you're going to create MORE opportunity for employment. ie. Jobs to extend it, create more need for FE talent, and more sales of FE. Many developers who would contribute to your project probably can't anyways because of their employment restricts this. (This applies to me). Some companies aren't going to be able to use it cause of strict licensing issues, and will end up making it all over again anyways.

    The ideas inside OpenVDB are novel. You will inevitably cross those same hurdles, sparse volumetric data structure, levelset operations, etc. Fabio put the extension that out there so it would be useful to others, not because he was frustrated by people not giving any help. If you want to ignore all that and explore first principles that is completely your choice and I have nothing but respect for that. I am just a realist and hate to see work duplicated or discarded.

  • malbrechtmalbrecht Fabric for Houdini Posts: 752 ✭✭✭

    Thanks, Scaron. I sent you a message to keep this thread open for further discussion on the fundamental idea.

    Marc Albrecht - marc-albrecht.de - does things.

  • jfriedmanjfriedman Fabric for Houdini Posts: 81 ✭✭

    Hi @malbrecht,

    I've actually made some simple grids (before Fabio's OpenVDB extension was available). It was in order to blend and store attributes spatially for hair simulation. It might be possible to share some of this. It is indeed interesting to create this sort of thing from scratch. I have also once made some adaptive grid type stuff, though not in Fabric Engine. Like Steven I totally respect building this sort of thing yourself and wanting to do it. I might even contribute to such a project, however... I'd be much more interested in picking up where Fabio left off with OpenVDB.

    Without having looked carefully, I think there's almost definitely lots of really interesting work to be done there, way beyond just wrapping the library. The work would be building a full set of volume creation and manipulation tools, which might even include fluid simulation similar to what you've done already (which is awesome by the way). And like Steven says, I really don't see this taking anyone's job away. There's something similar at work here as Blinn's law, where the time spent not re-wrapping OpenVDB will be spent on other volume related tasks. In this case the other tasks will be more interesting and creative, so I don't see anyone losing out at all.

Sign In or Register to comment.