Accessing Hair Rendering Information 

 

Rendering Information 

When rendering Ornatrix hair extra information such as it's thickness at various points is required. Ornatrix SDK contains a set of interfaces designed to bring you this additional information.

 

IHairRenderingPropertiesContainer 

IHairRenderingPropertiesContainer is an interface (found in IHairRenderingPropertiesContainer.h) which provides rendering properties for a hair object per-group. Because a hair object can have strands in different groups (for example, if propagation modifier is used "stem" strands can be on group 0 while "branch" strands can be in group "1") it is important to access these properties by their group.

To access this interface use:

auto props = static_cast<IHairRenderingPropertiesContainer*>( hairObject->GetInterface( IHairRenderingPropertiesContainerInterfaceID ) );

You can then use HairRenderingProperties(...) method to access rendering properties on per-group level. If an invalid index (or default parameter) is passed you will get the default render properties (applicable to all groups).

 

IHairRenderingProperties 

Each IHairRenderingProperties interface allows you to access render properties of hair strands such as thickness of strands. To get the final width for a strand you need to pre-multiply the global width value with value extracted from Texmap, and value extracted from ICurve along the strand length.