NuGrafs renderer incorporates a powerful texture mapping
mechanism that allows each shading parameter to be modulated by the output of a 2d bitmap
or 3D procedural texture map. In addition, this mechanism allows for an unlimited number
of textures to be layered on top of each other with complete control over mixing, alpha
channel usage and compositing. By utilizing this texture mapping mechanism Okinos
"NuGraf" program has the unique ability to completely emulate
the texture mapping sub-systems of such high-end rendering programs such as 3DS MAX® ,
Lightwave® , SoftImage® , Maya®, trueSpace® and others.
In a simplistic texture mapping program the RGB (red, green and
blue) color components of a 2d bitmap image (the "texture") is used to change
the surface color of an object. At every location on an objects surface the shading
algorithm determines a corresponding location within the 2d bitmap image, retrieves its
RGB color value at that location in the bitmap image then places that RGB color on the
objects surface. NuGraf, however, provides a much more flexible texture mapping
system. Rather than just allowing an objects surface color to be changed by a bitmap
texture, NuGraf allows 12 different shading parameters to be modified
("modulated") by a bitmap texture for each texture layer. This is illustrated in
the following diagram:
Thus, a bitmap image can be used to change ("modulate") a
surface's various colors, its bumpiness, its opacities (the inverse of transparency) and
the intensity of the various surface colors. These 12 texture "modulation"
methods allow complex materials to be created using simple layering of texture images.
In addition, the texture mapping mechanism allows for "texture layering" in
which one or more texture maps can be used to modulate a material's various shading
parameters. For example, layer # 1 could modulate the material color and opacity using a
rock bitmap whereas layer # 2 could modulate the material's bumpiness using a concrete
bitmap. Complete control is also provided over how one layer's output is mixed with the
next layer's output; mixing can be controlled by a texture's alpha channel, by its RGB
intensity or by an absolute value.
This texture layering capability is illustrated by the following screen snapshot of the
"Texture Layer Editor" from Okino's "NuGraf"
product. The texture layer editor allows a 2D or 3D texture map to be associated with one
or more layers and each layer can have one or more different modulation methods enabled.
In addition, the 'Mix # 1' and 'Mix # 2' sliders shown below control how one layer's
modulation effect is to be mixed in with the previous layer's modulation effect. For more
advanced effects the 'Edit' button can be pressed to display more sub-parameters that
allow for alpha-channel compositing, color component weighting and numerical control over
the texture layering process. All of this functionality is available to developers via the
NuGraf Toolkit.