Displacement mapped polygons are at first triangulated as ordinary polygons. The initial triangulation is then further subdivided according to the specified approximation criteria. The parametric technique subdivides each triangle a given number of times. All the other techniques take the displacement into account. The length criterion, for example, limits the size of the edges of the triangles of the displaced polygons and ensures that at least all features of this size are resolved. As the displaced surface is not known analytically, the distance criterion compares the displacements of the vertices of a triangle with each other. The criterion is fulfilled only if they differ by less than the given threshold. Subdivision is finest in areas where the displacement changes. The angle criterion limits the angle under which two triangles meet in an edge contained in the triangulation. Subdivision stops as soon as the given criterion or combination of them is satisfied or the maximum subdivision level is reached. This does not preclude the possibility that at an even finer scale new details may show up which would again violate the approximation criteria.
mental ray supports rendering subdivision surfaces natively, and handles displacement mapping on subdivision surface as part of the tessellation to the limit surface. If detailed displacement on a smooth polygon mesh is the primary goal then the ccmesh primitive should be used for its superior performance.
For displacement mapped free-form surfaces approximation techniques can be specified either on the underlying geometric surface or for the surface resulting from the displacement. If one wants to control the approximation from the geometric surface, the most suitable technique for use with displacement mapping on free-from surfaces is usually the view dependent uniform spatial subdivision technique, which allows specification of triangle size in raster space.
In addition to or even instead of specifying the subdivision criteria for the base surface, they can be given for the displaced surface itself. This approximation statement works exactly the same way as for polygons, i.e. an initial tessellation is subdivided until the criteria on the displaced surface are met.
The final type of map is an environment map. This is a color-mapped virtual sphere of usually infinite radius which surrounds any object referencing the given material. This sphere is also seen by refracted rays; the environment seen by first-generation (primary) rays can also be specified but is part of the camera, not of any particular material. In general, if a ray does not intersect any objects, or if casting such a ray would exceed the trace depth, the ray is considered to strike the sphere of the environment map of the last material visited, or the camera environment map in the case of first-generation rays that did not hit any material. An environment shader is used to determine the color of each point of the sphere.
The environment map always covers the entire sphere exactly once. Rotations, translations, and repetitions are supported by special shader parameters or remapping shader nodes such as the ones found in the base shader library. There are also environment shaders that implement cubical instead of spherical environment maps, and cubical maps of finite instead of infinite size.
As described before, textures can be used for any purpose whatever to control shader behavior, in addition to the examples in this section.
Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.