» Back to Documentation

 

OXH FILE IMPORT/EXPORT


Ornatrix carries its own independent file format for storing any arbitrary hair structure. OXH format has been developed to support all the information contained in a hair object. This information includes all the root data, channel data, and hair animation. There are two ways of representing OXH data: via binary serialization, or as ASCII text export.

In either case these files are formulated using the same format:


----------------------------------------------------------------
Standard storage format for .oxh files
----------------------------------------------------------------
* Header
+ "OXHF" ( char * 5 )
+ ASCII ( ULONG )
+ Version ( ULONG )
+ Flags ( DWORD )

* Hair info
+ numRoots ( ULONG )
+ numVerts ( ULONG )
+ numRData ( ULONG )
+ numVData ( ULONG )
+ numFrames ( int )
+ globSegNum ( int )

* Roots
- rootTopo ( OrnaExpRoot * numRoots )
- rootTM ( OrnaExpRootTM * numRoots)
- surfDep ( OrnaExpSurfDep * numRoots )
- guideDep ( OrnaExpGuideDep * numRoots )
- UV ( ( float * 2 ) * numRoots )

* Channels
- rootChanInfo ( OrnaExpChanInfo * numRData )
- rootData ( float * numRData * numRoots )
- vertChanInfo ( OrnaExpChanInfo * numVData )
- vertData ( float * numVData * numVerts )

* Frames (0..numFrames)
+ verts ( ( float * 3 ) * numVerts )
----------------------------------------------------------------
Data marked with "+" is mandatory
Data marked with "-" is optional
----------------------------------------------------------------

ULONG = unsigned long
DWORD = int32