Class

MDLScatteringFunction

A set of material properties that describes a basic shading model for materials, and the superclass for more complex shading models.

Declaration

@interface MDLScatteringFunction : NSObject

Overview

The set of material properties that define a material's response to lighting is also called the Bidirectional Reflectance Distribution Function, or BRDF, for surfaces shaded using that MDLMaterial object. The set of properties defined by the MDLScatteringFunction class itself describes a Lambertian shading model with Blinn-Phong specular response; subclasses can define a set of properties for other shading models.

Creating a new scattering function object with the inherited init method creates a set of material properties with useful default values for this shading model.

Topics

Naming a Scattering Function

name

A descriptive name for the scattering function.

Working with Shading Properties

baseColor

The inherent color of the material, to be used as a modulator during shading.

emission

The color emitted as radiance from a material’s surface.

specular

The intensity of specular highlights on the material’s surface.

materialIndexOfRefraction

The index of refraction for the medium surrounding a material.

interfaceIndexOfRefraction

The index of refraction for a material itself.

normal

The variation in the surface normal vectors in a material, relative to model coordinate space.

ambientOcclusion

The attenuation of ambient light due to local geometry variations on a surface.

ambientOcclusionScale

The scaling factor for ambient occlusion shading.

Relationships

Inherits From

Conforms To

See Also

Materials

MDLMaterial

A collection of material properties that together describe the intended surface appearance for rendering a 3D object.

MDLMaterialProperty

A definition for one specific aspect of the rendering parameters for a material.

MDLPhysicallyPlausibleScatteringFunction

A set of material properties that describes a physically realistic shading model for materials.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software