Creates a new EmissiveStrength property for use on a Material.
Disables and removes the extension from the Document.
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.
Lists all ExtensionProperty instances associated with, or created by, this extension. Includes only instances that are attached to the Document's graph; detached instances will be excluded.
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.
Made by Don McCurdy. Documentation built with greendoc and published under Creative Commons Attribution 3.0.
KHR_materials_emissive_strength defines emissive strength and enables high-dynamic-range (HDR) emissive materials.
The core glTF 2.0 material model includes
emissiveFactor
andemissiveTexture
to control the color and intensity of the light being emitted by the material, clamped to the range [0.0, 1.0]. However, in PBR environments with HDR reflections and lighting, stronger emission effects may be desirable.In this extension, a new
emissiveStrength
scalar factor is supplied, which governs the upper limit of emissive strength per material and may be given arbitrarily high values.For implementations where a physical light unit is needed, the units for the multiplicative product of the emissive texture and factor are candela per square meter (cd / m2), sometimes called nits. Many realtime rendering engines simplify this calculation by assuming that an emissive factor of 1.0 results in a fully exposed pixel.
Properties:
Example
import { KHRMaterialsEmissiveStrength, EmissiveStrength } from '@gltf-transform/extensions'; // Create an Extension attached to the Document. const emissiveStrengthExtension = document.createExtension(KHRMaterialsEmissiveStrength); // Create EmissiveStrength property. const emissiveStrength = emissiveStrengthExtension .createEmissiveStrength().setEmissiveStrength(5.0); // Assign to a Material. material.setExtension('KHR_materials_emissive_strength', emissiveStrength);