1 | import { Color, ColorRepresentation } from "../math/Color.js";
|
2 | import { Vector2 } from "../math/Vector2.js";
|
3 | import { Texture } from "../textures/Texture.js";
|
4 | import { MeshStandardMaterial, MeshStandardMaterialParameters } from "./MeshStandardMaterial.js";
|
5 |
|
6 | export interface MeshPhysicalMaterialParameters extends MeshStandardMaterialParameters {
|
7 | anisotropyRotation?: number | undefined;
|
8 | anisotropyMap?: Texture | null | undefined;
|
9 |
|
10 | clearcoatMap?: Texture | null | undefined;
|
11 | clearcoatRoughness?: number | undefined;
|
12 | clearcoatRoughnessMap?: Texture | null | undefined;
|
13 | clearcoatNormalScale?: Vector2 | undefined;
|
14 | clearcoatNormalMap?: Texture | null | undefined;
|
15 |
|
16 | ior?: number | undefined;
|
17 |
|
18 | reflectivity?: number | undefined;
|
19 |
|
20 | iridescenceMap?: Texture | null | undefined;
|
21 | iridescenceIOR?: number | undefined;
|
22 | iridescenceThicknessRange?: [number, number] | undefined;
|
23 | iridescenceThicknessMap?: Texture | null | undefined;
|
24 |
|
25 | sheenColor?: ColorRepresentation | undefined;
|
26 | sheenColorMap?: Texture | null | undefined;
|
27 | sheenRoughness?: number | undefined;
|
28 | sheenRoughnessMap?: Texture | null | undefined;
|
29 |
|
30 | transmissionMap?: Texture | null | undefined;
|
31 |
|
32 | thickness?: number | undefined;
|
33 | thicknessMap?: Texture | null | undefined;
|
34 | attenuationDistance?: number | undefined;
|
35 | attenuationColor?: ColorRepresentation | undefined;
|
36 |
|
37 | specularIntensity?: number | undefined;
|
38 | specularIntensityMap?: Texture | null | undefined;
|
39 | specularColor?: ColorRepresentation | undefined;
|
40 | specularColorMap?: Texture | null | undefined;
|
41 |
|
42 | anisotropy?: number | undefined;
|
43 | clearcoat?: number | undefined;
|
44 | iridescence?: number | undefined;
|
45 | dispersion?: number | undefined;
|
46 | sheen?: number | undefined;
|
47 | transmission?: number | undefined;
|
48 | }
|
49 |
|
50 | export class MeshPhysicalMaterial extends MeshStandardMaterial {
|
51 | constructor(parameters?: MeshPhysicalMaterialParameters);
|
52 |
|
53 | /**
|
54 | * Read-only flag to check if a given object is of type {@link MeshPhysicalMaterial}.
|
55 | * @remarks This is a _constant_ value
|
56 | * @defaultValue `true`
|
57 | */
|
58 | readonly isMeshPhysicalMaterial: true;
|
59 |
|
60 | |
61 |
|
62 |
|
63 | defines: { [key: string]: any };
|
64 |
|
65 | |
66 |
|
67 |
|
68 | anisotropyRotation?: number;
|
69 |
|
70 | |
71 |
|
72 |
|
73 | anisotropyMap?: Texture | null;
|
74 |
|
75 | |
76 |
|
77 |
|
78 | clearcoatMap: Texture | null;
|
79 |
|
80 | |
81 |
|
82 |
|
83 | clearcoatRoughness: number;
|
84 |
|
85 | |
86 |
|
87 |
|
88 | clearcoatRoughnessMap: Texture | null;
|
89 |
|
90 | |
91 |
|
92 |
|
93 | clearcoatNormalScale: Vector2;
|
94 |
|
95 | |
96 |
|
97 |
|
98 | clearcoatNormalMap: Texture | null;
|
99 |
|
100 | |
101 |
|
102 |
|
103 | ior: number;
|
104 |
|
105 | |
106 |
|
107 |
|
108 | get reflectivity(): number;
|
109 | set reflectivity(reflectivity: number);
|
110 |
|
111 | |
112 |
|
113 |
|
114 | iridescenceMap: Texture | null;
|
115 |
|
116 | |
117 |
|
118 |
|
119 | iridescenceIOR: number;
|
120 |
|
121 | |
122 |
|
123 |
|
124 | iridescenceThicknessRange: [number, number];
|
125 |
|
126 | |
127 |
|
128 |
|
129 | iridescenceThicknessMap: Texture | null;
|
130 |
|
131 | |
132 |
|
133 |
|
134 | sheenColor: Color;
|
135 |
|
136 | |
137 |
|
138 |
|
139 | sheenColorMap: Texture | null;
|
140 |
|
141 | |
142 |
|
143 |
|
144 | sheenRoughness: number;
|
145 |
|
146 | |
147 |
|
148 |
|
149 | sheenRoughnessMap: Texture | null;
|
150 |
|
151 | |
152 |
|
153 |
|
154 | transmissionMap: Texture | null;
|
155 |
|
156 | |
157 |
|
158 |
|
159 | thickness: number;
|
160 |
|
161 | |
162 |
|
163 |
|
164 | thicknessMap: Texture | null;
|
165 |
|
166 | |
167 |
|
168 |
|
169 | attenuationDistance: number;
|
170 |
|
171 | |
172 |
|
173 |
|
174 | attenuationColor: Color;
|
175 |
|
176 | |
177 |
|
178 |
|
179 | specularIntensity: number;
|
180 |
|
181 | |
182 |
|
183 |
|
184 | specularIntensityMap: Texture | null;
|
185 |
|
186 | |
187 |
|
188 |
|
189 | specularColor: Color;
|
190 |
|
191 | |
192 |
|
193 |
|
194 | specularColorMap: Texture | null;
|
195 |
|
196 | |
197 |
|
198 |
|
199 | get anisotropy(): number;
|
200 | set anisotropy(value: number);
|
201 |
|
202 | |
203 |
|
204 |
|
205 | get clearcoat(): number;
|
206 | set clearcoat(value: number);
|
207 |
|
208 | |
209 |
|
210 |
|
211 | get iridescence(): number;
|
212 | set iridescence(value: number);
|
213 |
|
214 | |
215 |
|
216 |
|
217 | get dispersion(): number;
|
218 | set dispersion(value: number);
|
219 |
|
220 | |
221 |
|
222 |
|
223 | get sheen(): number;
|
224 | set sheen(value: number);
|
225 |
|
226 | |
227 |
|
228 |
|
229 | get transmission(): number;
|
230 | set transmission(value: number);
|
231 | }
|