KHRMaterialsTransmission

KHR_materials_transmission provides a common type of optical transparency: infinitely-thin materials with no refraction, scattering, or dispersion.

Illustration

Figure: Sphere using KHR_materials_transmission with varying roughness (0.0, 0.2, 0.4). Source: Khronos Group.

While default PBR materials using alpha blending become invisible as their opacity approaches zero, a transmissive material continues to reflect light in a glass-like manner, even at low transmission values. When combined with KHRMaterialsVolume, transmission may be used for thicker materials and refractive effects.

Properties:

Example

The KHRMaterialsTransmission class provides a single ExtensionProperty type, Transmission, which may be attached to any Material instance. For example:

import { KHRMaterialsTransmission, Transmission } from '@gltf-transform/extensions';

// Create an Extension attached to the Document.
const transmissionExtension = document.createExtension(KHRMaterialsTransmission);

// Create a Transmission property.
const transmission = transmissionExtension.createTransmission()
    .setTransmissionFactor(1.0);

// Attach the property to a Material.
material.setExtension('KHR_materials_transmission', transmission);

Hierarchy

Static properties

EXTENSION_NAME: "KHR_materials_transmission"

Properties

extensionName: "KHR_materials_transmission"
prereadTypes: import("/Users/donmccurdy/Documents/Projects/glTF-Transform/packages/core/src/constants").PropertyType[]
prewriteTypes: import("/Users/donmccurdy/Documents/Projects/glTF-Transform/packages/core/src/constants").PropertyType[]

Methods

  • dispose(): void
  • isRequired(): boolean
  • Indicates to the client whether it is OK to load the asset when this extension is not recognized. Optional extensions are generally preferred, if there is not a good reason to require a client to completely fail when an extension isn't known.

  • listProperties(): ExtensionProperty[]
  • Indicates to the client whether it is OK to load the asset when this extension is not recognized. Optional extensions are generally preferred, if there is not a good reason to require a client to completely fail when an extension isn't known.

Function symbol, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy. Documentation built with greendoc and published under Creative Commons Attribution 3.0.