Open Mesh Effect branch (prev. Houdini Engine modifier for Blender)

The process regarding parameters is the following:

  1. The Describe action is called, listing the parameters
  2. The RNA/UI is built with a widget for each parameter
  3. The Instance is created
  4. Parameters are copied from UI to instance
  5. Effect is cooked

So it is important that the default values of parameters is known at step 2. OpenFX provides a mechanism for this, with the kOfxParamPropDefault property.

OfxPropertySetHandle paramProps;
parameterSuite->paramDefine(parameters, kOfxParamTypeInteger, "Width", &paramProps);
propertySuite->propSetInt(paramProps, kOfxParamPropDefault, 0, 15);

That being said, I havn’t implemented it yet. So you can either open an issue so that I remember (I can do it quickly) or give it a shot, I think it is an easy fix. It has to do around openmesheffect/blender/intern/mfxModifier.c#L452.

Will this ever come in add-on form?

@shotalot It cannot, this goes beyond what is possible with an add-on, which is why it is a branch!

Understandable! I use Houdini here at work I’ll start testing it out with some of our HDA’s and see how it handles them :slight_smile:

I havn’t released the Houdini part yet, I wait for it to be mature enough to prevent early deception. At the moment the most advanced plugin around is MfxVCG.

Wrote another example of Open Mesh Effect plug-in: MfxRemoveDoubles, a modifier that is (kind of*) equivalent to calling the remove doubles operator.


*I say “kind of” because I reimplemented it, I don’t know if the algorithm is the same.


I know that a lot of people will ask for this in the master branch.


PD: Your remove doubles appear to be a better implementation of the remove doubles. Because blender “Merge by distance” do a strange artifacts, select one of the vertex merged and merge the rest to this, instead of use the center of all vertex. Also it doesn’t give us a symmetry mesh when it must to give.

PD2: Did you think in to ask for a branch in to make easy test your branch

1 Like

I would say, could you make a patch of this for blender directly?


1 Like

@Alberto What you describe is exactly what my implementation does too ^^ I don’t take the average position, I only keep the point with the lower index, because I assume that it is used with very small threshold, and it takes more computation/memory to consolidate the average positions.

@Wazou I could, when/if I wind the time to do so. It is a quite easy modifier to write because it would have to just call the remove doubles function already implemented in Blender. If you want to give it a shot you can follow my tutorial for writing modifiers:


I think the reason the first patch for this feature was rejected was because it was basically a bmesh operator in the modifier. See this topic:

Also see this topic: Hurdles to implementing Merge modifier?

The great thing about OpenMeshEffects is that anyone can write any effect for mesh data- even if it doesn’t meet Blender’s strict code review standards. That way, anyone can hack together a quick solution, share it, etc. Of course they can also make a really nice solution, or polish the quick hack into a nice solution. The point is that it enables a more lenient development process because it isn’t managed by someone else, while still providing an easy way of sharing the modifiers you create.


@Elie I have a question regarding this branch.

Just to have it clear, right now is it fully GPL compliant? I don’t want to argue against it or anything, I just want to know if there are odds that this could be implemented at some point in master, and for that it should be crystal clear GPL compliant.

I really LOVE this project :slight_smile:


Check the branch licensing ;), or the end of the


Thanks Daniel.

But that does not answer the question, I know the code is GPL, the question is, is everything needed and everything that comes into play is GPL compliant?

At the beginning there was some issues with the Houdini part of the equation, I think @Elie worked to eliminate that part and make everything fully GPL compliant, so I want to confirm this status as of today. :slight_smile:

1 Like

Hi @JuanGea and @dgsantana,

There were indeed licencing issues at the early beginning of this story, but it has been solutionned since mid-july:

This is what led to the draft of what is now called Open Mesh Effect. The originally violating release has been completly removed: Releases · eliemichel/HoudiniEngineForBlender · GitHub

Glad you love the project! :slight_smile:


Not being a legal expert here, but the compiled code (from outside) running on the ofx modifier doesn’t “know” blender, doesn’t use any blender interface, it just respects a possible standard, with known call points, so the license they use shouldn’t be a problem, but that is may take.


AWesome! :slight_smile:

@dgsantana thanks :slight_smile: I just wanted to confirm it with @Elie , I hope this gets implemented in master :smiley:


@Elie what’s the status of this project, it was super interesting, could be awesome to have it in master :slight_smile:

I agree. This is a very good idea that I’d love to see widely adopted, like OpenFX is for 2D compositing effects.


Hey @JuanGea @Josephbburg and the others, I just published an important update:

It is getting more stable, and I am starting to settle down on the Open Mesh Effect API, which now gets a dedicated documentation website:


Are the main devs okay with merging in main build ?