The material shaders dgs_material and dielectric_material implement different physically based models of reflection and refraction.
The dgs_material material shader can simulate mirrors, glossy paint or plastic, anisotropic glossy materials such as brushed metal, diffuse materials such as paper, translucent materials such as frosted glass, and any combination of these. This shader cannot be used as a shadow shader because shadows can only be computed along straight light rays, which does not agree with the definition of DGS materials. Use global illumination to illuminate objects in partial shadow from DGS objects.
color "dgs_material" ( color "diffuse", color "glossy", color "specular", scalar "shiny", scalar "shiny_u", scalar "shiny_v", scalar "transp", scalar "ior", array light "lights" integer "mode")
For isotropic reflection, use the shiny parameter and leave the shiny_u and shiny_v parameters undefined. If the shiny parameter is undefined or zero, the shader will check whether shiny_u and shiny_v are defined and nonzero, and if so, compute anisotropic reflection. The surface U direction is used as the anisotropic brushing direction.
The dielectric_material shader is a physically based material shader which can be used to simulate dielectric media such as glass, water, and other liquids. The shader uses Fresnel's formulas for dielectric interfaces. This means that most light is transmitted through the surface for perpendicular incident directions while most light is reflected by the surface for grazing incident angles, simulating the behavior of real dielectric materials. The shader also uses Beer's law for absorption of light that passes through a medium. This means that the light is subject to an exponential falloff as it is transmitted between two surfaces with dielectric material.
Two types of dielectric interfaces are supported: dielectric-air simulates the interface between a dielectric material and air, such as glass-air, and dielectric-dielectric simulates the interface between two dielectric materials, such as glass-water.
Two achieve physically correct simulations it is important to use the correct surface interfaces. When modeling a glass of cognac three different interfaces are required: glass-air, glass-cognac, and cognac-air. The dielectric material uses the normals of the surface to distinguish the media on either side of the interface. For a dielectric-air interface the normals point into the air. For a dielectric-dielectric interface the normal point into a dielectric material which is "outside". To use the dielectric material the model normals must be oriented correctly unless the ignore_normals parameter is set to true. This shader cannot be used as a shadow shader.
color "dielectric_material" ( color "col", scalar "ior", color "col_out", scalar "ior_out", boolean "ignore_normals" scalar "phong_coef", array lights "lights", integer "mode")
The path_material shader implements path raytracing. On contrary to the distributed raytracing, for each ray hit, at most one ray is reflected or refracted when path raytracing is used. With sufficiently large trace depth limits, most of the indirect illumination effects are computed correctly. However, the results are very noisy and an extremely high number of samples is required for obtaining high quality images.
Note that finalgather and globillum settings have no effect on the surfaces with path_material: the diffuse indirect illumination component is computed by reflecting at most one ray according to a Lambertian-distributed direction. There is no path_material_photon shader. For rendering speedup, finalgather and photon emission should be disabled. Higher trace depth setting than in the scenes using photons may be required.
color "path_material" ( color "diffuse", color "glossy", color "specular", scalar "shiny", scalar "shiny_u", scalar "shiny_v", scalar "transp", scalar "ior", array light "lights", integer "mode")
The parameters and where meanings are identical to those of the dgs_material shader.
Copyright (©) 1986-2008 by mental images GmbH