8.6 Material reflection coefficient schema
8.6.1 Overview
This is the documentation about the JSON schema file. The actual file is located in the ASAM OpenMATERIAL 3D GitHub repository.
The following diagram shows the hierarchy of the fields defined in this schema. Fields marked with (R) are required. A field can be optional while some of its children are required. In that case, the required children only have to be filled in if the optional parent field is present.
8.6.2 metadata
Metadata about the material.
Type: object
Required: Yes
8.6.2.1 name
The display name of the material, such as 'Red brick' or 'Dark asphalt'.
Type: string
Required: Yes
8.6.2.2 description
Short description of the material in two to three sentences.
Type: string
Required: Yes
8.6.2.3 uuid
Universally unique identifier for the material in 8-4-4-4-12 format, see [12]. The uuid stays the same, even if version is updated.
Type: string
Pattern: \b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b$
Required: Yes
8.6.2.4 materialVersion
The version number of the material, following semantic versioning (for example, '1.0.0').
Type: string
Pattern: ^\d+\.\d+\.\d+$
Required: Yes
8.6.2.5 openMaterial3dVersion
The version of the ASAM OpenMATERIAL 3D specification used, adhering to semantic versioning (for example, '1.0.0').
Type: string
Pattern: ^\d+\.\d+\.\d+$
Required: Yes
8.6.2.6 copyrights
Indicates copyright details, including the year and copyright holder (for example, '© 2024 ACME Inc.').
Type: array
Item count: at least 1
Item type: string
Required: Yes
8.6.2.7 license
Describes the license for material distribution. Use an SPDX identifier for open-source licenses (for example, 'MIT'), or provide a URL or filename for proprietary licenses.
Type: string
Required: Yes
8.6.2.8 authors
Lists the author(s) of the material as a name, email, or company.
Type: array
Item count: at least 1
Item type: string
Required: Yes
8.6.2.9 creationDate
The date and time of material creation, formatted as YYYYMMDDTHHMMSSZ according to ISO 8601 [8] (for example, '20240703T101728Z').
Type: string
Pattern: ^\d{8}T\d{6}Z$
Required: Yes
8.6.3 reflectionCoefficient
Reflection coefficient look-up table including the relevant metadata. The reflection coefficient is defined as the ratio of amplitudes of the reflected electromagnetic wave over the incident electromagnetic wave \(r = E_{\textrm{r}} / E_{\textrm{i}}\). This complex value is represented by angle- and wavelength-dependent magnitude and phase values.
Type: object
Required: Yes
8.6.3.1 wavelengths
List of all wavelengths contained in the look-up table. Unit: meter (m). The upper limit corresponds to 20 kHz.
Type: array
Item type: number
Item range: [1e-09, 0.01716]
Required: Yes
8.6.3.2 lookupTable
Array of reflection coefficient values, with each item representing a different property. The array shall be sorted based on the columns starting with the first.
Type: array
Required: Yes
Column count: exactly 7
Columns of the table:
| Column | Type | Constraints | Description |
|---|---|---|---|
1 |
number or null |
|
Wavelength of the radiation in free space. Unit: meter (m). The upper limit corresponds to 20 kHz. |
2 |
number or null |
|
Incident zenith angle relative to the surface normal, in rad. |
3 |
number or null |
|
Exit zenith angle relative to the surface normal, in rad. |
4 |
number or null |
|
Exit azimuth angle in rad. The value is relative to the incident azimuth angle. The incident azimuth angle is set to 0, because the incident ray is used as the reference. |
5 |
number or null |
|
Polarized plane angle in rad. This is the angle between the plane containing the incident, exit, and normal vectors, and the plane of polarization. The plane of polarization contains the direction of propagation and the electric vector. |
6 |
number or null |
|
Magnitude within the linearly polarized plane. The magnitude is given as an absolute value relative to an ideal reflector. |
7 |
number or null |
|
Phase within the linearly polarized plane. If the phase is not taken into account, it is null. |