26.01 Sky Module
The Sky module enhances the scene by introducing a new member in FormProperties and a new artifact type, allowing a skybox to be specified for the scene.
The new member in FormProperties is defined as
interface FormProperties {
sky: Artifact // OPTIONAL
skyVisible: boolean // OPTIONAL
// ...
}
where
skyis OPTIONAL, and its value MUST be of typeArtifactwith artifact typehdri.skyVisibleis OPTIONAL, and its value MUST be of typeboolean. If it is not provided, the default valuefalseMUST be used.
The new artifact type is defined as
type ArtifactType = "hdri" // ...
and the implementation MUST use an EXRLoader to load the content, following the EXR standard.
When sky in FormProperties is specified, a supported implementation MUST use the content of the specified artifact as the skybox of the scene. If the sky member is not provided, the implementation may use a default skybox or no skybox. When a skybox is present and skyVisible is true, the skybox MUST be rendered as the visible background. Otherwise, there MUST be no visible background rendered, and the skybox, if present, is used only for environment lighting and reflections.
An implementation that does not support the Sky module MUST ignore the sky and skyVisible member of FormProperties and discard any artifact with artifact type hdri.
When used with the Category module, the artifact MUST use sky as its artifact category.