# Vertex buffer morph order

Hi guys,

Trying to build a morpher that can morph between few meshs(like blendshape in maya). The thing that tackle me is that i’m restricted to the order of the input morph order,and can’t morph, for example between the first and the last, or add two morphs together. Idealy was to have a base in which all inputs can blend with it. Quiet sure i’m missing something basic or had to use a different methode. Any suggestion will be very helpfull.

Shaul

MorphOrder.zip (2.1 MB)

hei shual,

i am describing the thing you want to do here:
http://joreg.ath.cx/imago/makingof_programming.html

not to detailed…but the “additive synthesis” is what you need.
so you compute the difference from every pose to the base. think of this difference as a directional vector. adding this to the base you get the pose, right? now note that you can scale this vector and also add multiple of those vectors (to different poses) to the base at the same time. see?

Thanks a lot, joreg.
The project is very interesting, total deconstraction of the human face…
I had to test what you suggested to understand, and after messing with it, came out with something that works pretty nice, although i’m not sure it is the right way you meant, because it seems that the last input has greater impact than the first.
anyway, thanks! it is already a good progress.

MorphOrder.zip (115.4 kB)

not sure whats happening there but not what i described…

what you should do:

• take the each shapeXYZ and subtract the baseXYZ from it.
• this gives you a directional vector from base to each shape
• scale each of those vectors using a simple multiplication
• take the base and add all those scaled vectors.
voila.

ahh, yes… i didn’t understand what you meant by difference, and i sticked to the input morphs.
hope now i got it right. So actualy it is just subtructing, multiplying and adding again. how simple! and the multiplying can lead to endless other forms.
thanks!