babylonjs-loaders 8.34.0 → 8.35.0
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.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 +153 -49
- 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 +312 -98
- package/package.json +3 -3
|
@@ -1093,6 +1093,11 @@ export class PBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1093
1093
|
* @param value The sheen weight value
|
|
1094
1094
|
*/
|
|
1095
1095
|
set fuzzWeight(value: number);
|
|
1096
|
+
/**
|
|
1097
|
+
* Sets the fuzz weight texture.
|
|
1098
|
+
* @param value The fuzz weight texture or null
|
|
1099
|
+
*/
|
|
1100
|
+
set fuzzWeightTexture(value: Nullable<BaseTexture>);
|
|
1096
1101
|
/**
|
|
1097
1102
|
* Sets the sheen color (mapped to PBR sheen.color).
|
|
1098
1103
|
* Automatically enables sheen.
|
|
@@ -1698,6 +1703,11 @@ export class OpenPBRMaterialLoadingAdapter implements IMaterialLoadingAdapter {
|
|
|
1698
1703
|
* @param value The fuzz weight value
|
|
1699
1704
|
*/
|
|
1700
1705
|
set fuzzWeight(value: number);
|
|
1706
|
+
/**
|
|
1707
|
+
* Sets the fuzz weight texture.
|
|
1708
|
+
* @param value The fuzz weight texture or null
|
|
1709
|
+
*/
|
|
1710
|
+
set fuzzWeightTexture(value: Nullable<BaseTexture>);
|
|
1701
1711
|
/**
|
|
1702
1712
|
* Sets the fuzz color.
|
|
1703
1713
|
* @param value The fuzz color as a Color3
|
|
@@ -1868,27 +1878,27 @@ export interface IMaterialLoadingAdapter {
|
|
|
1868
1878
|
*/
|
|
1869
1879
|
transparencyAsAlphaCoverage: boolean;
|
|
1870
1880
|
/**
|
|
1871
|
-
* Sets/gets the base color
|
|
1881
|
+
* Sets/gets the base color
|
|
1872
1882
|
*/
|
|
1873
1883
|
baseColor: Color3;
|
|
1874
1884
|
/**
|
|
1875
|
-
* Sets/gets the base color texture
|
|
1885
|
+
* Sets/gets the base color texture
|
|
1876
1886
|
*/
|
|
1877
1887
|
baseColorTexture: Nullable<BaseTexture>;
|
|
1878
1888
|
/**
|
|
1879
|
-
* Sets/gets the base diffuse roughness
|
|
1889
|
+
* Sets/gets the base diffuse roughness
|
|
1880
1890
|
*/
|
|
1881
1891
|
baseDiffuseRoughness: number;
|
|
1882
1892
|
/**
|
|
1883
|
-
* Sets/gets the base diffuse roughness texture
|
|
1893
|
+
* Sets/gets the base diffuse roughness texture
|
|
1884
1894
|
*/
|
|
1885
1895
|
baseDiffuseRoughnessTexture: Nullable<BaseTexture>;
|
|
1886
1896
|
/**
|
|
1887
|
-
* Sets/gets the base metalness
|
|
1897
|
+
* Sets/gets the base metalness
|
|
1888
1898
|
*/
|
|
1889
1899
|
baseMetalness: number;
|
|
1890
1900
|
/**
|
|
1891
|
-
* Sets/gets the base metalness texture
|
|
1901
|
+
* Sets/gets the base metalness texture
|
|
1892
1902
|
*/
|
|
1893
1903
|
baseMetalnessTexture: Nullable<BaseTexture>;
|
|
1894
1904
|
/**
|
|
@@ -1905,23 +1915,23 @@ export interface IMaterialLoadingAdapter {
|
|
|
1905
1915
|
*/
|
|
1906
1916
|
enableSpecularEdgeColor(enableEdgeColor?: boolean): void;
|
|
1907
1917
|
/**
|
|
1908
|
-
* Sets/gets the specular weight
|
|
1918
|
+
* Sets/gets the specular weight
|
|
1909
1919
|
*/
|
|
1910
1920
|
specularWeight: number;
|
|
1911
1921
|
/**
|
|
1912
|
-
* Sets/gets the specular weight texture
|
|
1922
|
+
* Sets/gets the specular weight texture
|
|
1913
1923
|
*/
|
|
1914
1924
|
specularWeightTexture: Nullable<BaseTexture>;
|
|
1915
1925
|
/**
|
|
1916
|
-
* Sets/gets the specular color
|
|
1926
|
+
* Sets/gets the specular color
|
|
1917
1927
|
*/
|
|
1918
1928
|
specularColor: Color3;
|
|
1919
1929
|
/**
|
|
1920
|
-
* Sets/gets the specular color texture
|
|
1930
|
+
* Sets/gets the specular color texture
|
|
1921
1931
|
*/
|
|
1922
1932
|
specularColorTexture: Nullable<BaseTexture>;
|
|
1923
1933
|
/**
|
|
1924
|
-
* Sets/gets the specular roughness
|
|
1934
|
+
* Sets/gets the specular roughness
|
|
1925
1935
|
*/
|
|
1926
1936
|
specularRoughness: number;
|
|
1927
1937
|
/**
|
|
@@ -1929,15 +1939,15 @@ export interface IMaterialLoadingAdapter {
|
|
|
1929
1939
|
*/
|
|
1930
1940
|
specularRoughnessTexture: Nullable<BaseTexture>;
|
|
1931
1941
|
/**
|
|
1932
|
-
* Sets/gets the specular IOR
|
|
1942
|
+
* Sets/gets the specular IOR
|
|
1933
1943
|
*/
|
|
1934
1944
|
specularIor: number;
|
|
1935
1945
|
/**
|
|
1936
|
-
* Sets/gets the emissive color
|
|
1946
|
+
* Sets/gets the emissive color
|
|
1937
1947
|
*/
|
|
1938
1948
|
emissionColor: Color3;
|
|
1939
1949
|
/**
|
|
1940
|
-
* Sets/gets the emissive luminance
|
|
1950
|
+
* Sets/gets the emissive luminance
|
|
1941
1951
|
*/
|
|
1942
1952
|
emissionLuminance: number;
|
|
1943
1953
|
/**
|
|
@@ -1945,7 +1955,7 @@ export interface IMaterialLoadingAdapter {
|
|
|
1945
1955
|
*/
|
|
1946
1956
|
emissionColorTexture: Nullable<BaseTexture>;
|
|
1947
1957
|
/**
|
|
1948
|
-
* Sets/gets the ambient occlusion texture
|
|
1958
|
+
* Sets/gets the ambient occlusion texture
|
|
1949
1959
|
*/
|
|
1950
1960
|
ambientOcclusionTexture: Nullable<BaseTexture>;
|
|
1951
1961
|
/**
|
|
@@ -1957,27 +1967,27 @@ export interface IMaterialLoadingAdapter {
|
|
|
1957
1967
|
*/
|
|
1958
1968
|
configureCoat(): void;
|
|
1959
1969
|
/**
|
|
1960
|
-
* Sets/gets the coat weight
|
|
1970
|
+
* Sets/gets the coat weight
|
|
1961
1971
|
*/
|
|
1962
1972
|
coatWeight: number;
|
|
1963
1973
|
/**
|
|
1964
|
-
* Sets/gets the coat weight texture
|
|
1974
|
+
* Sets/gets the coat weight texture
|
|
1965
1975
|
*/
|
|
1966
1976
|
coatWeightTexture: Nullable<BaseTexture>;
|
|
1967
1977
|
/**
|
|
1968
|
-
* Sets the coat color
|
|
1978
|
+
* Sets the coat color
|
|
1969
1979
|
*/
|
|
1970
1980
|
coatColor: Color3;
|
|
1971
1981
|
/**
|
|
1972
|
-
* Sets the coat color texture
|
|
1982
|
+
* Sets the coat color texture
|
|
1973
1983
|
*/
|
|
1974
1984
|
coatColorTexture: Nullable<BaseTexture>;
|
|
1975
1985
|
/**
|
|
1976
|
-
* Sets/gets the coat roughness
|
|
1986
|
+
* Sets/gets the coat roughness
|
|
1977
1987
|
*/
|
|
1978
1988
|
coatRoughness: number;
|
|
1979
1989
|
/**
|
|
1980
|
-
* Sets/gets the coat roughness texture
|
|
1990
|
+
* Sets/gets the coat roughness texture
|
|
1981
1991
|
*/
|
|
1982
1992
|
coatRoughnessTexture: Nullable<BaseTexture>;
|
|
1983
1993
|
/**
|
|
@@ -1985,39 +1995,39 @@ export interface IMaterialLoadingAdapter {
|
|
|
1985
1995
|
*/
|
|
1986
1996
|
coatIor: number;
|
|
1987
1997
|
/**
|
|
1988
|
-
* Sets the coat darkening
|
|
1998
|
+
* Sets the coat darkening
|
|
1989
1999
|
*/
|
|
1990
2000
|
coatDarkening: number;
|
|
1991
2001
|
/**
|
|
1992
|
-
* Sets the coat darkening texture
|
|
2002
|
+
* Sets the coat darkening texture
|
|
1993
2003
|
*/
|
|
1994
2004
|
coatDarkeningTexture: Nullable<BaseTexture>;
|
|
1995
2005
|
/**
|
|
1996
|
-
* Sets/gets the coat roughness anisotropy
|
|
2006
|
+
* Sets/gets the coat roughness anisotropy
|
|
1997
2007
|
*/
|
|
1998
2008
|
coatRoughnessAnisotropy: number;
|
|
1999
2009
|
/**
|
|
2000
|
-
* Sets the coat tangent angle for anisotropy
|
|
2010
|
+
* Sets the coat tangent angle for anisotropy
|
|
2001
2011
|
*/
|
|
2002
2012
|
geometryCoatTangentAngle: number;
|
|
2003
2013
|
/**
|
|
2004
|
-
* Sets the coat tangent texture for anisotropy
|
|
2014
|
+
* Sets the coat tangent texture for anisotropy
|
|
2005
2015
|
*/
|
|
2006
2016
|
geometryCoatTangentTexture: Nullable<BaseTexture>;
|
|
2007
2017
|
/**
|
|
2008
|
-
* Sets the transmission weight
|
|
2018
|
+
* Sets the transmission weight
|
|
2009
2019
|
*/
|
|
2010
2020
|
transmissionWeight: number;
|
|
2011
2021
|
/**
|
|
2012
|
-
* Sets the transmission weight texture
|
|
2022
|
+
* Sets the transmission weight texture
|
|
2013
2023
|
*/
|
|
2014
2024
|
transmissionWeightTexture: Nullable<BaseTexture>;
|
|
2015
2025
|
/**
|
|
2016
|
-
* Sets the attenuation distance
|
|
2026
|
+
* Sets the attenuation distance
|
|
2017
2027
|
*/
|
|
2018
2028
|
transmissionDepth: number;
|
|
2019
2029
|
/**
|
|
2020
|
-
* Sets the attenuation color
|
|
2030
|
+
* Sets the attenuation color
|
|
2021
2031
|
*/
|
|
2022
2032
|
transmissionColor: Color3;
|
|
2023
2033
|
/**
|
|
@@ -2029,11 +2039,11 @@ export interface IMaterialLoadingAdapter {
|
|
|
2029
2039
|
*/
|
|
2030
2040
|
configureTransmission(): void;
|
|
2031
2041
|
/**
|
|
2032
|
-
* Sets the thickness texture
|
|
2042
|
+
* Sets the thickness texture
|
|
2033
2043
|
*/
|
|
2034
2044
|
volumeThicknessTexture: Nullable<BaseTexture>;
|
|
2035
2045
|
/**
|
|
2036
|
-
* Sets the thickness factor
|
|
2046
|
+
* Sets the thickness factor
|
|
2037
2047
|
*/
|
|
2038
2048
|
volumeThickness: number;
|
|
2039
2049
|
/**
|
|
@@ -2049,11 +2059,11 @@ export interface IMaterialLoadingAdapter {
|
|
|
2049
2059
|
*/
|
|
2050
2060
|
subsurfaceWeightTexture: Nullable<BaseTexture>;
|
|
2051
2061
|
/**
|
|
2052
|
-
* Sets/gets the subsurface color
|
|
2062
|
+
* Sets/gets the subsurface color
|
|
2053
2063
|
*/
|
|
2054
2064
|
subsurfaceColor: Color3;
|
|
2055
2065
|
/**
|
|
2056
|
-
* Sets/gets the subsurface color texture
|
|
2066
|
+
* Sets/gets the subsurface color texture
|
|
2057
2067
|
*/
|
|
2058
2068
|
subsurfaceColorTexture: Nullable<BaseTexture>;
|
|
2059
2069
|
/**
|
|
@@ -2061,35 +2071,39 @@ export interface IMaterialLoadingAdapter {
|
|
|
2061
2071
|
*/
|
|
2062
2072
|
configureFuzz(): void;
|
|
2063
2073
|
/**
|
|
2064
|
-
* Sets the fuzz weight
|
|
2074
|
+
* Sets the fuzz weight
|
|
2065
2075
|
*/
|
|
2066
2076
|
fuzzWeight: number;
|
|
2067
2077
|
/**
|
|
2068
|
-
* Sets the fuzz
|
|
2078
|
+
* Sets the fuzz weight texture
|
|
2079
|
+
*/
|
|
2080
|
+
fuzzWeightTexture: Nullable<BaseTexture>;
|
|
2081
|
+
/**
|
|
2082
|
+
* Sets the fuzz color
|
|
2069
2083
|
*/
|
|
2070
2084
|
fuzzColor: Color3;
|
|
2071
2085
|
/**
|
|
2072
|
-
* Sets the fuzz color texture
|
|
2086
|
+
* Sets the fuzz color texture
|
|
2073
2087
|
*/
|
|
2074
2088
|
fuzzColorTexture: Nullable<BaseTexture>;
|
|
2075
2089
|
/**
|
|
2076
|
-
* Sets the fuzz roughness
|
|
2090
|
+
* Sets the fuzz roughness
|
|
2077
2091
|
*/
|
|
2078
2092
|
fuzzRoughness: number;
|
|
2079
2093
|
/**
|
|
2080
|
-
* Sets the fuzz roughness texture
|
|
2094
|
+
* Sets the fuzz roughness texture
|
|
2081
2095
|
*/
|
|
2082
2096
|
fuzzRoughnessTexture: Nullable<BaseTexture>;
|
|
2083
2097
|
/**
|
|
2084
|
-
* Sets/gets the specular roughness anisotropy
|
|
2098
|
+
* Sets/gets the specular roughness anisotropy
|
|
2085
2099
|
*/
|
|
2086
2100
|
specularRoughnessAnisotropy: number;
|
|
2087
2101
|
/**
|
|
2088
|
-
* Sets the anisotropy rotation
|
|
2102
|
+
* Sets the anisotropy rotation
|
|
2089
2103
|
*/
|
|
2090
2104
|
geometryTangentAngle: number;
|
|
2091
2105
|
/**
|
|
2092
|
-
* Sets/gets the anisotropy texture
|
|
2106
|
+
* Sets/gets the anisotropy texture
|
|
2093
2107
|
*/
|
|
2094
2108
|
geometryTangentTexture: Nullable<BaseTexture>;
|
|
2095
2109
|
/**
|
|
@@ -2122,15 +2136,15 @@ export interface IMaterialLoadingAdapter {
|
|
|
2122
2136
|
*/
|
|
2123
2137
|
thinFilmThicknessTexture: Nullable<BaseTexture>;
|
|
2124
2138
|
/**
|
|
2125
|
-
* Sets the unlit flag
|
|
2139
|
+
* Sets the unlit flag
|
|
2126
2140
|
*/
|
|
2127
2141
|
unlit: boolean;
|
|
2128
2142
|
/**
|
|
2129
|
-
* Sets/gets the geometry opacity
|
|
2143
|
+
* Sets/gets the geometry opacity
|
|
2130
2144
|
*/
|
|
2131
2145
|
geometryOpacity: number;
|
|
2132
2146
|
/**
|
|
2133
|
-
* Sets/gets the geometry normal texture
|
|
2147
|
+
* Sets/gets the geometry normal texture
|
|
2134
2148
|
*/
|
|
2135
2149
|
geometryNormalTexture: Nullable<BaseTexture>;
|
|
2136
2150
|
/**
|
|
@@ -2140,7 +2154,7 @@ export interface IMaterialLoadingAdapter {
|
|
|
2140
2154
|
*/
|
|
2141
2155
|
setNormalMapInversions(invertX: boolean, invertY: boolean): void;
|
|
2142
2156
|
/**
|
|
2143
|
-
* Sets/gets the coat normal texture
|
|
2157
|
+
* Sets/gets the coat normal texture
|
|
2144
2158
|
*/
|
|
2145
2159
|
geometryCoatNormalTexture: Nullable<BaseTexture>;
|
|
2146
2160
|
/**
|
|
@@ -3437,10 +3451,12 @@ export * from "babylonjs-loaders/glTF/2.0/Extensions/EXT_lights_area";
|
|
|
3437
3451
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness";
|
|
3438
3452
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_unlit";
|
|
3439
3453
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat";
|
|
3454
|
+
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_coat";
|
|
3440
3455
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_iridescence";
|
|
3441
3456
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_anisotropy";
|
|
3442
3457
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength";
|
|
3443
3458
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_sheen";
|
|
3459
|
+
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_fuzz";
|
|
3444
3460
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_specular";
|
|
3445
3461
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_ior";
|
|
3446
3462
|
export * from "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_variants";
|
|
@@ -4477,6 +4493,51 @@ export class KHR_materials_ior implements IGLTFLoaderExtension {
|
|
|
4477
4493
|
private _loadIorPropertiesAsync;
|
|
4478
4494
|
}
|
|
4479
4495
|
|
|
4496
|
+
}
|
|
4497
|
+
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_fuzz" {
|
|
4498
|
+
import { Nullable } from "babylonjs/types";
|
|
4499
|
+
import { Material } from "babylonjs/Materials/material";
|
|
4500
|
+
import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
|
|
4501
|
+
import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
|
|
4502
|
+
import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
|
|
4503
|
+
module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
4504
|
+
interface GLTFLoaderExtensionOptions {
|
|
4505
|
+
/**
|
|
4506
|
+
* Defines options for the KHR_materials_fuzz extension.
|
|
4507
|
+
*/
|
|
4508
|
+
["KHR_materials_fuzz"]: {};
|
|
4509
|
+
}
|
|
4510
|
+
}
|
|
4511
|
+
/**
|
|
4512
|
+
* [Specification]
|
|
4513
|
+
*/
|
|
4514
|
+
export class KHR_materials_fuzz implements IGLTFLoaderExtension {
|
|
4515
|
+
/**
|
|
4516
|
+
* The name of this extension.
|
|
4517
|
+
*/
|
|
4518
|
+
readonly name: string;
|
|
4519
|
+
/**
|
|
4520
|
+
* Defines whether this extension is enabled.
|
|
4521
|
+
*/
|
|
4522
|
+
enabled: boolean;
|
|
4523
|
+
/**
|
|
4524
|
+
* Defines a number that determines the order the extensions are applied.
|
|
4525
|
+
*/
|
|
4526
|
+
order: number;
|
|
4527
|
+
private _loader;
|
|
4528
|
+
/**
|
|
4529
|
+
* @internal
|
|
4530
|
+
*/
|
|
4531
|
+
constructor(loader: GLTFLoader);
|
|
4532
|
+
/** @internal */
|
|
4533
|
+
dispose(): void;
|
|
4534
|
+
/**
|
|
4535
|
+
* @internal
|
|
4536
|
+
*/
|
|
4537
|
+
loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
4538
|
+
private _loadFuzzPropertiesAsync;
|
|
4539
|
+
}
|
|
4540
|
+
|
|
4480
4541
|
}
|
|
4481
4542
|
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_emissive_strength" {
|
|
4482
4543
|
import { Nullable } from "babylonjs/types";
|
|
@@ -4660,6 +4721,58 @@ export class KHR_materials_diffuse_roughness implements IGLTFLoaderExtension {
|
|
|
4660
4721
|
private _loadDiffuseRoughnessPropertiesAsync;
|
|
4661
4722
|
}
|
|
4662
4723
|
|
|
4724
|
+
}
|
|
4725
|
+
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_coat" {
|
|
4726
|
+
import { Nullable } from "babylonjs/types";
|
|
4727
|
+
import { Material } from "babylonjs/Materials/material";
|
|
4728
|
+
import { IMaterial } from "babylonjs-loaders/glTF/2.0/glTFLoaderInterfaces";
|
|
4729
|
+
import { IGLTFLoaderExtension } from "babylonjs-loaders/glTF/2.0/glTFLoaderExtension";
|
|
4730
|
+
import { GLTFLoader } from "babylonjs-loaders/glTF/2.0/glTFLoader";
|
|
4731
|
+
module "babylonjs-loaders/glTF/glTFFileLoader" {
|
|
4732
|
+
interface GLTFLoaderExtensionOptions {
|
|
4733
|
+
/**
|
|
4734
|
+
* Defines options for the KHR_materials_coat extension.
|
|
4735
|
+
*/
|
|
4736
|
+
["KHR_materials_coat"]: {};
|
|
4737
|
+
}
|
|
4738
|
+
}
|
|
4739
|
+
/**
|
|
4740
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_coat/README.md)
|
|
4741
|
+
* [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
|
|
4742
|
+
*/
|
|
4743
|
+
export class KHR_materials_coat implements IGLTFLoaderExtension {
|
|
4744
|
+
/**
|
|
4745
|
+
* The name of this extension.
|
|
4746
|
+
*/
|
|
4747
|
+
readonly name: string;
|
|
4748
|
+
/**
|
|
4749
|
+
* Defines whether this extension is enabled.
|
|
4750
|
+
*/
|
|
4751
|
+
enabled: boolean;
|
|
4752
|
+
/**
|
|
4753
|
+
* Defines a number that determines the order the extensions are applied.
|
|
4754
|
+
*/
|
|
4755
|
+
order: number;
|
|
4756
|
+
private _loader;
|
|
4757
|
+
/**
|
|
4758
|
+
* Defines whether the KHR_materials_openpbr extension is used, indicating that
|
|
4759
|
+
* the material should be interpreted as OpenPBR (for coat, this might be necessary
|
|
4760
|
+
* to interpret anisotropy correctly).
|
|
4761
|
+
*/
|
|
4762
|
+
private useOpenPBR;
|
|
4763
|
+
/**
|
|
4764
|
+
* @internal
|
|
4765
|
+
*/
|
|
4766
|
+
constructor(loader: GLTFLoader);
|
|
4767
|
+
/** @internal */
|
|
4768
|
+
dispose(): void;
|
|
4769
|
+
/**
|
|
4770
|
+
* @internal
|
|
4771
|
+
*/
|
|
4772
|
+
loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
4773
|
+
private _loadCoatPropertiesAsync;
|
|
4774
|
+
}
|
|
4775
|
+
|
|
4663
4776
|
}
|
|
4664
4777
|
declare module "babylonjs-loaders/glTF/2.0/Extensions/KHR_materials_clearcoat" {
|
|
4665
4778
|
import { Nullable } from "babylonjs/types";
|
|
@@ -4704,9 +4817,6 @@ export class KHR_materials_clearcoat implements IGLTFLoaderExtension {
|
|
|
4704
4817
|
*/
|
|
4705
4818
|
loadMaterialPropertiesAsync(context: string, material: IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
4706
4819
|
private _loadClearCoatPropertiesAsync;
|
|
4707
|
-
private _loadClearCoatDarkeningPropertiesAsync;
|
|
4708
|
-
private _loadClearCoatColorPropertiesAsync;
|
|
4709
|
-
private _loadClearCoatAnisotropyPropertiesAsync;
|
|
4710
4820
|
}
|
|
4711
4821
|
|
|
4712
4822
|
}
|
|
@@ -8470,6 +8580,11 @@ declare module BABYLON.GLTF2 {
|
|
|
8470
8580
|
* @param value The sheen weight value
|
|
8471
8581
|
*/
|
|
8472
8582
|
set fuzzWeight(value: number);
|
|
8583
|
+
/**
|
|
8584
|
+
* Sets the fuzz weight texture.
|
|
8585
|
+
* @param value The fuzz weight texture or null
|
|
8586
|
+
*/
|
|
8587
|
+
set fuzzWeightTexture(value: Nullable<BaseTexture>);
|
|
8473
8588
|
/**
|
|
8474
8589
|
* Sets the sheen color (mapped to PBR sheen.color).
|
|
8475
8590
|
* Automatically enables sheen.
|
|
@@ -9075,6 +9190,11 @@ declare module BABYLON.GLTF2 {
|
|
|
9075
9190
|
* @param value The fuzz weight value
|
|
9076
9191
|
*/
|
|
9077
9192
|
set fuzzWeight(value: number);
|
|
9193
|
+
/**
|
|
9194
|
+
* Sets the fuzz weight texture.
|
|
9195
|
+
* @param value The fuzz weight texture or null
|
|
9196
|
+
*/
|
|
9197
|
+
set fuzzWeightTexture(value: Nullable<BaseTexture>);
|
|
9078
9198
|
/**
|
|
9079
9199
|
* Sets the fuzz color.
|
|
9080
9200
|
* @param value The fuzz color as a Color3
|
|
@@ -9247,27 +9367,27 @@ declare module BABYLON.GLTF2 {
|
|
|
9247
9367
|
*/
|
|
9248
9368
|
transparencyAsAlphaCoverage: boolean;
|
|
9249
9369
|
/**
|
|
9250
|
-
* Sets/gets the base color
|
|
9370
|
+
* Sets/gets the base color
|
|
9251
9371
|
*/
|
|
9252
9372
|
baseColor: Color3;
|
|
9253
9373
|
/**
|
|
9254
|
-
* Sets/gets the base color texture
|
|
9374
|
+
* Sets/gets the base color texture
|
|
9255
9375
|
*/
|
|
9256
9376
|
baseColorTexture: Nullable<BaseTexture>;
|
|
9257
9377
|
/**
|
|
9258
|
-
* Sets/gets the base diffuse roughness
|
|
9378
|
+
* Sets/gets the base diffuse roughness
|
|
9259
9379
|
*/
|
|
9260
9380
|
baseDiffuseRoughness: number;
|
|
9261
9381
|
/**
|
|
9262
|
-
* Sets/gets the base diffuse roughness texture
|
|
9382
|
+
* Sets/gets the base diffuse roughness texture
|
|
9263
9383
|
*/
|
|
9264
9384
|
baseDiffuseRoughnessTexture: Nullable<BaseTexture>;
|
|
9265
9385
|
/**
|
|
9266
|
-
* Sets/gets the base metalness
|
|
9386
|
+
* Sets/gets the base metalness
|
|
9267
9387
|
*/
|
|
9268
9388
|
baseMetalness: number;
|
|
9269
9389
|
/**
|
|
9270
|
-
* Sets/gets the base metalness texture
|
|
9390
|
+
* Sets/gets the base metalness texture
|
|
9271
9391
|
*/
|
|
9272
9392
|
baseMetalnessTexture: Nullable<BaseTexture>;
|
|
9273
9393
|
/**
|
|
@@ -9284,23 +9404,23 @@ declare module BABYLON.GLTF2 {
|
|
|
9284
9404
|
*/
|
|
9285
9405
|
enableSpecularEdgeColor(enableEdgeColor?: boolean): void;
|
|
9286
9406
|
/**
|
|
9287
|
-
* Sets/gets the specular weight
|
|
9407
|
+
* Sets/gets the specular weight
|
|
9288
9408
|
*/
|
|
9289
9409
|
specularWeight: number;
|
|
9290
9410
|
/**
|
|
9291
|
-
* Sets/gets the specular weight texture
|
|
9411
|
+
* Sets/gets the specular weight texture
|
|
9292
9412
|
*/
|
|
9293
9413
|
specularWeightTexture: Nullable<BaseTexture>;
|
|
9294
9414
|
/**
|
|
9295
|
-
* Sets/gets the specular color
|
|
9415
|
+
* Sets/gets the specular color
|
|
9296
9416
|
*/
|
|
9297
9417
|
specularColor: Color3;
|
|
9298
9418
|
/**
|
|
9299
|
-
* Sets/gets the specular color texture
|
|
9419
|
+
* Sets/gets the specular color texture
|
|
9300
9420
|
*/
|
|
9301
9421
|
specularColorTexture: Nullable<BaseTexture>;
|
|
9302
9422
|
/**
|
|
9303
|
-
* Sets/gets the specular roughness
|
|
9423
|
+
* Sets/gets the specular roughness
|
|
9304
9424
|
*/
|
|
9305
9425
|
specularRoughness: number;
|
|
9306
9426
|
/**
|
|
@@ -9308,15 +9428,15 @@ declare module BABYLON.GLTF2 {
|
|
|
9308
9428
|
*/
|
|
9309
9429
|
specularRoughnessTexture: Nullable<BaseTexture>;
|
|
9310
9430
|
/**
|
|
9311
|
-
* Sets/gets the specular IOR
|
|
9431
|
+
* Sets/gets the specular IOR
|
|
9312
9432
|
*/
|
|
9313
9433
|
specularIor: number;
|
|
9314
9434
|
/**
|
|
9315
|
-
* Sets/gets the emissive color
|
|
9435
|
+
* Sets/gets the emissive color
|
|
9316
9436
|
*/
|
|
9317
9437
|
emissionColor: Color3;
|
|
9318
9438
|
/**
|
|
9319
|
-
* Sets/gets the emissive luminance
|
|
9439
|
+
* Sets/gets the emissive luminance
|
|
9320
9440
|
*/
|
|
9321
9441
|
emissionLuminance: number;
|
|
9322
9442
|
/**
|
|
@@ -9324,7 +9444,7 @@ declare module BABYLON.GLTF2 {
|
|
|
9324
9444
|
*/
|
|
9325
9445
|
emissionColorTexture: Nullable<BaseTexture>;
|
|
9326
9446
|
/**
|
|
9327
|
-
* Sets/gets the ambient occlusion texture
|
|
9447
|
+
* Sets/gets the ambient occlusion texture
|
|
9328
9448
|
*/
|
|
9329
9449
|
ambientOcclusionTexture: Nullable<BaseTexture>;
|
|
9330
9450
|
/**
|
|
@@ -9336,27 +9456,27 @@ declare module BABYLON.GLTF2 {
|
|
|
9336
9456
|
*/
|
|
9337
9457
|
configureCoat(): void;
|
|
9338
9458
|
/**
|
|
9339
|
-
* Sets/gets the coat weight
|
|
9459
|
+
* Sets/gets the coat weight
|
|
9340
9460
|
*/
|
|
9341
9461
|
coatWeight: number;
|
|
9342
9462
|
/**
|
|
9343
|
-
* Sets/gets the coat weight texture
|
|
9463
|
+
* Sets/gets the coat weight texture
|
|
9344
9464
|
*/
|
|
9345
9465
|
coatWeightTexture: Nullable<BaseTexture>;
|
|
9346
9466
|
/**
|
|
9347
|
-
* Sets the coat color
|
|
9467
|
+
* Sets the coat color
|
|
9348
9468
|
*/
|
|
9349
9469
|
coatColor: Color3;
|
|
9350
9470
|
/**
|
|
9351
|
-
* Sets the coat color texture
|
|
9471
|
+
* Sets the coat color texture
|
|
9352
9472
|
*/
|
|
9353
9473
|
coatColorTexture: Nullable<BaseTexture>;
|
|
9354
9474
|
/**
|
|
9355
|
-
* Sets/gets the coat roughness
|
|
9475
|
+
* Sets/gets the coat roughness
|
|
9356
9476
|
*/
|
|
9357
9477
|
coatRoughness: number;
|
|
9358
9478
|
/**
|
|
9359
|
-
* Sets/gets the coat roughness texture
|
|
9479
|
+
* Sets/gets the coat roughness texture
|
|
9360
9480
|
*/
|
|
9361
9481
|
coatRoughnessTexture: Nullable<BaseTexture>;
|
|
9362
9482
|
/**
|
|
@@ -9364,39 +9484,39 @@ declare module BABYLON.GLTF2 {
|
|
|
9364
9484
|
*/
|
|
9365
9485
|
coatIor: number;
|
|
9366
9486
|
/**
|
|
9367
|
-
* Sets the coat darkening
|
|
9487
|
+
* Sets the coat darkening
|
|
9368
9488
|
*/
|
|
9369
9489
|
coatDarkening: number;
|
|
9370
9490
|
/**
|
|
9371
|
-
* Sets the coat darkening texture
|
|
9491
|
+
* Sets the coat darkening texture
|
|
9372
9492
|
*/
|
|
9373
9493
|
coatDarkeningTexture: Nullable<BaseTexture>;
|
|
9374
9494
|
/**
|
|
9375
|
-
* Sets/gets the coat roughness anisotropy
|
|
9495
|
+
* Sets/gets the coat roughness anisotropy
|
|
9376
9496
|
*/
|
|
9377
9497
|
coatRoughnessAnisotropy: number;
|
|
9378
9498
|
/**
|
|
9379
|
-
* Sets the coat tangent angle for anisotropy
|
|
9499
|
+
* Sets the coat tangent angle for anisotropy
|
|
9380
9500
|
*/
|
|
9381
9501
|
geometryCoatTangentAngle: number;
|
|
9382
9502
|
/**
|
|
9383
|
-
* Sets the coat tangent texture for anisotropy
|
|
9503
|
+
* Sets the coat tangent texture for anisotropy
|
|
9384
9504
|
*/
|
|
9385
9505
|
geometryCoatTangentTexture: Nullable<BaseTexture>;
|
|
9386
9506
|
/**
|
|
9387
|
-
* Sets the transmission weight
|
|
9507
|
+
* Sets the transmission weight
|
|
9388
9508
|
*/
|
|
9389
9509
|
transmissionWeight: number;
|
|
9390
9510
|
/**
|
|
9391
|
-
* Sets the transmission weight texture
|
|
9511
|
+
* Sets the transmission weight texture
|
|
9392
9512
|
*/
|
|
9393
9513
|
transmissionWeightTexture: Nullable<BaseTexture>;
|
|
9394
9514
|
/**
|
|
9395
|
-
* Sets the attenuation distance
|
|
9515
|
+
* Sets the attenuation distance
|
|
9396
9516
|
*/
|
|
9397
9517
|
transmissionDepth: number;
|
|
9398
9518
|
/**
|
|
9399
|
-
* Sets the attenuation color
|
|
9519
|
+
* Sets the attenuation color
|
|
9400
9520
|
*/
|
|
9401
9521
|
transmissionColor: Color3;
|
|
9402
9522
|
/**
|
|
@@ -9408,11 +9528,11 @@ declare module BABYLON.GLTF2 {
|
|
|
9408
9528
|
*/
|
|
9409
9529
|
configureTransmission(): void;
|
|
9410
9530
|
/**
|
|
9411
|
-
* Sets the thickness texture
|
|
9531
|
+
* Sets the thickness texture
|
|
9412
9532
|
*/
|
|
9413
9533
|
volumeThicknessTexture: Nullable<BaseTexture>;
|
|
9414
9534
|
/**
|
|
9415
|
-
* Sets the thickness factor
|
|
9535
|
+
* Sets the thickness factor
|
|
9416
9536
|
*/
|
|
9417
9537
|
volumeThickness: number;
|
|
9418
9538
|
/**
|
|
@@ -9428,11 +9548,11 @@ declare module BABYLON.GLTF2 {
|
|
|
9428
9548
|
*/
|
|
9429
9549
|
subsurfaceWeightTexture: Nullable<BaseTexture>;
|
|
9430
9550
|
/**
|
|
9431
|
-
* Sets/gets the subsurface color
|
|
9551
|
+
* Sets/gets the subsurface color
|
|
9432
9552
|
*/
|
|
9433
9553
|
subsurfaceColor: Color3;
|
|
9434
9554
|
/**
|
|
9435
|
-
* Sets/gets the subsurface color texture
|
|
9555
|
+
* Sets/gets the subsurface color texture
|
|
9436
9556
|
*/
|
|
9437
9557
|
subsurfaceColorTexture: Nullable<BaseTexture>;
|
|
9438
9558
|
/**
|
|
@@ -9440,35 +9560,39 @@ declare module BABYLON.GLTF2 {
|
|
|
9440
9560
|
*/
|
|
9441
9561
|
configureFuzz(): void;
|
|
9442
9562
|
/**
|
|
9443
|
-
* Sets the fuzz weight
|
|
9563
|
+
* Sets the fuzz weight
|
|
9444
9564
|
*/
|
|
9445
9565
|
fuzzWeight: number;
|
|
9446
9566
|
/**
|
|
9447
|
-
* Sets the fuzz
|
|
9567
|
+
* Sets the fuzz weight texture
|
|
9568
|
+
*/
|
|
9569
|
+
fuzzWeightTexture: Nullable<BaseTexture>;
|
|
9570
|
+
/**
|
|
9571
|
+
* Sets the fuzz color
|
|
9448
9572
|
*/
|
|
9449
9573
|
fuzzColor: Color3;
|
|
9450
9574
|
/**
|
|
9451
|
-
* Sets the fuzz color texture
|
|
9575
|
+
* Sets the fuzz color texture
|
|
9452
9576
|
*/
|
|
9453
9577
|
fuzzColorTexture: Nullable<BaseTexture>;
|
|
9454
9578
|
/**
|
|
9455
|
-
* Sets the fuzz roughness
|
|
9579
|
+
* Sets the fuzz roughness
|
|
9456
9580
|
*/
|
|
9457
9581
|
fuzzRoughness: number;
|
|
9458
9582
|
/**
|
|
9459
|
-
* Sets the fuzz roughness texture
|
|
9583
|
+
* Sets the fuzz roughness texture
|
|
9460
9584
|
*/
|
|
9461
9585
|
fuzzRoughnessTexture: Nullable<BaseTexture>;
|
|
9462
9586
|
/**
|
|
9463
|
-
* Sets/gets the specular roughness anisotropy
|
|
9587
|
+
* Sets/gets the specular roughness anisotropy
|
|
9464
9588
|
*/
|
|
9465
9589
|
specularRoughnessAnisotropy: number;
|
|
9466
9590
|
/**
|
|
9467
|
-
* Sets the anisotropy rotation
|
|
9591
|
+
* Sets the anisotropy rotation
|
|
9468
9592
|
*/
|
|
9469
9593
|
geometryTangentAngle: number;
|
|
9470
9594
|
/**
|
|
9471
|
-
* Sets/gets the anisotropy texture
|
|
9595
|
+
* Sets/gets the anisotropy texture
|
|
9472
9596
|
*/
|
|
9473
9597
|
geometryTangentTexture: Nullable<BaseTexture>;
|
|
9474
9598
|
/**
|
|
@@ -9501,15 +9625,15 @@ declare module BABYLON.GLTF2 {
|
|
|
9501
9625
|
*/
|
|
9502
9626
|
thinFilmThicknessTexture: Nullable<BaseTexture>;
|
|
9503
9627
|
/**
|
|
9504
|
-
* Sets the unlit flag
|
|
9628
|
+
* Sets the unlit flag
|
|
9505
9629
|
*/
|
|
9506
9630
|
unlit: boolean;
|
|
9507
9631
|
/**
|
|
9508
|
-
* Sets/gets the geometry opacity
|
|
9632
|
+
* Sets/gets the geometry opacity
|
|
9509
9633
|
*/
|
|
9510
9634
|
geometryOpacity: number;
|
|
9511
9635
|
/**
|
|
9512
|
-
* Sets/gets the geometry normal texture
|
|
9636
|
+
* Sets/gets the geometry normal texture
|
|
9513
9637
|
*/
|
|
9514
9638
|
geometryNormalTexture: Nullable<BaseTexture>;
|
|
9515
9639
|
/**
|
|
@@ -9519,7 +9643,7 @@ declare module BABYLON.GLTF2 {
|
|
|
9519
9643
|
*/
|
|
9520
9644
|
setNormalMapInversions(invertX: boolean, invertY: boolean): void;
|
|
9521
9645
|
/**
|
|
9522
|
-
* Sets/gets the coat normal texture
|
|
9646
|
+
* Sets/gets the coat normal texture
|
|
9523
9647
|
*/
|
|
9524
9648
|
geometryCoatNormalTexture: Nullable<BaseTexture>;
|
|
9525
9649
|
/**
|
|
@@ -11762,6 +11886,49 @@ declare module BABYLON {
|
|
|
11762
11886
|
["KHR_materials_ior"]: {};
|
|
11763
11887
|
}
|
|
11764
11888
|
|
|
11889
|
+
}
|
|
11890
|
+
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11891
|
+
/**
|
|
11892
|
+
* [Specification]
|
|
11893
|
+
*/
|
|
11894
|
+
export class KHR_materials_fuzz implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
11895
|
+
/**
|
|
11896
|
+
* The name of this extension.
|
|
11897
|
+
*/
|
|
11898
|
+
readonly name = "KHR_materials_fuzz";
|
|
11899
|
+
/**
|
|
11900
|
+
* Defines whether this extension is enabled.
|
|
11901
|
+
*/
|
|
11902
|
+
enabled: boolean;
|
|
11903
|
+
/**
|
|
11904
|
+
* Defines a number that determines the order the extensions are applied.
|
|
11905
|
+
*/
|
|
11906
|
+
order: number;
|
|
11907
|
+
private _loader;
|
|
11908
|
+
/**
|
|
11909
|
+
* @internal
|
|
11910
|
+
*/
|
|
11911
|
+
constructor(loader: BABYLON.GLTF2.GLTFLoader);
|
|
11912
|
+
/** @internal */
|
|
11913
|
+
dispose(): void;
|
|
11914
|
+
/**
|
|
11915
|
+
* @internal
|
|
11916
|
+
*/
|
|
11917
|
+
loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
11918
|
+
private _loadFuzzPropertiesAsync;
|
|
11919
|
+
}
|
|
11920
|
+
|
|
11921
|
+
|
|
11922
|
+
|
|
11923
|
+
}
|
|
11924
|
+
declare module BABYLON {
|
|
11925
|
+
interface GLTFLoaderExtensionOptions {
|
|
11926
|
+
/**
|
|
11927
|
+
* Defines options for the KHR_materials_fuzz extension.
|
|
11928
|
+
*/
|
|
11929
|
+
["KHR_materials_fuzz"]: {};
|
|
11930
|
+
}
|
|
11931
|
+
|
|
11765
11932
|
}
|
|
11766
11933
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11767
11934
|
/**
|
|
@@ -11937,6 +12104,56 @@ declare module BABYLON {
|
|
|
11937
12104
|
["KHR_materials_diffuse_roughness"]: {};
|
|
11938
12105
|
}
|
|
11939
12106
|
|
|
12107
|
+
}
|
|
12108
|
+
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
12109
|
+
/**
|
|
12110
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_materials_coat/README.md)
|
|
12111
|
+
* [Playground Sample](https://www.babylonjs-playground.com/frame.html#7F7PN6#8)
|
|
12112
|
+
*/
|
|
12113
|
+
export class KHR_materials_coat implements BABYLON.GLTF2.IGLTFLoaderExtension {
|
|
12114
|
+
/**
|
|
12115
|
+
* The name of this extension.
|
|
12116
|
+
*/
|
|
12117
|
+
readonly name = "KHR_materials_coat";
|
|
12118
|
+
/**
|
|
12119
|
+
* Defines whether this extension is enabled.
|
|
12120
|
+
*/
|
|
12121
|
+
enabled: boolean;
|
|
12122
|
+
/**
|
|
12123
|
+
* Defines a number that determines the order the extensions are applied.
|
|
12124
|
+
*/
|
|
12125
|
+
order: number;
|
|
12126
|
+
private _loader;
|
|
12127
|
+
/**
|
|
12128
|
+
* Defines whether the KHR_materials_openpbr extension is used, indicating that
|
|
12129
|
+
* the material should be interpreted as OpenPBR (for coat, this might be necessary
|
|
12130
|
+
* to interpret anisotropy correctly).
|
|
12131
|
+
*/
|
|
12132
|
+
private useOpenPBR;
|
|
12133
|
+
/**
|
|
12134
|
+
* @internal
|
|
12135
|
+
*/
|
|
12136
|
+
constructor(loader: BABYLON.GLTF2.GLTFLoader);
|
|
12137
|
+
/** @internal */
|
|
12138
|
+
dispose(): void;
|
|
12139
|
+
/**
|
|
12140
|
+
* @internal
|
|
12141
|
+
*/
|
|
12142
|
+
loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
12143
|
+
private _loadCoatPropertiesAsync;
|
|
12144
|
+
}
|
|
12145
|
+
|
|
12146
|
+
|
|
12147
|
+
|
|
12148
|
+
}
|
|
12149
|
+
declare module BABYLON {
|
|
12150
|
+
interface GLTFLoaderExtensionOptions {
|
|
12151
|
+
/**
|
|
12152
|
+
* Defines options for the KHR_materials_coat extension.
|
|
12153
|
+
*/
|
|
12154
|
+
["KHR_materials_coat"]: {};
|
|
12155
|
+
}
|
|
12156
|
+
|
|
11940
12157
|
}
|
|
11941
12158
|
declare module BABYLON.GLTF2.Loader.Extensions {
|
|
11942
12159
|
/**
|
|
@@ -11968,9 +12185,6 @@ declare module BABYLON.GLTF2.Loader.Extensions {
|
|
|
11968
12185
|
*/
|
|
11969
12186
|
loadMaterialPropertiesAsync(context: string, material: BABYLON.GLTF2.Loader.IMaterial, babylonMaterial: Material): Nullable<Promise<void>>;
|
|
11970
12187
|
private _loadClearCoatPropertiesAsync;
|
|
11971
|
-
private _loadClearCoatDarkeningPropertiesAsync;
|
|
11972
|
-
private _loadClearCoatColorPropertiesAsync;
|
|
11973
|
-
private _loadClearCoatAnisotropyPropertiesAsync;
|
|
11974
12188
|
}
|
|
11975
12189
|
|
|
11976
12190
|
|