V1.8 to V2 SDK Changes 

We have modified the SDK for Ornatrix 2.0 to be more straight forward and intuitive. In the process we have also eliminated the need for static (or dynamic) linking by exposing only pure abstract interfaces to the user. If you have developed a tool using Ornatrix 1.8 SDK please use this guide to convert over to the new SDK.
If you need more information or assistance please contact us.
These are the changes:

  • New classes and structures are defined in Ephere::Plugins::Autodesk::Max::Ornatrix namespace
  • New pure virtual interfaces IHair and IGuides to be used instead of OrnaHair and OrnaGuides
    • HasRoots() renamed to HasPerStrandVertexCount()
    • OrnaHair::flags has been removed and boolean properties are used instead to represent individual flags. New getter/setter methods are available in IHair interface to set these flags individually. Flags are now mapped to properties in the following order:
      • OHF_INSTANCED -> UsesInstancedStrands
      • OHF_POLAR_INT -> UsesPolarInterpolation
      • OHF_TOPO_ORIENT -> UsesTopologyOrientation
      • OHF_GLOB_SEG_NUM -> UsesGlobalPerStrandVertexCount
      • OHF_NO_DISPLAY -> HiddenStrands
      • OHF_HIDE_BACKFACING  -> HideBackfacingStrands
      • OHF_USE_ROOT_TM -> UsesPerRootTransformations
      • OHF_USE_SURF_DEP -> KeepsSurfaceDependency
      • OHF_USE_GUIDE_DEP -> KeepsGuideDependency
      • OHF_USE_VERT_IND -> UsesVertexLookupTable
  • OrnaRoot class changed to struct StrandTopology
    • gid field renamed to startingVertexIndex
    • gnum field renamed to vertexCount
    • OrnaSurfDep renamed to SurfaceDependency
    • bary field renamed to barycentricCoordinate
  • OrnaGuideDep renamed to GuideDependency
    • cSR renamed to closestRootIndices
    • dSR renamed to closestRootDistances