MiLiAN GPU Simulation framework. Framework available, integration with Blender?

My impression has been that Ton does not support the idea of an API; he even addressed it directly in October at BCON. It didn’t sound like “good idea, but lots of work” - rather, “no, this is not what we want for Blender.”

Of course, I don’t know Ton personally nor work for Blender. So perhaps my impression is wrong; I do hope it is wrong.

1 Like

I’m not a spokesperson of the foundation, just a developer, but to me it always felt pretty intuitive as to why there isn’t a C++ API. The mission of the Blender Foundation:

“Get the world’s best 3D CG technology in the hands of artists as free/open source software.”

Now think about what a C++ API might bring to Blender. Maybe bigger studios might use Blender, maybe not. Maybe we’ll have new UV tools, new high-performance simulation tools, mesh-generating AI tech… but all sold under a commercial license. We’ll probably have to deal with a whole bunch more bugs. We’ll probably have to be more careful than ever about breaking the API. I think you get the idea. All of that doesn’t help the mission. The mission isn’t to create a marketplace for closed-source addons. The mission isn’t to spend time developing and maintaining an API that won’t help us accomplish the goal of “the freedom to create”.

TL;DR: IMO it’s unlikely we’ll have a C++ API because it’s a lot of work that does not align well with the mission.

17 Likes

So far, so good. Or not. I read through that post, but since it is literally years old, it may no longer be entirely representative? I understand the concerns regarding C vs C++ and platform compatibility / support, but I find no hard reason why this is “not going to happen”. Frankly, to me it smells like fear of too much work because:

  1. Old code base. You will find issues you do not want to find, and have to fix them first (or work around).
  2. Breaking old stuff in service of new exposed api to SDK. Not ideal, even more work.
  3. Too much to do already, just to keep the train going. Wherever it may go, it must go.
  4. Add-Ons will “most of the time” be an okay solution, so why bother.

If this is the essence of it and I am not missing anything, I would risk the statement that blender is not scalable enough to survive the next 10 years with this process, since others (like Houdini) are providing very attractive licensing models and will continue to do so, the more market share they gain (Houdini specifically).

But then again, I cannot know. Just a feeling.

And I also stumbled upon a few disappointed mac users :wink: Understandably so, but the question of “what do we want, why and how” seems to be very pressing already, without a stranger poking around.

Edit: another thought. Looking at the demos, tutorials and medium to larger scale use cases of blender (in blender context), it seems clear that blender is on a similar road as Maxon was or is: The desires of the user base are perhaps not evaluated enough against realistic outlooks and future technologies. Again, this is a feeling for now. It might just be my blender-rookie ignorance. I hope so.

1 Like

But what is “the best”? Is that not at the core of the issue? I am not the one to define that, but I must ask. Curiosity demands it!

Its not the “best” part you should be focusing about, but the part about getting it in the hands of artists for free. Yes C++ API will greatly expand Blenders capabilities, but if people who create c++ plugins are selling them to few who can afford, or simply not sharing, who’s benefiting from those capabilities? Is it getting in the “hands of the artists for free?”

1 Like

The people who purchase them benefit.

Just as when you pay for your lunch… who benefits? You, and the grocery store.

Or the computer, that someone bought to RUN the software. Did everyone get a free computer, or did both the buyer and seller benefit from the transaction?

1 Like

And do you get the impression that Blender is focused on people who are purchasing 3D softwares and plugins? Again, refer back to statement about the mission.

2 Likes

Nick, you asked, “who would benefit”. I answered the question, and the answer isn’t an opinion - it’s a factual result of paying for something, and getting what you bought. I’m sure you have bought SOMETHING in your life. And felt that it was a benefit. I’m sure you have sold your time to someone, and they paid for your time, because they wanted a benefit.

I plainly stated earlier that I believe a C++ API isn’t coming, due to Ton’s feelings on open source and the mission. Please don’t re-frame my answer into an argument that I’m not making.

1 Like

Well, thanks then, seems like interesting contribution to conversation!

1 Like

I do for free what I can afford. Focus on free means “don’t ask too many questions, it is free”. I do not support that sentiment. I also do not believe that the existence of a C++ api or any SDK is inherently tied to expensive plugins or an ecosystem where blender is “less free”. Makes no sense to me. Coding takes time, developing any complex product is a risk .

To stay on topic, the question about “best” was a serious one, but I realize this may not be the right place. After all, this threads headline is a different one. I asked because I can read a mission statement, yet not understand the mission in detail, as the statement is in fact vague, considering the times.

If I could finance development all through patreon or similar, then I would probably not care about selling licenses. But can I? Should I? Am I not selling all the same, just differently? I get your idea about free blender + free extensions, but at some point, contributions must be respected as what they are: Work. And if we want “the best” work, all the time, we must at least consider to make it easier or pay for it. As does the blender foundation, so no problem there.

Edit:
Your point about “who blender is focused on” is actually part of what I am after, it may help to understand. If you care to elaborate your point of view, please do.

5 Likes

UVPackmaster would be a good thing to look into. It’s a paid, proprietary C++ engine with a free open-source Numpy bridge into Blender. They have tens of thousands of customers, there’s a large market (myself included) that is willing to pay a lot of money for good Blender plugins

3 Likes

On that point, while I don’t own it, I would have thought that the Flip Fluids addon at it’s core is C++ and the result just gets feed back into Blender via Python?

I mean all of that simulation would be slow as hell if the whole thing was being done just using Python and the standard Blender API, wouldn’t it?

That is indeed the case!

@ Anthony_Gibbs:
Who said otherwise? Perhaps I should ask the developers of the FLIP addon for advice or experience …

Couldn’t hurt to ask. May well provide some insight and answers to your questions.

On the other side, unless your goal is to make a stack of cash with a competing product, then maybe even a collaboration on enhancing and speeding up an existing fluid simulation addon is an option.

Sure, that could be interesting.

I am not sure where this conversation is going. To me it sounds more of request to solve some issues in Blender to allow integration of a thrid-party tool as a plugin.
If that’s the case, I think we need to stop right here.
If you’re actually looking into contributing improvements to Blender we need to take few steps back.

5 Likes

I am not asking to resolve issues, I am asking where experienced devs see them. I am not feeling your idea in my text or questions so hopefully, this response clears it up. On your point of few steps back: Where to?

It is quite a vague question, and is kind of against of how you typically approach software development.
You don’t start with trying to preemptively find solutions for the most complex scene you could possibly imagine. You start somewhere, with the most important things being: the system is integarted into the right place, and right data-structures used. And you go from there. You build a system, and then progressively re-iterate solving actual bottlenecks and making the system handle more and more complex scenarios.

1 Like

I found my questions very specific. I will rephrase them, if it makes sense at this point. Of course I will not be specific as to ask “what does function XYZ in the python api do under the hood”. Too early for that.

Since I already built “the system”, the question is no longer one of basics such as data structures and/or general design or engineering on my side. This thread is all about blender and its abilities wrt. interfacing with outside code, versus going all in and modifying its core. I understand your approach to development. I simply elect to ask questions before starting “somewhere”. This comes from experience. Unchecked assumptions or the wrong questions asked will usually blow up in your face sooner or later.

I do not want to start with wrong assumptions, ergo have experienced people check them. I am doing my R&D regardless, this thread is literally an attempt to speed things up and perhaps (such as the comment about hair and cloth) figure out more pressing demands in the community.

2 Likes