Hello Ventuzians!
THE FORUMS ARE CLOSED!

Please join our discord server HERE!! << click me :D

We are shutting our Ventuz Forum, but don't worry, it will all be archived for you to search in if you have a query. From now on, please add all your comments, questions or observations into our Discord Server

Thanks for the great time - see you on discord!!
Dee, Karol, Daniel and the whoooole Product and Support team!

MDD Support

Post requests for new features to this forum group. Any suggestion to expand the possibilities of Ventuz are welcome.

Moderator: Support

Post Reply
joschy
Posts: 142
Joined: 19 Jan 2012, 07:39
Location: Düsseldorf, Germany
Contact:

MDD Support

Post by joschy » 08 Mar 2017, 16:42

Hello,
I know that the handling of 3d meshes is not a main focus for Ventuz now, but here I want to place a feature request for handeling 3D animations inside of Ventuz. The current solution with obj sequences is a little bit painfull.
May be someone also remember the nice MDD file format for point cache animations introduced by lightwave. All major 3D applications support this format. May be this also a solution for Ventuz to get ride off the OBJ sequences.
I have made a zip file with sample data for evaluation, there is a obj mesh with the according MDD file for deformation.
https://1drv.ms/u/s!ApVWCYY-TPrk6eYFItPIHhJD1-S1IA

NewTek's proprietary LightWave .MDD cache format

*****************************************************

*** MDD file format ***

The MDD file format is very simple and here is a brief description for TD's and developers who are interested in adding tools to a pipeline built around MDD.

The first thing to note is that the MDD file format is Motorola Big Endian byte order as opposed to the Intel Little Endian standard. So however you implement the structure below, you must come up with an
algorithm to flip the bytes during file IO.


The data structure is like so:

typedef Struct{

int totalframes;

int totalPoints;

float *Times; //time for each frame

float **points[3];

}mddstruct;



and the data is written like so:


totalframes

totalPoints

Times

while(!totalframes)

{

while(!totalPoints)

{

write point[frame][point][axis];

point++;

}

frame++;

}

*******************************************************************

thank's
3DJo - [Ventuz] freelancer and trainer

Post Reply