babylonjs-loaders 8.47.0 → 8.47.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babylon.glTF1FileLoader.js +1 -1
- package/babylon.glTF1FileLoader.min.js +1 -1
- package/babylon.glTF1FileLoader.min.js.map +1 -1
- package/babylon.glTF2FileLoader.js +1 -1
- package/babylon.glTF2FileLoader.min.js +1 -1
- package/babylon.glTF2FileLoader.min.js.map +1 -1
- package/babylon.glTFFileLoader.js +1 -1
- package/babylon.glTFFileLoader.min.js +1 -1
- package/babylon.glTFFileLoader.min.js.map +1 -1
- package/babylonjs.loaders.d.ts +290 -28
- package/babylonjs.loaders.js +1 -1
- package/babylonjs.loaders.min.js +1 -1
- package/babylonjs.loaders.min.js.map +1 -1
- package/babylonjs.loaders.module.d.ts +587 -56
- package/package.json +4 -4
|
@@ -25,6 +25,7 @@ export { GLTF1, GLTF2 };
|
|
|
25
25
|
}
|
|
26
26
|
declare module "babylonjs-loaders/glTF/glTFValidation" {
|
|
27
27
|
import * as GLTF2 from "babylonjs-gltf2interface";
|
|
28
|
+
import { Nullable } from "babylonjs/types";
|
|
28
29
|
/**
|
|
29
30
|
* Configuration for glTF validation
|
|
30
31
|
*/
|
|
@@ -43,6 +44,11 @@ export class GLTFValidation {
|
|
|
43
44
|
*/
|
|
44
45
|
static Configuration: IGLTFValidationConfiguration;
|
|
45
46
|
private static _LoadScriptPromise;
|
|
47
|
+
/**
|
|
48
|
+
* The most recent validation results.
|
|
49
|
+
* @internal - Used for back-compat in Sandbox with Inspector V2.
|
|
50
|
+
*/
|
|
51
|
+
static _LastResults: Nullable<GLTF2.IGLTFValidationResults>;
|
|
46
52
|
/**
|
|
47
53
|
* Validate a glTF asset using the glTF-Validator.
|
|
48
54
|
* @param data The JSON of a glTF or the array buffer of a binary glTF
|
|
@@ -635,12 +641,14 @@ import { Material } from "babylonjs/Materials/material";
|
|
|
635
641
|
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
|
|
636
642
|
import { Nullable } from "babylonjs/types";
|
|
637
643
|
import { Color3 } from "babylonjs/Maths/math.color";
|
|
644
|
+
import { Vector3 } from "babylonjs/Maths/math.vector";
|
|
638
645
|
import { IMaterialLoadingAdapter } from "babylonjs-loaders/glTF/2.0/materialLoadingAdapter";
|
|
639
646
|
/**
|
|
640
647
|
* Material Loading Adapter for PBR materials that provides a unified OpenPBR-like interface.
|
|
641
648
|
*/
|
|
642
649
|
export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
643
650
|
private _material;
|
|
651
|
+
private _extinctionCoefficient;
|
|
644
652
|
/**
|
|
645
653
|
* Creates a new instance of the PBRMaterialLoadingAdapter.
|
|
646
654
|
* @param material - The PBR material to adapt.
|
|
@@ -1028,20 +1036,60 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1028
1036
|
*/
|
|
1029
1037
|
set transmissionWeightTexture(value: Nullable<BaseTexture>);
|
|
1030
1038
|
/**
|
|
1031
|
-
* Sets the attenuation distance for volume
|
|
1039
|
+
* Sets the attenuation distance for volume.
|
|
1032
1040
|
* @param value The attenuation distance value
|
|
1033
1041
|
*/
|
|
1034
1042
|
set transmissionDepth(value: number);
|
|
1043
|
+
/**
|
|
1044
|
+
* Gets the attenuation distance for volume.
|
|
1045
|
+
* @returns The attenuation distance value
|
|
1046
|
+
*/
|
|
1047
|
+
get transmissionDepth(): number;
|
|
1035
1048
|
/**
|
|
1036
1049
|
* Sets the attenuation color (mapped to PBR subSurface.tintColor).
|
|
1037
1050
|
* @param value The attenuation color as a Color3
|
|
1038
1051
|
*/
|
|
1039
1052
|
set transmissionColor(value: Color3);
|
|
1040
1053
|
/**
|
|
1041
|
-
*
|
|
1054
|
+
* Sets the attenuation color (mapped to PBR subSurface.tintColor).
|
|
1055
|
+
* @returns The attenuation color as a Color3
|
|
1056
|
+
*/
|
|
1057
|
+
get transmissionColor(): Color3;
|
|
1058
|
+
/**
|
|
1059
|
+
* Sets the transmission scatter coefficient.
|
|
1060
|
+
* @param value The scatter coefficient as a Color3
|
|
1061
|
+
*/
|
|
1062
|
+
set transmissionScatter(value: Color3);
|
|
1063
|
+
/**
|
|
1064
|
+
* Sets the transmission scatter coefficient.
|
|
1065
|
+
* @returns The scatter coefficient as a Color3
|
|
1066
|
+
*/
|
|
1067
|
+
get transmissionScatter(): Color3;
|
|
1068
|
+
/**
|
|
1069
|
+
* Sets the transmission scattering anisotropy.
|
|
1070
|
+
* @param value The anisotropy intensity value (-1 to 1)
|
|
1071
|
+
*/
|
|
1072
|
+
set transmissionScatterAnisotropy(value: number);
|
|
1073
|
+
/**
|
|
1074
|
+
* Sets the transmission dispersion Abbe number.
|
|
1042
1075
|
* @param value The Abbe number value
|
|
1043
1076
|
*/
|
|
1044
1077
|
set transmissionDispersionAbbeNumber(value: number);
|
|
1078
|
+
/**
|
|
1079
|
+
* Sets the transmission dispersion scale.
|
|
1080
|
+
* @param value The dispersion scale value
|
|
1081
|
+
*/
|
|
1082
|
+
set transmissionDispersionScale(value: number);
|
|
1083
|
+
/**
|
|
1084
|
+
* Gets the refraction background texture
|
|
1085
|
+
* @returns The refraction background texture or null
|
|
1086
|
+
*/
|
|
1087
|
+
get refractionBackgroundTexture(): Nullable<BaseTexture>;
|
|
1088
|
+
/**
|
|
1089
|
+
* Sets the refraction background texture
|
|
1090
|
+
* @param value The refraction background texture or null
|
|
1091
|
+
*/
|
|
1092
|
+
set refractionBackgroundTexture(value: Nullable<BaseTexture>);
|
|
1045
1093
|
/**
|
|
1046
1094
|
* Configures transmission for thin-surface transmission (KHR_materials_transmission).
|
|
1047
1095
|
* Sets up the material for proper thin-surface transmission behavior.
|
|
@@ -1063,6 +1111,15 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1063
1111
|
* Configures subsurface properties for PBR material
|
|
1064
1112
|
*/
|
|
1065
1113
|
configureSubsurface(): void;
|
|
1114
|
+
/**
|
|
1115
|
+
* Sets the extinction coefficient of the volume.
|
|
1116
|
+
* @param value The extinction coefficient as a Vector3
|
|
1117
|
+
*/
|
|
1118
|
+
set extinctionCoefficient(value: Vector3);
|
|
1119
|
+
/**
|
|
1120
|
+
* Gets the extinction coefficient of the volume.
|
|
1121
|
+
*/
|
|
1122
|
+
get extinctionCoefficient(): Vector3;
|
|
1066
1123
|
/**
|
|
1067
1124
|
* Sets the subsurface weight
|
|
1068
1125
|
*/
|
|
@@ -1086,6 +1143,50 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1086
1143
|
* @param value The subsurface tint texture or null
|
|
1087
1144
|
*/
|
|
1088
1145
|
set subsurfaceColorTexture(value: Nullable<BaseTexture>);
|
|
1146
|
+
/**
|
|
1147
|
+
* Sets the surface tint of the material (when using subsurface scattering)
|
|
1148
|
+
*/
|
|
1149
|
+
set subsurfaceConstantTint(value: Color3);
|
|
1150
|
+
/**
|
|
1151
|
+
* Gets the subsurface constant tint (when using subsurface scattering)
|
|
1152
|
+
* @returns The subsurface constant tint as a Color3
|
|
1153
|
+
*/
|
|
1154
|
+
get subsurfaceConstantTint(): Color3;
|
|
1155
|
+
/**
|
|
1156
|
+
* Sets the subsurface constant tint texture (when using subsurface scattering)
|
|
1157
|
+
* @param value The subsurface constant tint texture or null
|
|
1158
|
+
*/
|
|
1159
|
+
set subsurfaceConstantTintTexture(value: Nullable<BaseTexture>);
|
|
1160
|
+
/**
|
|
1161
|
+
* Gets the subsurface radius (used for subsurface scattering)
|
|
1162
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1163
|
+
* @returns The subsurface radius as a Color3
|
|
1164
|
+
*/
|
|
1165
|
+
get subsurfaceRadius(): number;
|
|
1166
|
+
/**
|
|
1167
|
+
* Sets the subsurface radius (used for subsurface scattering)
|
|
1168
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1169
|
+
* @param value The subsurface radius as a number
|
|
1170
|
+
*/
|
|
1171
|
+
set subsurfaceRadius(value: number);
|
|
1172
|
+
/**
|
|
1173
|
+
* Gets the subsurface radius scale (used for subsurface scattering)
|
|
1174
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1175
|
+
* @returns The subsurface radius scale as a Color3
|
|
1176
|
+
*/
|
|
1177
|
+
get subsurfaceRadiusScale(): Color3;
|
|
1178
|
+
/**
|
|
1179
|
+
* Sets the subsurface radius scale (used for subsurface scattering)
|
|
1180
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1181
|
+
* @param value The subsurface radius scale as a Color3
|
|
1182
|
+
*/
|
|
1183
|
+
set subsurfaceRadiusScale(value: Color3);
|
|
1184
|
+
/**
|
|
1185
|
+
* Sets the subsurface scattering anisotropy.
|
|
1186
|
+
* Note: PBRMaterial does not have a direct equivalent, so this is a no-op.
|
|
1187
|
+
* @param value The anisotropy intensity value (ignored for PBR)
|
|
1188
|
+
*/
|
|
1189
|
+
set subsurfaceScatterAnisotropy(value: number);
|
|
1089
1190
|
/**
|
|
1090
1191
|
* Configures sheen for PBR material.
|
|
1091
1192
|
* Enables sheen and sets up proper configuration.
|
|
@@ -1191,12 +1292,6 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1191
1292
|
* @param value The iridescence thickness texture or null
|
|
1192
1293
|
*/
|
|
1193
1294
|
set thinFilmThicknessTexture(value: Nullable<BaseTexture>);
|
|
1194
|
-
/**
|
|
1195
|
-
* Sets the transmission dispersion value.
|
|
1196
|
-
* Note: PBR doesn't have direct dispersion support, so this stores it as metadata.
|
|
1197
|
-
* @param value The dispersion value (stored as metadata)
|
|
1198
|
-
*/
|
|
1199
|
-
set transmissionDispersion(value: number);
|
|
1200
1295
|
/**
|
|
1201
1296
|
* Sets whether the material is unlit.
|
|
1202
1297
|
* @param value True to make the material unlit
|
|
@@ -1255,11 +1350,13 @@ import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
|
|
|
1255
1350
|
import { Nullable } from "babylonjs/types";
|
|
1256
1351
|
import { Color3 } from "babylonjs/Maths/math.color";
|
|
1257
1352
|
import { IMaterialLoadingAdapter } from "babylonjs-loaders/glTF/2.0/materialLoadingAdapter";
|
|
1353
|
+
import { Vector3 } from "babylonjs/Maths/math.vector";
|
|
1258
1354
|
/**
|
|
1259
1355
|
* Material Loading Adapter for OpenPBR materials that provides a unified OpenPBR-like interface.
|
|
1260
1356
|
*/
|
|
1261
1357
|
export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
1262
1358
|
private _material;
|
|
1359
|
+
private _extinctionCoefficient;
|
|
1263
1360
|
/**
|
|
1264
1361
|
* Creates a new instance of the OpenPBRMaterialLoadingAdapter.
|
|
1265
1362
|
* @param material - The OpenPBR material to adapt.
|
|
@@ -1622,55 +1719,87 @@ export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1622
1719
|
* @returns Currently returns null as coat anisotropy is not yet available
|
|
1623
1720
|
*/
|
|
1624
1721
|
get geometryCoatTangentTexture(): Nullable<BaseTexture>;
|
|
1722
|
+
/**
|
|
1723
|
+
* Configures transmission for OpenPBR material.
|
|
1724
|
+
*/
|
|
1725
|
+
configureTransmission(): void;
|
|
1625
1726
|
/**
|
|
1626
1727
|
* Sets the transmission weight.
|
|
1627
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
1628
1728
|
* @param value The transmission weight value (0-1)
|
|
1629
1729
|
*/
|
|
1630
1730
|
set transmissionWeight(value: number);
|
|
1631
1731
|
/**
|
|
1632
1732
|
* Sets the transmission weight texture.
|
|
1633
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
1634
1733
|
* @param value The transmission weight texture or null
|
|
1635
1734
|
*/
|
|
1636
1735
|
set transmissionWeightTexture(value: Nullable<BaseTexture>);
|
|
1637
1736
|
/**
|
|
1638
1737
|
* Gets the transmission weight.
|
|
1639
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
1640
1738
|
* @returns Currently returns 0 as transmission is not yet available
|
|
1641
1739
|
*/
|
|
1642
1740
|
get transmissionWeight(): number;
|
|
1643
1741
|
/**
|
|
1644
|
-
*
|
|
1742
|
+
* Sets the transmission scatter coefficient.
|
|
1743
|
+
* @param value The scatter coefficient as a Vector3
|
|
1744
|
+
*/
|
|
1745
|
+
set transmissionScatter(value: Color3);
|
|
1746
|
+
/**
|
|
1747
|
+
* Gets the transmission scatter coefficient.
|
|
1748
|
+
* @returns The scatter coefficient as a Vector3
|
|
1749
|
+
*/
|
|
1750
|
+
get transmissionScatter(): Color3;
|
|
1751
|
+
set transmissionScatterTexture(value: Nullable<BaseTexture>);
|
|
1752
|
+
get transmissionScatterTexture(): Nullable<BaseTexture>;
|
|
1753
|
+
/**
|
|
1754
|
+
* Sets the transmission scattering anisotropy.
|
|
1755
|
+
* @param value The anisotropy intensity value (-1 to 1)
|
|
1756
|
+
*/
|
|
1757
|
+
set transmissionScatterAnisotropy(value: number);
|
|
1758
|
+
/**
|
|
1759
|
+
* Sets the transmission dispersion Abbe number.
|
|
1645
1760
|
* @param value The Abbe number value
|
|
1646
1761
|
*/
|
|
1647
1762
|
set transmissionDispersionAbbeNumber(value: number);
|
|
1648
1763
|
/**
|
|
1649
|
-
*
|
|
1650
|
-
*
|
|
1764
|
+
* Sets the transmission dispersion scale.
|
|
1765
|
+
* @param value The dispersion scale value
|
|
1651
1766
|
*/
|
|
1652
|
-
|
|
1767
|
+
set transmissionDispersionScale(value: number);
|
|
1653
1768
|
/**
|
|
1654
|
-
* Sets the attenuation distance
|
|
1655
|
-
* TODO: Implementation pending OpenPBR volume feature availability.
|
|
1769
|
+
* Sets the attenuation distance.
|
|
1656
1770
|
* @param value The attenuation distance value
|
|
1657
1771
|
*/
|
|
1658
1772
|
set transmissionDepth(value: number);
|
|
1659
1773
|
/**
|
|
1660
|
-
*
|
|
1661
|
-
|
|
1774
|
+
* Gets the attenuation distance.
|
|
1775
|
+
*/
|
|
1776
|
+
get transmissionDepth(): number;
|
|
1777
|
+
/**
|
|
1778
|
+
* Sets the attenuation color.
|
|
1662
1779
|
* @param value The attenuation color as a Color3
|
|
1663
1780
|
*/
|
|
1664
1781
|
set transmissionColor(value: Color3);
|
|
1665
1782
|
/**
|
|
1666
|
-
*
|
|
1667
|
-
|
|
1783
|
+
* Gets the attenuation color.
|
|
1784
|
+
*/
|
|
1785
|
+
get transmissionColor(): Color3;
|
|
1786
|
+
/**
|
|
1787
|
+
* Gets the refraction background texture
|
|
1788
|
+
* @returns The refraction background texture or null
|
|
1789
|
+
*/
|
|
1790
|
+
get refractionBackgroundTexture(): Nullable<BaseTexture>;
|
|
1791
|
+
/**
|
|
1792
|
+
* Sets the refraction background texture
|
|
1793
|
+
* @param value The refraction background texture or null
|
|
1794
|
+
*/
|
|
1795
|
+
set refractionBackgroundTexture(value: Nullable<BaseTexture>);
|
|
1796
|
+
/**
|
|
1797
|
+
* Sets the thickness texture.
|
|
1668
1798
|
* @param value The thickness texture or null
|
|
1669
1799
|
*/
|
|
1670
1800
|
set volumeThicknessTexture(value: Nullable<BaseTexture>);
|
|
1671
1801
|
/**
|
|
1672
|
-
* Sets the thickness factor
|
|
1673
|
-
* TODO: Implementation pending OpenPBR volume feature availability.
|
|
1802
|
+
* Sets the thickness factor.
|
|
1674
1803
|
* @param value The thickness value
|
|
1675
1804
|
*/
|
|
1676
1805
|
set volumeThickness(value: number);
|
|
@@ -1678,6 +1807,15 @@ export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1678
1807
|
* Configures subsurface properties for PBR material
|
|
1679
1808
|
*/
|
|
1680
1809
|
configureSubsurface(): void;
|
|
1810
|
+
/**
|
|
1811
|
+
* Sets the extinction coefficient of the volume.
|
|
1812
|
+
* @param value The extinction coefficient as a Vector3
|
|
1813
|
+
*/
|
|
1814
|
+
set extinctionCoefficient(value: Vector3);
|
|
1815
|
+
/**
|
|
1816
|
+
* Gets the extinction coefficient of the volume.
|
|
1817
|
+
*/
|
|
1818
|
+
get extinctionCoefficient(): Vector3;
|
|
1681
1819
|
/**
|
|
1682
1820
|
* Sets the subsurface weight
|
|
1683
1821
|
*/
|
|
@@ -1697,6 +1835,45 @@ export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1697
1835
|
* @param value The subsurface tint texture or null
|
|
1698
1836
|
*/
|
|
1699
1837
|
set subsurfaceColorTexture(value: Nullable<BaseTexture>);
|
|
1838
|
+
/**
|
|
1839
|
+
* Sets the surface tint of the material (when using subsurface scattering)
|
|
1840
|
+
*/
|
|
1841
|
+
set subsurfaceConstantTint(value: Color3);
|
|
1842
|
+
/**
|
|
1843
|
+
* Gets the surface tint of the material (when using subsurface scattering)
|
|
1844
|
+
*/
|
|
1845
|
+
get subsurfaceConstantTint(): Color3;
|
|
1846
|
+
/**
|
|
1847
|
+
* Sets the surface tint texture of the material (when using subsurface scattering)
|
|
1848
|
+
*/
|
|
1849
|
+
set subsurfaceConstantTintTexture(value: Nullable<BaseTexture>);
|
|
1850
|
+
/**
|
|
1851
|
+
* Gets the subsurface radius for subsurface scattering.
|
|
1852
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1853
|
+
*/
|
|
1854
|
+
get subsurfaceRadius(): number;
|
|
1855
|
+
/**
|
|
1856
|
+
* Sets the subsurface radius for subsurface scattering.
|
|
1857
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1858
|
+
* @param value The subsurface radius value
|
|
1859
|
+
*/
|
|
1860
|
+
set subsurfaceRadius(value: number);
|
|
1861
|
+
/**
|
|
1862
|
+
* Gets the subsurface radius scale for subsurface scattering.
|
|
1863
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1864
|
+
*/
|
|
1865
|
+
get subsurfaceRadiusScale(): Color3;
|
|
1866
|
+
/**
|
|
1867
|
+
* Sets the subsurface radius scale for subsurface scattering.
|
|
1868
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
1869
|
+
* @param value The subsurface radius scale as a Color3
|
|
1870
|
+
*/
|
|
1871
|
+
set subsurfaceRadiusScale(value: Color3);
|
|
1872
|
+
/**
|
|
1873
|
+
* Sets the subsurface scattering anisotropy.
|
|
1874
|
+
* @param value The anisotropy intensity value
|
|
1875
|
+
*/
|
|
1876
|
+
set subsurfaceScatterAnisotropy(value: number);
|
|
1700
1877
|
/**
|
|
1701
1878
|
* Configures fuzz for OpenPBR.
|
|
1702
1879
|
* Enables fuzz and sets up proper configuration.
|
|
@@ -1848,6 +2025,7 @@ import { Material } from "babylonjs/Materials/material";
|
|
|
1848
2025
|
import { BaseTexture } from "babylonjs/Materials/Textures/baseTexture";
|
|
1849
2026
|
import { Nullable } from "babylonjs/types";
|
|
1850
2027
|
import { Color3 } from "babylonjs/Maths/math.color";
|
|
2028
|
+
import { Vector3 } from "babylonjs/Maths/math.vector";
|
|
1851
2029
|
/**
|
|
1852
2030
|
* Interface for material loading adapters that provides a unified OpenPBR-like interface
|
|
1853
2031
|
* for both OpenPBR and PBR materials, eliminating conditional branches in extensions.
|
|
@@ -2034,10 +2212,26 @@ export interface IMaterialLoadingAdapter {
|
|
|
2034
2212
|
* Sets the attenuation color
|
|
2035
2213
|
*/
|
|
2036
2214
|
transmissionColor: Color3;
|
|
2215
|
+
/**
|
|
2216
|
+
* Sets the scattering coefficient
|
|
2217
|
+
*/
|
|
2218
|
+
transmissionScatter: Color3;
|
|
2219
|
+
/**
|
|
2220
|
+
* Sets the scattering anisotropy (-1 to 1)
|
|
2221
|
+
*/
|
|
2222
|
+
transmissionScatterAnisotropy: number;
|
|
2037
2223
|
/**
|
|
2038
2224
|
* Sets the dispersion Abbe number
|
|
2039
2225
|
*/
|
|
2040
2226
|
transmissionDispersionAbbeNumber: number;
|
|
2227
|
+
/**
|
|
2228
|
+
* Sets the dispersion scale
|
|
2229
|
+
*/
|
|
2230
|
+
transmissionDispersionScale: number;
|
|
2231
|
+
/**
|
|
2232
|
+
* The refraction background texture
|
|
2233
|
+
*/
|
|
2234
|
+
refractionBackgroundTexture: Nullable<BaseTexture>;
|
|
2041
2235
|
/**
|
|
2042
2236
|
* Configures transmission for thin-surface transmission (KHR_materials_transmission)
|
|
2043
2237
|
*/
|
|
@@ -2051,9 +2245,14 @@ export interface IMaterialLoadingAdapter {
|
|
|
2051
2245
|
*/
|
|
2052
2246
|
volumeThickness: number;
|
|
2053
2247
|
/**
|
|
2054
|
-
* Configures subsurface properties
|
|
2248
|
+
* Configures subsurface properties
|
|
2055
2249
|
*/
|
|
2056
2250
|
configureSubsurface(): void;
|
|
2251
|
+
/**
|
|
2252
|
+
* @internal
|
|
2253
|
+
* Sets/gets the extinction coefficient
|
|
2254
|
+
*/
|
|
2255
|
+
extinctionCoefficient: Vector3;
|
|
2057
2256
|
/**
|
|
2058
2257
|
* Sets/gets the subsurface weight
|
|
2059
2258
|
*/
|
|
@@ -2070,6 +2269,26 @@ export interface IMaterialLoadingAdapter {
|
|
|
2070
2269
|
* Sets/gets the subsurface color texture
|
|
2071
2270
|
*/
|
|
2072
2271
|
subsurfaceColorTexture: Nullable<BaseTexture>;
|
|
2272
|
+
/**
|
|
2273
|
+
* Sets/gets the surface tint of the material (when using subsurface scattering)
|
|
2274
|
+
*/
|
|
2275
|
+
subsurfaceConstantTint: Color3;
|
|
2276
|
+
/**
|
|
2277
|
+
* Sets/gets the surface tint texture of the material (when using subsurface scattering)
|
|
2278
|
+
*/
|
|
2279
|
+
subsurfaceConstantTintTexture: Nullable<BaseTexture>;
|
|
2280
|
+
/**
|
|
2281
|
+
* Sets/gets the subsurface radius (used for subsurface scattering)
|
|
2282
|
+
*/
|
|
2283
|
+
subsurfaceRadius: number;
|
|
2284
|
+
/**
|
|
2285
|
+
* Sets/gets the subsurface radius scale (used for subsurface scattering)
|
|
2286
|
+
*/
|
|
2287
|
+
subsurfaceRadiusScale: Color3;
|
|
2288
|
+
/**
|
|
2289
|
+
* Sets/gets the subsurface scattering anisotropy
|
|
2290
|
+
*/
|
|
2291
|
+
subsurfaceScatterAnisotropy: number;
|
|
2073
2292
|
/**
|
|
2074
2293
|
* Configures initial settings for fuzz for material.
|
|
2075
2294
|
*/
|
|
@@ -3467,6 +3686,7 @@ export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_variants";
|
|
|
3467
3686
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_transmission";
|
|
3468
3687
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_diffuse_transmission";
|
|
3469
3688
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_volume";
|
|
3689
|
+
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter";
|
|
3470
3690
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_dispersion";
|
|
3471
3691
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_diffuse_roughness";
|
|
3472
3692
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_mesh_quantization";
|
|
@@ -4016,6 +4236,54 @@ export class KHR_mesh_quantization implements IGLTFLoaderExtension {
|
|
|
4016
4236
|
dispose(): void;
|
|
4017
4237
|
}
|
|
4018
4238
|
|
|
4239
|
+
}
|
|
4240
|
+
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_volume_scatter" {
|
|
4241
|
+
import { Nullable } from "babylonjs/types";
|
|
4242
|
+
import { Material } from "babylonjs/Materials/material";
|
|
4243
|
+
import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
|
|
4244
|
+
import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
|
|
4245
|
+
import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
|
|
4246
|
+
module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
4247
|
+
interface GLTFLoaderExtensionOptions {
|
|
4248
|
+
/**
|
|
4249
|
+
* Defines options for the KHR_materials_volume_scatter extension.
|
|
4250
|
+
*/
|
|
4251
|
+
["KHR_materials_volume_scatter"]: {};
|
|
4252
|
+
}
|
|
4253
|
+
}
|
|
4254
|
+
/**
|
|
4255
|
+
* TODO: In-progress specification
|
|
4256
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/7ea427ed55d44427e83c0a6d1c87068b1a4151c5/extensions/2.0/Khronos/KHR_materials_volume_scatter/README.md)
|
|
4257
|
+
* @experimental
|
|
4258
|
+
* @since 9.0.0
|
|
4259
|
+
*/
|
|
4260
|
+
export class KHR_materials_volume_scatter implements IGLTFLoaderExtension {
|
|
4261
|
+
/**
|
|
4262
|
+
* The name of this extension.
|
|
4263
|
+
*/
|
|
4264
|
+
readonly name: string;
|
|
4265
|
+
/**
|
|
4266
|
+
* Defines whether this extension is enabled.
|
|
4267
|
+
*/
|
|
4268
|
+
enabled: boolean;
|
|
4269
|
+
/**
|
|
4270
|
+
* Defines a number that determines the order the extensions are applied.
|
|
4271
|
+
*/
|
|
4272
|
+
order: number;
|
|
4273
|
+
private _loader;
|
|
4274
|
+
/**
|
|
4275
|
+
* @internal
|
|
4276
|
+
*/
|
|
4277
|
+
constructor(loader: GLTFLoader);
|
|
4278
|
+
/** @internal */
|
|
4279
|
+
dispose(): void;
|
|
4280
|
+
/**
|
|
4281
|
+
* @internal
|
|
4282
|
+
*/
|
|
4283
|
+
loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
4284
|
+
private _loadVolumePropertiesAsync;
|
|
4285
|
+
}
|
|
4286
|
+
|
|
4019
4287
|
}
|
|
4020
4288
|
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_volume" {
|
|
4021
4289
|
import { Nullable } from "babylonjs/types";
|
|
@@ -4513,7 +4781,8 @@ module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
|
4513
4781
|
}
|
|
4514
4782
|
}
|
|
4515
4783
|
/**
|
|
4516
|
-
* [Specification]
|
|
4784
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/9734e44accd0dfb986ec5f376117aa00192745fe/extensions/2.0/Khronos/KHR_materials_fuzz/README.md)
|
|
4785
|
+
* @experimental
|
|
4517
4786
|
*/
|
|
4518
4787
|
export class KHR_materials_fuzz implements IGLTFLoaderExtension {
|
|
4519
4788
|
/**
|
|
@@ -4695,7 +4964,7 @@ module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
|
4695
4964
|
}
|
|
4696
4965
|
}
|
|
4697
4966
|
/**
|
|
4698
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/
|
|
4967
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/b102d2d2b40d44a8776800bb2bf85e218853c17d/extensions/2.0/Khronos/KHR_materials_diffuse_roughness/README.md)
|
|
4699
4968
|
* @experimental
|
|
4700
4969
|
*/
|
|
4701
4970
|
export class KHR_materials_diffuse_roughness implements IGLTFLoaderExtension {
|
|
@@ -4741,8 +5010,8 @@ module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
|
4741
5010
|
}
|
|
4742
5011
|
}
|
|
4743
5012
|
/**
|
|
4744
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/
|
|
4745
|
-
*
|
|
5013
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/6cb2cb84b504c245c49cf2e9a8ae16d26f72ac97/extensions/2.0/Khronos/KHR_materials_coat/README.md)
|
|
5014
|
+
* @experimental
|
|
4746
5015
|
*/
|
|
4747
5016
|
export class KHR_materials_coat implements IGLTFLoaderExtension {
|
|
4748
5017
|
/**
|
|
@@ -7529,6 +7798,11 @@ declare module BABYLON {
|
|
|
7529
7798
|
*/
|
|
7530
7799
|
static Configuration: IGLTFValidationConfiguration;
|
|
7531
7800
|
private static _LoadScriptPromise;
|
|
7801
|
+
/**
|
|
7802
|
+
* The most recent validation results.
|
|
7803
|
+
* @internal - Used for back-compat in Sandbox with Inspector V2.
|
|
7804
|
+
*/
|
|
7805
|
+
static _LastResults: Nullable<GLTF2.IGLTFValidationResults>;
|
|
7532
7806
|
/**
|
|
7533
7807
|
* Validate a glTF asset using the glTF-Validator.
|
|
7534
7808
|
* @param data The JSON of a glTF or the array buffer of a binary glTF
|
|
@@ -8102,6 +8376,7 @@ declare module BABYLON.GLTF2 {
|
|
|
8102
8376
|
*/
|
|
8103
8377
|
export class PBRMaterialLoadingAdapter implements BABYLON.GLTF2.IMaterialLoadingAdapter {
|
|
8104
8378
|
private _material;
|
|
8379
|
+
private _extinctionCoefficient;
|
|
8105
8380
|
/**
|
|
8106
8381
|
* Creates a new instance of the PBRMaterialLoadingAdapter.
|
|
8107
8382
|
* @param material - The PBR material to adapt.
|
|
@@ -8489,20 +8764,60 @@ declare module BABYLON.GLTF2 {
|
|
|
8489
8764
|
*/
|
|
8490
8765
|
set transmissionWeightTexture(value: Nullable<BaseTexture>);
|
|
8491
8766
|
/**
|
|
8492
|
-
* Sets the attenuation distance for volume
|
|
8767
|
+
* Sets the attenuation distance for volume.
|
|
8493
8768
|
* @param value The attenuation distance value
|
|
8494
8769
|
*/
|
|
8495
8770
|
set transmissionDepth(value: number);
|
|
8771
|
+
/**
|
|
8772
|
+
* Gets the attenuation distance for volume.
|
|
8773
|
+
* @returns The attenuation distance value
|
|
8774
|
+
*/
|
|
8775
|
+
get transmissionDepth(): number;
|
|
8496
8776
|
/**
|
|
8497
8777
|
* Sets the attenuation color (mapped to PBR subSurface.tintColor).
|
|
8498
8778
|
* @param value The attenuation color as a Color3
|
|
8499
8779
|
*/
|
|
8500
8780
|
set transmissionColor(value: Color3);
|
|
8501
8781
|
/**
|
|
8502
|
-
*
|
|
8782
|
+
* Sets the attenuation color (mapped to PBR subSurface.tintColor).
|
|
8783
|
+
* @returns The attenuation color as a Color3
|
|
8784
|
+
*/
|
|
8785
|
+
get transmissionColor(): Color3;
|
|
8786
|
+
/**
|
|
8787
|
+
* Sets the transmission scatter coefficient.
|
|
8788
|
+
* @param value The scatter coefficient as a Color3
|
|
8789
|
+
*/
|
|
8790
|
+
set transmissionScatter(value: Color3);
|
|
8791
|
+
/**
|
|
8792
|
+
* Sets the transmission scatter coefficient.
|
|
8793
|
+
* @returns The scatter coefficient as a Color3
|
|
8794
|
+
*/
|
|
8795
|
+
get transmissionScatter(): Color3;
|
|
8796
|
+
/**
|
|
8797
|
+
* Sets the transmission scattering anisotropy.
|
|
8798
|
+
* @param value The anisotropy intensity value (-1 to 1)
|
|
8799
|
+
*/
|
|
8800
|
+
set transmissionScatterAnisotropy(value: number);
|
|
8801
|
+
/**
|
|
8802
|
+
* Sets the transmission dispersion Abbe number.
|
|
8503
8803
|
* @param value The Abbe number value
|
|
8504
8804
|
*/
|
|
8505
8805
|
set transmissionDispersionAbbeNumber(value: number);
|
|
8806
|
+
/**
|
|
8807
|
+
* Sets the transmission dispersion scale.
|
|
8808
|
+
* @param value The dispersion scale value
|
|
8809
|
+
*/
|
|
8810
|
+
set transmissionDispersionScale(value: number);
|
|
8811
|
+
/**
|
|
8812
|
+
* Gets the refraction background texture
|
|
8813
|
+
* @returns The refraction background texture or null
|
|
8814
|
+
*/
|
|
8815
|
+
get refractionBackgroundTexture(): Nullable<BaseTexture>;
|
|
8816
|
+
/**
|
|
8817
|
+
* Sets the refraction background texture
|
|
8818
|
+
* @param value The refraction background texture or null
|
|
8819
|
+
*/
|
|
8820
|
+
set refractionBackgroundTexture(value: Nullable<BaseTexture>);
|
|
8506
8821
|
/**
|
|
8507
8822
|
* Configures transmission for thin-surface transmission (KHR_materials_transmission).
|
|
8508
8823
|
* Sets up the material for proper thin-surface transmission behavior.
|
|
@@ -8524,6 +8839,15 @@ declare module BABYLON.GLTF2 {
|
|
|
8524
8839
|
* Configures subsurface properties for PBR material
|
|
8525
8840
|
*/
|
|
8526
8841
|
configureSubsurface(): void;
|
|
8842
|
+
/**
|
|
8843
|
+
* Sets the extinction coefficient of the volume.
|
|
8844
|
+
* @param value The extinction coefficient as a Vector3
|
|
8845
|
+
*/
|
|
8846
|
+
set extinctionCoefficient(value: Vector3);
|
|
8847
|
+
/**
|
|
8848
|
+
* Gets the extinction coefficient of the volume.
|
|
8849
|
+
*/
|
|
8850
|
+
get extinctionCoefficient(): Vector3;
|
|
8527
8851
|
/**
|
|
8528
8852
|
* Sets the subsurface weight
|
|
8529
8853
|
*/
|
|
@@ -8547,6 +8871,50 @@ declare module BABYLON.GLTF2 {
|
|
|
8547
8871
|
* @param value The subsurface tint texture or null
|
|
8548
8872
|
*/
|
|
8549
8873
|
set subsurfaceColorTexture(value: Nullable<BaseTexture>);
|
|
8874
|
+
/**
|
|
8875
|
+
* Sets the surface tint of the material (when using subsurface scattering)
|
|
8876
|
+
*/
|
|
8877
|
+
set subsurfaceConstantTint(value: Color3);
|
|
8878
|
+
/**
|
|
8879
|
+
* Gets the subsurface constant tint (when using subsurface scattering)
|
|
8880
|
+
* @returns The subsurface constant tint as a Color3
|
|
8881
|
+
*/
|
|
8882
|
+
get subsurfaceConstantTint(): Color3;
|
|
8883
|
+
/**
|
|
8884
|
+
* Sets the subsurface constant tint texture (when using subsurface scattering)
|
|
8885
|
+
* @param value The subsurface constant tint texture or null
|
|
8886
|
+
*/
|
|
8887
|
+
set subsurfaceConstantTintTexture(value: Nullable<BaseTexture>);
|
|
8888
|
+
/**
|
|
8889
|
+
* Gets the subsurface radius (used for subsurface scattering)
|
|
8890
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
8891
|
+
* @returns The subsurface radius as a Color3
|
|
8892
|
+
*/
|
|
8893
|
+
get subsurfaceRadius(): number;
|
|
8894
|
+
/**
|
|
8895
|
+
* Sets the subsurface radius (used for subsurface scattering)
|
|
8896
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
8897
|
+
* @param value The subsurface radius as a number
|
|
8898
|
+
*/
|
|
8899
|
+
set subsurfaceRadius(value: number);
|
|
8900
|
+
/**
|
|
8901
|
+
* Gets the subsurface radius scale (used for subsurface scattering)
|
|
8902
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
8903
|
+
* @returns The subsurface radius scale as a Color3
|
|
8904
|
+
*/
|
|
8905
|
+
get subsurfaceRadiusScale(): Color3;
|
|
8906
|
+
/**
|
|
8907
|
+
* Sets the subsurface radius scale (used for subsurface scattering)
|
|
8908
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
8909
|
+
* @param value The subsurface radius scale as a Color3
|
|
8910
|
+
*/
|
|
8911
|
+
set subsurfaceRadiusScale(value: Color3);
|
|
8912
|
+
/**
|
|
8913
|
+
* Sets the subsurface scattering anisotropy.
|
|
8914
|
+
* Note: PBRMaterial does not have a direct equivalent, so this is a no-op.
|
|
8915
|
+
* @param value The anisotropy intensity value (ignored for PBR)
|
|
8916
|
+
*/
|
|
8917
|
+
set subsurfaceScatterAnisotropy(value: number);
|
|
8550
8918
|
/**
|
|
8551
8919
|
* Configures sheen for PBR material.
|
|
8552
8920
|
* Enables sheen and sets up proper configuration.
|
|
@@ -8652,12 +9020,6 @@ declare module BABYLON.GLTF2 {
|
|
|
8652
9020
|
* @param value The iridescence thickness texture or null
|
|
8653
9021
|
*/
|
|
8654
9022
|
set thinFilmThicknessTexture(value: Nullable<BaseTexture>);
|
|
8655
|
-
/**
|
|
8656
|
-
* Sets the transmission dispersion value.
|
|
8657
|
-
* Note: PBR doesn't have direct dispersion support, so this stores it as metadata.
|
|
8658
|
-
* @param value The dispersion value (stored as metadata)
|
|
8659
|
-
*/
|
|
8660
|
-
set transmissionDispersion(value: number);
|
|
8661
9023
|
/**
|
|
8662
9024
|
* Sets whether the material is unlit.
|
|
8663
9025
|
* @param value True to make the material unlit
|
|
@@ -8721,6 +9083,7 @@ declare module BABYLON.GLTF2 {
|
|
|
8721
9083
|
*/
|
|
8722
9084
|
export class OpenPBRMaterialLoadingAdapter implements BABYLON.GLTF2.IMaterialLoadingAdapter {
|
|
8723
9085
|
private _material;
|
|
9086
|
+
private _extinctionCoefficient;
|
|
8724
9087
|
/**
|
|
8725
9088
|
* Creates a new instance of the OpenPBRMaterialLoadingAdapter.
|
|
8726
9089
|
* @param material - The OpenPBR material to adapt.
|
|
@@ -9083,55 +9446,87 @@ declare module BABYLON.GLTF2 {
|
|
|
9083
9446
|
* @returns Currently returns null as coat anisotropy is not yet available
|
|
9084
9447
|
*/
|
|
9085
9448
|
get geometryCoatTangentTexture(): Nullable<BaseTexture>;
|
|
9449
|
+
/**
|
|
9450
|
+
* Configures transmission for OpenPBR material.
|
|
9451
|
+
*/
|
|
9452
|
+
configureTransmission(): void;
|
|
9086
9453
|
/**
|
|
9087
9454
|
* Sets the transmission weight.
|
|
9088
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
9089
9455
|
* @param value The transmission weight value (0-1)
|
|
9090
9456
|
*/
|
|
9091
9457
|
set transmissionWeight(value: number);
|
|
9092
9458
|
/**
|
|
9093
9459
|
* Sets the transmission weight texture.
|
|
9094
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
9095
9460
|
* @param value The transmission weight texture or null
|
|
9096
9461
|
*/
|
|
9097
9462
|
set transmissionWeightTexture(value: Nullable<BaseTexture>);
|
|
9098
9463
|
/**
|
|
9099
9464
|
* Gets the transmission weight.
|
|
9100
|
-
* TODO: Implementation pending OpenPBR transmission feature availability.
|
|
9101
9465
|
* @returns Currently returns 0 as transmission is not yet available
|
|
9102
9466
|
*/
|
|
9103
9467
|
get transmissionWeight(): number;
|
|
9104
9468
|
/**
|
|
9105
|
-
*
|
|
9469
|
+
* Sets the transmission scatter coefficient.
|
|
9470
|
+
* @param value The scatter coefficient as a Vector3
|
|
9471
|
+
*/
|
|
9472
|
+
set transmissionScatter(value: Color3);
|
|
9473
|
+
/**
|
|
9474
|
+
* Gets the transmission scatter coefficient.
|
|
9475
|
+
* @returns The scatter coefficient as a Vector3
|
|
9476
|
+
*/
|
|
9477
|
+
get transmissionScatter(): Color3;
|
|
9478
|
+
set transmissionScatterTexture(value: Nullable<BaseTexture>);
|
|
9479
|
+
get transmissionScatterTexture(): Nullable<BaseTexture>;
|
|
9480
|
+
/**
|
|
9481
|
+
* Sets the transmission scattering anisotropy.
|
|
9482
|
+
* @param value The anisotropy intensity value (-1 to 1)
|
|
9483
|
+
*/
|
|
9484
|
+
set transmissionScatterAnisotropy(value: number);
|
|
9485
|
+
/**
|
|
9486
|
+
* Sets the transmission dispersion Abbe number.
|
|
9106
9487
|
* @param value The Abbe number value
|
|
9107
9488
|
*/
|
|
9108
9489
|
set transmissionDispersionAbbeNumber(value: number);
|
|
9109
9490
|
/**
|
|
9110
|
-
*
|
|
9111
|
-
*
|
|
9491
|
+
* Sets the transmission dispersion scale.
|
|
9492
|
+
* @param value The dispersion scale value
|
|
9112
9493
|
*/
|
|
9113
|
-
|
|
9494
|
+
set transmissionDispersionScale(value: number);
|
|
9114
9495
|
/**
|
|
9115
|
-
* Sets the attenuation distance
|
|
9116
|
-
* TODO: Implementation pending OpenPBR volume feature availability.
|
|
9496
|
+
* Sets the attenuation distance.
|
|
9117
9497
|
* @param value The attenuation distance value
|
|
9118
9498
|
*/
|
|
9119
9499
|
set transmissionDepth(value: number);
|
|
9120
9500
|
/**
|
|
9121
|
-
*
|
|
9122
|
-
|
|
9501
|
+
* Gets the attenuation distance.
|
|
9502
|
+
*/
|
|
9503
|
+
get transmissionDepth(): number;
|
|
9504
|
+
/**
|
|
9505
|
+
* Sets the attenuation color.
|
|
9123
9506
|
* @param value The attenuation color as a Color3
|
|
9124
9507
|
*/
|
|
9125
9508
|
set transmissionColor(value: Color3);
|
|
9126
9509
|
/**
|
|
9127
|
-
*
|
|
9128
|
-
|
|
9510
|
+
* Gets the attenuation color.
|
|
9511
|
+
*/
|
|
9512
|
+
get transmissionColor(): Color3;
|
|
9513
|
+
/**
|
|
9514
|
+
* Gets the refraction background texture
|
|
9515
|
+
* @returns The refraction background texture or null
|
|
9516
|
+
*/
|
|
9517
|
+
get refractionBackgroundTexture(): Nullable<BaseTexture>;
|
|
9518
|
+
/**
|
|
9519
|
+
* Sets the refraction background texture
|
|
9520
|
+
* @param value The refraction background texture or null
|
|
9521
|
+
*/
|
|
9522
|
+
set refractionBackgroundTexture(value: Nullable<BaseTexture>);
|
|
9523
|
+
/**
|
|
9524
|
+
* Sets the thickness texture.
|
|
9129
9525
|
* @param value The thickness texture or null
|
|
9130
9526
|
*/
|
|
9131
9527
|
set volumeThicknessTexture(value: Nullable<BaseTexture>);
|
|
9132
9528
|
/**
|
|
9133
|
-
* Sets the thickness factor
|
|
9134
|
-
* TODO: Implementation pending OpenPBR volume feature availability.
|
|
9529
|
+
* Sets the thickness factor.
|
|
9135
9530
|
* @param value The thickness value
|
|
9136
9531
|
*/
|
|
9137
9532
|
set volumeThickness(value: number);
|
|
@@ -9139,6 +9534,15 @@ declare module BABYLON.GLTF2 {
|
|
|
9139
9534
|
* Configures subsurface properties for PBR material
|
|
9140
9535
|
*/
|
|
9141
9536
|
configureSubsurface(): void;
|
|
9537
|
+
/**
|
|
9538
|
+
* Sets the extinction coefficient of the volume.
|
|
9539
|
+
* @param value The extinction coefficient as a Vector3
|
|
9540
|
+
*/
|
|
9541
|
+
set extinctionCoefficient(value: Vector3);
|
|
9542
|
+
/**
|
|
9543
|
+
* Gets the extinction coefficient of the volume.
|
|
9544
|
+
*/
|
|
9545
|
+
get extinctionCoefficient(): Vector3;
|
|
9142
9546
|
/**
|
|
9143
9547
|
* Sets the subsurface weight
|
|
9144
9548
|
*/
|
|
@@ -9158,6 +9562,45 @@ declare module BABYLON.GLTF2 {
|
|
|
9158
9562
|
* @param value The subsurface tint texture or null
|
|
9159
9563
|
*/
|
|
9160
9564
|
set subsurfaceColorTexture(value: Nullable<BaseTexture>);
|
|
9565
|
+
/**
|
|
9566
|
+
* Sets the surface tint of the material (when using subsurface scattering)
|
|
9567
|
+
*/
|
|
9568
|
+
set subsurfaceConstantTint(value: Color3);
|
|
9569
|
+
/**
|
|
9570
|
+
* Gets the surface tint of the material (when using subsurface scattering)
|
|
9571
|
+
*/
|
|
9572
|
+
get subsurfaceConstantTint(): Color3;
|
|
9573
|
+
/**
|
|
9574
|
+
* Sets the surface tint texture of the material (when using subsurface scattering)
|
|
9575
|
+
*/
|
|
9576
|
+
set subsurfaceConstantTintTexture(value: Nullable<BaseTexture>);
|
|
9577
|
+
/**
|
|
9578
|
+
* Gets the subsurface radius for subsurface scattering.
|
|
9579
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
9580
|
+
*/
|
|
9581
|
+
get subsurfaceRadius(): number;
|
|
9582
|
+
/**
|
|
9583
|
+
* Sets the subsurface radius for subsurface scattering.
|
|
9584
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
9585
|
+
* @param value The subsurface radius value
|
|
9586
|
+
*/
|
|
9587
|
+
set subsurfaceRadius(value: number);
|
|
9588
|
+
/**
|
|
9589
|
+
* Gets the subsurface radius scale for subsurface scattering.
|
|
9590
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
9591
|
+
*/
|
|
9592
|
+
get subsurfaceRadiusScale(): Color3;
|
|
9593
|
+
/**
|
|
9594
|
+
* Sets the subsurface radius scale for subsurface scattering.
|
|
9595
|
+
* subsurfaceRadiusScale * subsurfaceRadius gives the mean free path per color channel.
|
|
9596
|
+
* @param value The subsurface radius scale as a Color3
|
|
9597
|
+
*/
|
|
9598
|
+
set subsurfaceRadiusScale(value: Color3);
|
|
9599
|
+
/**
|
|
9600
|
+
* Sets the subsurface scattering anisotropy.
|
|
9601
|
+
* @param value The anisotropy intensity value
|
|
9602
|
+
*/
|
|
9603
|
+
set subsurfaceScatterAnisotropy(value: number);
|
|
9161
9604
|
/**
|
|
9162
9605
|
* Configures fuzz for OpenPBR.
|
|
9163
9606
|
* Enables fuzz and sets up proper configuration.
|
|
@@ -9497,10 +9940,26 @@ declare module BABYLON.GLTF2 {
|
|
|
9497
9940
|
* Sets the attenuation color
|
|
9498
9941
|
*/
|
|
9499
9942
|
transmissionColor: Color3;
|
|
9943
|
+
/**
|
|
9944
|
+
* Sets the scattering coefficient
|
|
9945
|
+
*/
|
|
9946
|
+
transmissionScatter: Color3;
|
|
9947
|
+
/**
|
|
9948
|
+
* Sets the scattering anisotropy (-1 to 1)
|
|
9949
|
+
*/
|
|
9950
|
+
transmissionScatterAnisotropy: number;
|
|
9500
9951
|
/**
|
|
9501
9952
|
* Sets the dispersion Abbe number
|
|
9502
9953
|
*/
|
|
9503
9954
|
transmissionDispersionAbbeNumber: number;
|
|
9955
|
+
/**
|
|
9956
|
+
* Sets the dispersion scale
|
|
9957
|
+
*/
|
|
9958
|
+
transmissionDispersionScale: number;
|
|
9959
|
+
/**
|
|
9960
|
+
* The refraction background texture
|
|
9961
|
+
*/
|
|
9962
|
+
refractionBackgroundTexture: Nullable<BaseTexture>;
|
|
9504
9963
|
/**
|
|
9505
9964
|
* Configures transmission for thin-surface transmission (KHR_materials_transmission)
|
|
9506
9965
|
*/
|
|
@@ -9514,9 +9973,14 @@ declare module BABYLON.GLTF2 {
|
|
|
9514
9973
|
*/
|
|
9515
9974
|
volumeThickness: number;
|
|
9516
9975
|
/**
|
|
9517
|
-
* Configures subsurface properties
|
|
9976
|
+
* Configures subsurface properties
|
|
9518
9977
|
*/
|
|
9519
9978
|
configureSubsurface(): void;
|
|
9979
|
+
/**
|
|
9980
|
+
* @internal
|
|
9981
|
+
* Sets/gets the extinction coefficient
|
|
9982
|
+
*/
|
|
9983
|
+
extinctionCoefficient: Vector3;
|
|
9520
9984
|
/**
|
|
9521
9985
|
* Sets/gets the subsurface weight
|
|
9522
9986
|
*/
|
|
@@ -9533,6 +9997,26 @@ declare module BABYLON.GLTF2 {
|
|
|
9533
9997
|
* Sets/gets the subsurface color texture
|
|
9534
9998
|
*/
|
|
9535
9999
|
subsurfaceColorTexture: Nullable<BaseTexture>;
|
|
10000
|
+
/**
|
|
10001
|
+
* Sets/gets the surface tint of the material (when using subsurface scattering)
|
|
10002
|
+
*/
|
|
10003
|
+
subsurfaceConstantTint: Color3;
|
|
10004
|
+
/**
|
|
10005
|
+
* Sets/gets the surface tint texture of the material (when using subsurface scattering)
|
|
10006
|
+
*/
|
|
10007
|
+
subsurfaceConstantTintTexture: Nullable<BaseTexture>;
|
|
10008
|
+
/**
|
|
10009
|
+
* Sets/gets the subsurface radius (used for subsurface scattering)
|
|
10010
|
+
*/
|
|
10011
|
+
subsurfaceRadius: number;
|
|
10012
|
+
/**
|
|
10013
|
+
* Sets/gets the subsurface radius scale (used for subsurface scattering)
|
|
10014
|
+
*/
|
|
10015
|
+
subsurfaceRadiusScale: Color3;
|
|
10016
|
+
/**
|
|
10017
|
+
* Sets/gets the subsurface scattering anisotropy
|
|
10018
|
+
*/
|
|
10019
|
+
subsurfaceScatterAnisotropy: number;
|
|
9536
10020
|
/**
|
|
9537
10021
|
* Configures initial settings for fuzz for material.
|
|
9538
10022
|
*/
|
|
@@ -11404,6 +11888,52 @@ declare module BABYLON {
|
|
|
11404
11888
|
["KHR_mesh_quantization"]: {};
|
|
11405
11889
|
}
|
|
11406
11890
|
|
|
11891
|
+
}
|
|
11892
|
+
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11893
|
+
/**
|
|
11894
|
+
* TODO: In-progress specification
|
|
11895
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/7ea427ed55d44427e83c0a6d1c87068b1a4151c5/extensions/2.0/Khronos/KHR_materials_volume_scatter/README.md)
|
|
11896
|
+
* @experimental
|
|
11897
|
+
* @since 9.0.0
|
|
11898
|
+
*/
|
|
11899
|
+
export class KHR_materials_volume_scatter implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
11900
|
+
/**
|
|
11901
|
+
* The name of this extension.
|
|
11902
|
+
*/
|
|
11903
|
+
readonly name = "KHR_materials_volume_scatter";
|
|
11904
|
+
/**
|
|
11905
|
+
* Defines whether this extension is enabled.
|
|
11906
|
+
*/
|
|
11907
|
+
enabled: boolean;
|
|
11908
|
+
/**
|
|
11909
|
+
* Defines a number that determines the order the extensions are applied.
|
|
11910
|
+
*/
|
|
11911
|
+
order: number;
|
|
11912
|
+
private _loader;
|
|
11913
|
+
/**
|
|
11914
|
+
* @internal
|
|
11915
|
+
*/
|
|
11916
|
+
constructor(loader: BABYLON.GLTF2.GLTFLoader);
|
|
11917
|
+
/** @internal */
|
|
11918
|
+
dispose(): void;
|
|
11919
|
+
/**
|
|
11920
|
+
* @internal
|
|
11921
|
+
*/
|
|
11922
|
+
loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
11923
|
+
private _loadVolumePropertiesAsync;
|
|
11924
|
+
}
|
|
11925
|
+
|
|
11926
|
+
|
|
11927
|
+
|
|
11928
|
+
}
|
|
11929
|
+
declare module BABYLON {
|
|
11930
|
+
interface GLTFLoaderExtensionOptions {
|
|
11931
|
+
/**
|
|
11932
|
+
* Defines options for the KHR_materials_volume_scatter extension.
|
|
11933
|
+
*/
|
|
11934
|
+
["KHR_materials_volume_scatter"]: {};
|
|
11935
|
+
}
|
|
11936
|
+
|
|
11407
11937
|
}
|
|
11408
11938
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11409
11939
|
/**
|
|
@@ -11867,7 +12397,8 @@ declare module BABYLON {
|
|
|
11867
12397
|
}
|
|
11868
12398
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11869
12399
|
/**
|
|
11870
|
-
* [Specification]
|
|
12400
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/9734e44accd0dfb986ec5f376117aa00192745fe/extensions/2.0/Khronos/KHR_materials_fuzz/README.md)
|
|
12401
|
+
* @experimental
|
|
11871
12402
|
*/
|
|
11872
12403
|
export class KHR_materials_fuzz implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
11873
12404
|
/**
|
|
@@ -12041,7 +12572,7 @@ declare module BABYLON {
|
|
|
12041
12572
|
}
|
|
12042
12573
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
12043
12574
|
/**
|
|
12044
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/
|
|
12575
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/b102d2d2b40d44a8776800bb2bf85e218853c17d/extensions/2.0/Khronos/KHR_materials_diffuse_roughness/README.md)
|
|
12045
12576
|
* @experimental
|
|
12046
12577
|
*/
|
|
12047
12578
|
export class KHR_materials_diffuse_roughness implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
@@ -12085,8 +12616,8 @@ declare module BABYLON {
|
|
|
12085
12616
|
}
|
|
12086
12617
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
12087
12618
|
/**
|
|
12088
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/
|
|
12089
|
-
*
|
|
12619
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/6cb2cb84b504c245c49cf2e9a8ae16d26f72ac97/extensions/2.0/Khronos/KHR_materials_coat/README.md)
|
|
12620
|
+
* @experimental
|
|
12090
12621
|
*/
|
|
12091
12622
|
export class KHR_materials_coat implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
12092
12623
|
/**
|