DEFINITIONS Following terms are frequently used throughout this documentation. Backlighting - An effect where hair is placed between a camera and a source of light. Denser hair blocks part of light rays while, due to its translucency, sparse hair allows light through. Braiding - the process of manipulating two or more guides into a canonical pattern that evolves around an imaginary braid stem. Read more about braiding in Ornatrix here. Brush - A brush in Ornatrix is a real-time interface that allows user to indirectly manipulate hair guides through user mouse input. Channel - data attached to Ornatrix objects that allows the storage of extra information of any type. Cluster knot - An internal Ornatrix structure that (when used in arrays) controls the shape and form of clusters along a hair strand. Cluster stem - An imaginary (sometimes guide-based) strand that is used to pull surrounding hair towards it to form a cluster. Dataset - A structure that is designed to carry data from one location to another. Dataset is a general term used to describe a collection of any type of data. Dependency graph - A term used to describe a system of nodes connected to each other via dependency/reference links. This tree is structured in such a way that multiple nodes can affect another node. Ornatrix only uses acyclic guide-hair dependency relationship. Guide - A basic strand structure used for defining shape of dense hair. Hair dependency branch - Hair is usually made dependent on guides that created it. For animation and modeling purposes it is desirable that hair inherits its form from guides. Even guides can depend on a form of some other guides. This structure of inter-dependent strands is called the hair dependency branch. Hair cluster - a group of hair held together by some force. Hair often tend to form clusters after movement due to static charges. Hair shader - a light scattering model designed specifically to work with hair. Although Ornatrix hair shaders can be just as well used on objects they're designed for optimal performance on hair. One of the main distinctions is that object normals point away from the surface while hair tangents always point in the direction of shaded segment. Hair state - You may hear the term 'hair state' used often in this documentation. There are three main hair states: guide hair, dense hair, and strands (for more info on guide and dense hair look here). Some modifiers only accept guide or dense hair. This is done for a reason- guide hair carry more information (such as selection, freeze, and hide info) than dense hair. However there are some plugins which don't care about which state the hair is on (guide or dense). These modifiers accept the strand state, which is a sub-state of both guide and dense hair. Therefore both guides and dense hair can be converted to strands, but not the other way around. Hair tangent - every hair strand consists of a finite number of segments that approximate it. Often it is required to retrieve the tangential vector along some point of the strand. Tangent is basically the direction of flow of a strand at a specific point. Occlusion - occlusion generally refers to the blocking of light through direct or indirect means. In Ornatrix, term occlusion is used to combine object-hair, hair-object, and self-shadowing algorithms into one category. Therefore occlusion means complete interaction of hair and light that falls on it. Parting - A division of hair into separate groups of direction. In Ornatrix partings are used to separate two distinct hair flows. Rasterization - taking a geometric dataset and converting it to a bitmap dataset (consisting of pixels). Rasterization is generally done through scan conversion. Root - A structure used to uniquely define the position and orientation of a hair strand. Every strand in a dense or a sparse hair model must have a unique root. There are two types of roots in Ornatrix- roots relative to object and roots relative to surface. Roots relative to object contain information about their location in object space. These roots will not deform and will only change their orientation as the object does. Roots relative to surface contain information about their location on a surface will deform with the object. Scan conversion - The process of taking a vector-based structure (such as a polygon or a line), projecting it into screen coordinates, and breaking it up into rasters (integer horizontal lines). Then a single loop can very quickly fill in the spaces between horizontal lines thus 'drawing' the structure to screen. Segment - A segment is a primitive structure that Ornatrix uses to deal with hair. A segment usually consists of two points (vertices) forming a finite line defined by these points. Internally a hair strand is represented by an array of linked segments, each segment sharing a point of next and previous segment. Self-shadowing - The phenomena of hair strands casting shadows onto themselves. Shader - also known as phase function. A shader is an algorithm that given input lights, surface property, and camera information, completely describes the scattering of light at a given sample position in space. Shaders are used to convert irradiance functions into radiance usually in form of RGB pixel color. Sinks - virtual structures in space that are used to visualize points where vector fields exhibit their cusps. These points usually appear to 'suck in' or repel everything around them. For example, in surface comb modifier sinks are used to display where the hair is being repelled or attracted. State converter - a plugin that converts an Ornatrix object from one state to another. For example, converting mesh to guides, or guide to hair, or hair to rasters. Strand - A strand is a virtual curve representing a single hair consisting of a rigid linked list of hair segments. The word virtual means that its structure doesn't always uniquely define its final shape. For example, a strand can start out with two segments, then get modified to contain 12 segments, and in final render its structure can contain 50 segments and change from frame to frame. Strand approximation - Hair strands in nature are true curves with microscopic follicle structure. This structure is extremely hard to reproduce on a computer, and therefore it is approximated by using linked segments (see definition of strand). Strand approximation is a term used to describe how well these segments represent their true curvature. Usually the more segments you have- the better the approximation and the longer the computational times. Ornatrix doesn't guarantee that strands will retain the same approximation throughout its pipeline. For example, one can start out with 2-segments, and end up with hundreds of them during rendering. Ornatrix uses Bezier approximation of 3'rd degree to switch between lower and higher detail. Strand transform - Any transformation occurring in the canonical space formed by strand. It is generally safe to assume that anything happening in strand space will 'flow' with the strand along its length from root to tip. Tangent - A vector that is parallel to a specified point on a surface or a curve. Tangent can be looked at as a pencil of vectors perpendicular to a surface normal. Translucent - By definition synonymous to clear, lucid. In computer graphics translucency usually is a property of objects diffusing light through volume, not just reflecting it. Therefore any translucent object will reflect light, but also let it pass through it and onto other objects behind it. |