29 Q_PROPERTY(Lighting lighting READ lighting WRITE setLighting NOTIFY lightingChanged)
30 Q_PROPERTY(BlendMode blendMode READ blendMode WRITE setBlendMode NOTIFY blendModeChanged)
32 Q_PROPERTY(QColor baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged)
33 Q_PROPERTY(QQuick3DTexture *baseColorMap READ baseColorMap WRITE setBaseColorMap NOTIFY baseColorMapChanged)
34 Q_PROPERTY(
bool baseColorSingleChannelEnabled READ baseColorSingleChannelEnabled WRITE setBaseColorSingleChannelEnabled NOTIFY baseColorSingleChannelEnabledChanged REVISION(6, 8))
35 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping baseColorChannel READ baseColorChannel WRITE setBaseColorChannel NOTIFY baseColorChannelChanged REVISION(6, 8))
37 Q_PROPERTY(
float metalness READ metalness WRITE setMetalness NOTIFY metalnessChanged)
38 Q_PROPERTY(QQuick3DTexture *metalnessMap READ metalnessMap WRITE setMetalnessMap NOTIFY metalnessMapChanged)
39 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping metalnessChannel READ metalnessChannel WRITE setMetalnessChannel NOTIFY metalnessChannelChanged)
41 Q_PROPERTY(
float specularAmount READ specularAmount WRITE setSpecularAmount NOTIFY specularAmountChanged)
42 Q_PROPERTY(QQuick3DTexture *specularMap READ specularMap WRITE setSpecularMap NOTIFY specularMapChanged)
43 Q_PROPERTY(
float specularTint READ specularTint WRITE setSpecularTint NOTIFY specularTintChanged)
44 Q_PROPERTY(
bool specularSingleChannelEnabled READ specularSingleChannelEnabled WRITE setSpecularSingleChannelEnabled NOTIFY specularSingleChannelEnabledChanged REVISION(6, 8))
45 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping specularChannel READ specularChannel WRITE setSpecularChannel NOTIFY specularChannelChanged REVISION(6, 8))
47 Q_PROPERTY(
float roughness READ roughness WRITE setRoughness NOTIFY roughnessChanged)
48 Q_PROPERTY(QQuick3DTexture *roughnessMap READ roughnessMap WRITE setRoughnessMap NOTIFY roughnessMapChanged)
49 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping roughnessChannel READ roughnessChannel WRITE setRoughnessChannel NOTIFY roughnessChannelChanged)
51 Q_PROPERTY(QVector3D emissiveFactor READ emissiveFactor WRITE setEmissiveFactor NOTIFY emissiveFactorChanged)
52 Q_PROPERTY(QQuick3DTexture *emissiveMap READ emissiveMap WRITE setEmissiveMap NOTIFY emissiveMapChanged)
53 Q_PROPERTY(
bool emissiveSingleChannelEnabled READ emissiveSingleChannelEnabled WRITE setEmissiveSingleChannelEnabled NOTIFY emissiveSingleChannelEnabledChanged REVISION(6, 8))
54 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping emissiveChannel READ emissiveChannel WRITE setEmissiveChannel NOTIFY emissiveChannelChanged REVISION(6, 8))
56 Q_PROPERTY(
bool invertOpacityMapValue READ invertOpacityMapValue WRITE setInvertOpacityMapValue NOTIFY invertOpacityMapValueChanged REVISION(6, 8))
57 Q_PROPERTY(
float opacity READ opacity WRITE setOpacity NOTIFY opacityChanged)
58 Q_PROPERTY(QQuick3DTexture *opacityMap READ opacityMap WRITE setOpacityMap NOTIFY opacityMapChanged)
59 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping opacityChannel READ opacityChannel WRITE setOpacityChannel NOTIFY opacityChannelChanged)
61 Q_PROPERTY(QQuick3DTexture *normalMap READ normalMap WRITE setNormalMap NOTIFY normalMapChanged)
62 Q_PROPERTY(
float normalStrength READ normalStrength WRITE setNormalStrength NOTIFY normalStrengthChanged)
64 Q_PROPERTY(QQuick3DTexture *specularReflectionMap READ specularReflectionMap WRITE setSpecularReflectionMap NOTIFY specularReflectionMapChanged)
66 Q_PROPERTY(QQuick3DTexture *occlusionMap READ occlusionMap WRITE setOcclusionMap NOTIFY occlusionMapChanged)
67 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping occlusionChannel READ occlusionChannel WRITE setOcclusionChannel NOTIFY occlusionChannelChanged)
68 Q_PROPERTY(
float occlusionAmount READ occlusionAmount WRITE setOcclusionAmount NOTIFY occlusionAmountChanged)
70 Q_PROPERTY(AlphaMode alphaMode READ alphaMode WRITE setAlphaMode NOTIFY alphaModeChanged)
71 Q_PROPERTY(
float alphaCutoff READ alphaCutoff WRITE setAlphaCutoff NOTIFY alphaCutoffChanged)
73 Q_PROPERTY(
float pointSize READ pointSize WRITE setPointSize NOTIFY pointSizeChanged)
74 Q_PROPERTY(
float lineWidth READ lineWidth WRITE setLineWidth NOTIFY lineWidthChanged)
76 Q_PROPERTY(QQuick3DTexture *heightMap READ heightMap WRITE setHeightMap NOTIFY heightMapChanged REVISION(6, 2))
77 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping heightChannel READ heightChannel WRITE setHeightChannel NOTIFY heightChannelChanged REVISION(6, 2))
78 Q_PROPERTY(
float heightAmount READ heightAmount WRITE setHeightAmount NOTIFY heightAmountChanged REVISION(6, 2))
79 Q_PROPERTY(
int minHeightMapSamples READ minHeightMapSamples WRITE setMinHeightMapSamples NOTIFY minHeightMapSamplesChanged REVISION(6, 2))
80 Q_PROPERTY(
int maxHeightMapSamples READ maxHeightMapSamples WRITE setMaxHeightMapSamples NOTIFY maxHeightMapSamplesChanged REVISION(6, 2))
82 Q_PROPERTY(
float clearcoatAmount READ clearcoatAmount WRITE setClearcoatAmount NOTIFY clearcoatAmountChanged REVISION(6, 3))
83 Q_PROPERTY(QQuick3DTexture *clearcoatMap READ clearcoatMap WRITE setClearcoatMap NOTIFY clearcoatMapChanged REVISION(6, 3))
84 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping clearcoatChannel READ clearcoatChannel WRITE setClearcoatChannel NOTIFY
85 clearcoatChannelChanged REVISION(6, 3))
86 Q_PROPERTY(
float clearcoatRoughnessAmount READ clearcoatRoughnessAmount WRITE setClearcoatRoughnessAmount NOTIFY
87 clearcoatRoughnessAmountChanged REVISION(6, 3))
88 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping clearcoatRoughnessChannel READ clearcoatRoughnessChannel WRITE
89 setClearcoatRoughnessChannel NOTIFY clearcoatRoughnessChannelChanged REVISION(6, 3))
90 Q_PROPERTY(QQuick3DTexture *clearcoatRoughnessMap READ clearcoatRoughnessMap WRITE setClearcoatRoughnessMap NOTIFY
91 clearcoatRoughnessMapChanged REVISION(6, 3))
92 Q_PROPERTY(QQuick3DTexture *clearcoatNormalMap READ clearcoatNormalMap WRITE setClearcoatNormalMap NOTIFY
93 clearcoatNormalMapChanged REVISION(6, 3))
94 Q_PROPERTY(
float clearcoatNormalStrength READ clearcoatNormalStrength WRITE setClearcoatNormalStrength NOTIFY clearcoatNormalStrengthChanged REVISION(6, 8))
96 Q_PROPERTY(
float transmissionFactor READ transmissionFactor WRITE setTransmissionFactor NOTIFY transmissionFactorChanged)
97 Q_PROPERTY(QQuick3DTexture * transmissionMap READ transmissionMap WRITE setTransmissionMap NOTIFY transmissionMapChanged)
98 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping transmissionChannel READ transmissionChannel WRITE setTransmissionChannel NOTIFY transmissionChannelChanged)
100 Q_PROPERTY(
float thicknessFactor READ thicknessFactor WRITE setThicknessFactor NOTIFY thicknessFactorChanged REVISION(6, 3))
101 Q_PROPERTY(QQuick3DTexture *thicknessMap READ thicknessMap WRITE setThicknessMap NOTIFY thicknessMapChanged REVISION(6, 3))
102 Q_PROPERTY(QQuick3DMaterial::TextureChannelMapping thicknessChannel READ thicknessChannel WRITE setThicknessChannel NOTIFY
103 thicknessChannelChanged REVISION(6, 3))
104 Q_PROPERTY(
float attenuationDistance READ attenuationDistance WRITE setAttenuationDistance NOTIFY attenuationDistanceChanged REVISION(6, 3))
105 Q_PROPERTY(QColor attenuationColor READ attenuationColor WRITE setAttenuationColor NOTIFY attenuationColorChanged REVISION(6, 3))
107 Q_PROPERTY(
float indexOfRefraction READ indexOfRefraction WRITE setIndexOfRefraction NOTIFY indexOfRefractionChanged REVISION(6, 3))
109 Q_PROPERTY(
bool vertexColorsEnabled READ vertexColorsEnabled WRITE setVertexColorsEnabled NOTIFY vertexColorsEnabledChanged REVISION(6, 5))
111 Q_PROPERTY(
bool fresnelScaleBiasEnabled READ fresnelScaleBiasEnabled WRITE setFresnelScaleBiasEnabled NOTIFY fresnelScaleBiasEnabledChanged REVISION(6, 8))
112 Q_PROPERTY(
float fresnelScale READ fresnelScale WRITE setFresnelScale NOTIFY fresnelScaleChanged REVISION(6, 8))
113 Q_PROPERTY(
float fresnelBias READ fresnelBias WRITE setFresnelBias NOTIFY fresnelBiasChanged REVISION(6, 8))
114 Q_PROPERTY(
float fresnelPower READ fresnelPower WRITE setFresnelPower NOTIFY fresnelPowerChanged REVISION(6, 8))
116 Q_PROPERTY(
bool clearcoatFresnelScaleBiasEnabled READ clearcoatFresnelScaleBiasEnabled WRITE setClearcoatFresnelScaleBiasEnabled NOTIFY clearcoatFresnelScaleBiasEnabledChanged REVISION(6, 8))
117 Q_PROPERTY(
float clearcoatFresnelScale READ clearcoatFresnelScale WRITE setClearcoatFresnelScale NOTIFY clearcoatFresnelScaleChanged REVISION(6, 8))
118 Q_PROPERTY(
float clearcoatFresnelBias READ clearcoatFresnelBias WRITE setClearcoatFresnelBias NOTIFY clearcoatFresnelBiasChanged REVISION(6, 8))
119 Q_PROPERTY(
float clearcoatFresnelPower READ clearcoatFresnelPower WRITE setClearcoatFresnelPower NOTIFY clearcoatFresnelPowerChanged REVISION(6, 8))
121 Q_PROPERTY(
bool vertexColorsMaskEnabled READ vertexColorsMaskEnabled WRITE setVertexColorsMaskEnabled NOTIFY vertexColorsMaskEnabledChanged REVISION(6, 8))
122 Q_PROPERTY(VertexColorMaskFlags vertexColorRedMask READ vertexColorRedMask WRITE setVertexColorRedMask NOTIFY vertexColorRedMaskChanged REVISION(6, 8))
123 Q_PROPERTY(VertexColorMaskFlags vertexColorGreenMask READ vertexColorGreenMask WRITE setVertexColorGreenMask NOTIFY vertexColorGreenMaskChanged REVISION(6, 8))
124 Q_PROPERTY(VertexColorMaskFlags vertexColorBlueMask READ vertexColorBlueMask WRITE setVertexColorBlueMask NOTIFY vertexColorBlueMaskChanged REVISION(6, 8))
125 Q_PROPERTY(VertexColorMaskFlags vertexColorAlphaMask READ vertexColorAlphaMask WRITE setVertexColorAlphaMask NOTIFY vertexColorAlphaMaskChanged REVISION(6, 8))
127 QML_NAMED_ELEMENT(PrincipledMaterial)
151 enum VertexColorMask {
152 NoMask = QQuick3DMaterial::NoMask,
153 RoughnessMask = QQuick3DMaterial::RoughnessMask,
154 NormalStrengthMask = QQuick3DMaterial::NormalStrengthMask,
155 SpecularAmountMask = QQuick3DMaterial::SpecularAmountMask,
156 ClearcoatAmountMask = QQuick3DMaterial::ClearcoatAmountMask,
157 ClearcoatRoughnessAmountMask = QQuick3DMaterial::ClearcoatRoughnessAmountMask,
158 ClearcoatNormalStrengthMask = QQuick3DMaterial::ClearcoatNormalStrengthMask,
159 HeightAmountMask = QQuick3DMaterial::HeightAmountMask,
160 MetalnessMask = QQuick3DMaterial::MetalnessMask,
161 OcclusionAmountMask = QQuick3DMaterial::OcclusionAmountMask,
162 ThicknessFactorMask = QQuick3DMaterial::ThicknessFactorMask,
163 TransmissionFactorMask = QQuick3DMaterial::TransmissionFactorMask
165 Q_ENUM(VertexColorMask)
166 Q_DECLARE_FLAGS(VertexColorMaskFlags, VertexColorMask)
167 Q_FLAG(VertexColorMaskFlags)
169 explicit QQuick3DPrincipledMaterial(QQuick3DObject *parent =
nullptr);
170 ~QQuick3DPrincipledMaterial() override;
172 Lighting lighting()
const;
173 BlendMode blendMode()
const;
174 QColor baseColor()
const;
175 QQuick3DTexture *baseColorMap()
const;
176 Q_REVISION(6, 8)
bool baseColorSingleChannelEnabled()
const;
177 Q_REVISION(6, 8) TextureChannelMapping baseColorChannel()
const;
178 Q_REVISION(6, 8)
bool specularSingleChannelEnabled()
const;
179 Q_REVISION(6, 8) TextureChannelMapping specularChannel()
const;
180 Q_REVISION(6, 8)
bool emissiveSingleChannelEnabled()
const;
181 Q_REVISION(6, 8) TextureChannelMapping emissiveChannel()
const;
182 QQuick3DTexture *emissiveMap()
const;
183 QVector3D emissiveFactor()
const;
184 QQuick3DTexture *specularReflectionMap()
const;
185 QQuick3DTexture *specularMap()
const;
186 float specularTint()
const;
187 float specularAmount()
const;
188 float roughness()
const;
189 QQuick3DTexture *roughnessMap()
const;
190 Q_REVISION(6, 8)
bool invertOpacityMapValue()
const;
191 float opacity()
const;
192 QQuick3DTexture *opacityMap()
const;
193 QQuick3DTexture *normalMap()
const;
194 float metalness()
const;
195 QQuick3DTexture *metalnessMap()
const;
196 float normalStrength()
const;
197 QQuick3DTexture *occlusionMap()
const;
198 float occlusionAmount()
const;
199 AlphaMode alphaMode()
const;
200 float alphaCutoff()
const;
201 TextureChannelMapping metalnessChannel()
const;
202 TextureChannelMapping roughnessChannel()
const;
203 TextureChannelMapping opacityChannel()
const;
204 TextureChannelMapping occlusionChannel()
const;
205 float pointSize()
const;
206 float lineWidth()
const;
207 Q_REVISION(6, 2) QQuick3DTexture *heightMap()
const;
208 Q_REVISION(6, 2) TextureChannelMapping heightChannel()
const;
209 Q_REVISION(6, 2)
float heightAmount()
const;
210 Q_REVISION(6, 2)
int minHeightMapSamples()
const;
211 Q_REVISION(6, 2)
int maxHeightMapSamples()
const;
213 Q_REVISION(6, 3)
float clearcoatAmount()
const;
214 Q_REVISION(6, 3) QQuick3DTexture *clearcoatMap()
const;
215 Q_REVISION(6, 3) TextureChannelMapping clearcoatChannel()
const;
216 Q_REVISION(6, 3)
float clearcoatRoughnessAmount()
const;
217 Q_REVISION(6, 3) TextureChannelMapping clearcoatRoughnessChannel()
const;
218 Q_REVISION(6, 3) QQuick3DTexture *clearcoatRoughnessMap()
const;
219 Q_REVISION(6, 3) QQuick3DTexture *clearcoatNormalMap()
const;
220 Q_REVISION(6, 8)
float clearcoatNormalStrength()
const;
222 Q_REVISION(6, 3)
float transmissionFactor()
const;
223 Q_REVISION(6, 3) QQuick3DTexture *transmissionMap()
const;
224 Q_REVISION(6, 3) TextureChannelMapping transmissionChannel()
const;
226 Q_REVISION(6, 3)
float thicknessFactor()
const;
227 Q_REVISION(6, 3) QQuick3DTexture *thicknessMap()
const;
228 Q_REVISION(6, 3)
const TextureChannelMapping &thicknessChannel()
const;
229 Q_REVISION(6, 3)
float attenuationDistance()
const;
230 Q_REVISION(6, 3)
const QColor &attenuationColor()
const;
232 Q_REVISION(6, 3)
float indexOfRefraction()
const;
233 Q_REVISION(6, 8)
bool fresnelScaleBiasEnabled()
const;
234 Q_REVISION(6, 8)
float fresnelScale()
const;
235 Q_REVISION(6, 8)
float fresnelBias()
const;
236 Q_REVISION(6, 8)
float fresnelPower()
const;
238 Q_REVISION(6, 8)
bool clearcoatFresnelScaleBiasEnabled()
const;
239 Q_REVISION(6, 8)
float clearcoatFresnelScale()
const;
240 Q_REVISION(6, 8)
float clearcoatFresnelBias()
const;
241 Q_REVISION(6, 8)
float clearcoatFresnelPower()
const;
243 Q_REVISION(6, 5)
bool vertexColorsEnabled()
const;
245 Q_REVISION(6, 8)
bool vertexColorsMaskEnabled()
const;
247 Q_REVISION(6, 8) VertexColorMaskFlags vertexColorRedMask()
const;
248 Q_REVISION(6, 8) VertexColorMaskFlags vertexColorGreenMask()
const;
249 Q_REVISION(6, 8) VertexColorMaskFlags vertexColorBlueMask()
const;
250 Q_REVISION(6, 8) VertexColorMaskFlags vertexColorAlphaMask()
const;
253 void setLighting(QQuick3DPrincipledMaterial::Lighting lighting);
254 void setBlendMode(QQuick3DPrincipledMaterial::BlendMode blendMode);
255 void setBaseColor(QColor baseColor);
256 void setBaseColorMap(QQuick3DTexture *baseColorMap);
257 Q_REVISION(6, 8)
void setBaseColorSingleChannelEnabled(
bool baseColorSingleChannelEnabled);
258 Q_REVISION(6, 8)
void setBaseColorChannel(QQuick3DMaterial::TextureChannelMapping channel);
259 Q_REVISION(6, 8)
void setSpecularSingleChannelEnabled(
bool specularSingleChannelEnabled);
260 Q_REVISION(6, 8)
void setSpecularChannel(QQuick3DMaterial::TextureChannelMapping channel);
261 Q_REVISION(6, 8)
void setEmissiveSingleChannelEnabled(
bool emissiveSingleChannelEnabled);
262 Q_REVISION(6, 8)
void setEmissiveChannel(QQuick3DMaterial::TextureChannelMapping channel);
263 void setEmissiveMap(QQuick3DTexture *emissiveMap);
264 void setEmissiveFactor(QVector3D emissiveFactor);
265 void setSpecularReflectionMap(QQuick3DTexture *specularReflectionMap);
266 void setSpecularMap(QQuick3DTexture *specularMap);
267 void setSpecularTint(
float specularTint);
268 void setSpecularAmount(
float specularAmount);
269 void setRoughness(
float roughness);
270 void setRoughnessMap(QQuick3DTexture *roughnessMap);
271 Q_REVISION(6, 8)
void setInvertOpacityMapValue(
bool invertOpacityMapValue);
272 void setOpacity(
float opacity);
273 void setOpacityMap(QQuick3DTexture *opacityMap);
274 void setNormalMap(QQuick3DTexture *normalMap);
275 void setMetalness(
float metalnessAmount);
276 void setMetalnessMap(QQuick3DTexture *metalnessMap);
277 void setNormalStrength(
float normalStrength);
278 void setOcclusionMap(QQuick3DTexture *occlusionMap);
279 void setOcclusionAmount(
float occlusionAmount);
280 void setAlphaMode(QQuick3DPrincipledMaterial::AlphaMode alphaMode);
281 void setAlphaCutoff(
float alphaCutoff);
282 void setMetalnessChannel(QQuick3DMaterial::TextureChannelMapping channel);
283 void setRoughnessChannel(QQuick3DMaterial::TextureChannelMapping channel);
284 void setOpacityChannel(QQuick3DMaterial::TextureChannelMapping channel);
285 void setOcclusionChannel(QQuick3DMaterial::TextureChannelMapping channel);
286 void setPointSize(
float size);
287 void setLineWidth(
float width);
288 Q_REVISION(6, 2)
void setHeightMap(QQuick3DTexture *heightMap);
289 Q_REVISION(6, 2)
void setHeightChannel(QQuick3DMaterial::TextureChannelMapping channel);
290 Q_REVISION(6, 2)
void setHeightAmount(
float heightAmount);
291 Q_REVISION(6, 2)
void setMinHeightMapSamples(
int samples);
292 Q_REVISION(6, 2)
void setMaxHeightMapSamples(
int samples);
294 Q_REVISION(6, 3)
void setClearcoatAmount(
float newClearcoatAmount);
295 Q_REVISION(6, 3)
void setClearcoatMap(QQuick3DTexture *newClearcoatMap);
296 Q_REVISION(6, 3)
void setClearcoatChannel(QQuick3DMaterial::TextureChannelMapping newClearcoatChannel);
297 Q_REVISION(6, 3)
void setClearcoatRoughnessAmount(
float newClearcoatRoughnessAmount);
298 Q_REVISION(6, 3)
void setClearcoatRoughnessChannel(QQuick3DMaterial::TextureChannelMapping newClearcoatRoughnessChannel);
299 Q_REVISION(6, 3)
void setClearcoatRoughnessMap(QQuick3DTexture *newClearcoatRoughnessMap);
300 Q_REVISION(6, 3)
void setClearcoatNormalMap(QQuick3DTexture *newClearcoatNormalMap);
301 Q_REVISION(6, 8)
void setClearcoatNormalStrength(
float clearcoatNormalStrength);
303 Q_REVISION(6, 3)
void setTransmissionFactor(
float newTransmissionFactor);
304 Q_REVISION(6, 3)
void setTransmissionMap(QQuick3DTexture *newTransmissionMap);
305 Q_REVISION(6, 3)
void setTransmissionChannel(QQuick3DMaterial::TextureChannelMapping newTransmissionChannel);
307 Q_REVISION(6, 3)
void setThicknessFactor(
float newThicknessFactor);
308 Q_REVISION(6, 3)
void setThicknessMap(QQuick3DTexture *newThicknessMap);
309 Q_REVISION(6, 3)
void setThicknessChannel(
const QQuick3DMaterial::TextureChannelMapping &newThicknessChannel);
310 Q_REVISION(6, 3)
void setAttenuationDistance(
float newAttenuationDistance);
311 Q_REVISION(6, 3)
void setAttenuationColor(
const QColor &newAttenuationColor);
313 Q_REVISION(6, 3)
void setIndexOfRefraction(
float indexOfRefraction);
314 Q_REVISION(6, 8)
void setFresnelScaleBiasEnabled(
bool fresnelScaleBias);
315 Q_REVISION(6, 8)
void setFresnelScale(
float fresnelScale);
316 Q_REVISION(6, 8)
void setFresnelBias(
float fresnelBias);
317 Q_REVISION(6, 8)
void setFresnelPower(
float fresnelPower);
319 Q_REVISION(6, 8)
void setClearcoatFresnelScaleBiasEnabled(
bool clearcoatFresnelScaleBias);
320 Q_REVISION(6, 8)
void setClearcoatFresnelScale(
float clearcoatFresnelScale);
321 Q_REVISION(6, 8)
void setClearcoatFresnelBias(
float clearcoatFresnelBias);
322 Q_REVISION(6, 8)
void setClearcoatFresnelPower(
float clearcoatFresnelPower);
324 Q_REVISION(6, 5)
void setVertexColorsEnabled(
bool vertexColorsEnabled);
326 Q_REVISION(6, 8)
void setVertexColorsMaskEnabled(
bool vertexColorsMaskEnabled);
327 Q_REVISION(6, 8)
void setVertexColorRedMask(VertexColorMaskFlags vertexColorRedMask);
328 Q_REVISION(6, 8)
void setVertexColorGreenMask(VertexColorMaskFlags vertexColorGreenMask);
329 Q_REVISION(6, 8)
void setVertexColorBlueMask(VertexColorMaskFlags vertexColorBlueMask);
330 Q_REVISION(6, 8)
void setVertexColorAlphaMask(VertexColorMaskFlags vertexColorAlphaMask);
333 void lightingChanged(QQuick3DPrincipledMaterial::Lighting lighting);
334 void blendModeChanged(QQuick3DPrincipledMaterial::BlendMode blendMode);
335 void baseColorChanged(QColor baseColor);
336 void baseColorMapChanged(QQuick3DTexture *baseColorMap);
337 Q_REVISION(6, 8)
void baseColorSingleChannelEnabledChanged(
bool baseColorSingleChannelEnabled);
338 Q_REVISION(6, 8)
void baseColorChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
339 Q_REVISION(6, 8)
void specularSingleChannelEnabledChanged(
bool specularColorSingleChannelEnabled);
340 Q_REVISION(6, 8)
void specularChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
341 Q_REVISION(6, 8)
void emissiveSingleChannelEnabledChanged(
bool emissiveColorSingleChannelEnabled);
342 Q_REVISION(6, 8)
void emissiveChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
343 void emissiveMapChanged(QQuick3DTexture *emissiveMap);
344 void emissiveFactorChanged(QVector3D emissiveFactor);
345 void specularReflectionMapChanged(QQuick3DTexture *specularReflectionMap);
346 void specularMapChanged(QQuick3DTexture *specularMap);
347 void specularTintChanged(
float specularTint);
348 void specularAmountChanged(
float specularAmount);
349 void roughnessChanged(
float roughness);
350 void roughnessMapChanged(QQuick3DTexture *roughnessMap);
351 Q_REVISION(6, 8)
void invertOpacityMapValueChanged(
bool invertOpacityMapValue);
352 void opacityChanged(
float opacity);
353 void opacityMapChanged(QQuick3DTexture *opacityMap);
354 void normalMapChanged(QQuick3DTexture *normalMap);
355 void metalnessChanged(
float metalness);
356 void metalnessMapChanged(QQuick3DTexture *metalnessMap);
357 void normalStrengthChanged(
float normalStrength);
358 void occlusionMapChanged(QQuick3DTexture *occlusionMap);
359 void occlusionAmountChanged(
float occlusionAmount);
360 void alphaModeChanged(QQuick3DPrincipledMaterial::AlphaMode alphaMode);
361 void alphaCutoffChanged(
float alphaCutoff);
362 void metalnessChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
363 void roughnessChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
364 void opacityChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
365 void occlusionChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
366 void pointSizeChanged();
367 void lineWidthChanged();
368 Q_REVISION(6, 2)
void heightMapChanged(QQuick3DTexture *heightMap);
369 Q_REVISION(6, 2)
void heightChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
370 Q_REVISION(6, 2)
void heightAmountChanged(
float heightAmount);
371 Q_REVISION(6, 2)
void minHeightMapSamplesChanged(
int samples);
372 Q_REVISION(6, 2)
void maxHeightMapSamplesChanged(
int samples);
374 Q_REVISION(6, 3)
void clearcoatAmountChanged(
float amount);
375 Q_REVISION(6, 3)
void clearcoatMapChanged(QQuick3DTexture *texture);
376 Q_REVISION(6, 3)
void clearcoatChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
377 Q_REVISION(6, 3)
void clearcoatRoughnessAmountChanged(
float amount);
378 Q_REVISION(6, 3)
void clearcoatRoughnessChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
379 Q_REVISION(6, 3)
void clearcoatRoughnessMapChanged(QQuick3DTexture *texture);
380 Q_REVISION(6, 3)
void clearcoatNormalMapChanged(QQuick3DTexture *texture);
381 Q_REVISION(6, 8)
void clearcoatNormalStrengthChanged(
float clearcoatNormalStrength);
383 Q_REVISION(6, 3)
void transmissionFactorChanged(
float amount);
384 Q_REVISION(6, 3)
void transmissionMapChanged(QQuick3DTexture *texture);
385 Q_REVISION(6, 3)
void transmissionChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
387 Q_REVISION(6, 3)
void thicknessFactorChanged(
float amount);
388 Q_REVISION(6, 3)
void thicknessMapChanged(QQuick3DTexture *texture);
389 Q_REVISION(6, 3)
void thicknessChannelChanged(QQuick3DMaterial::TextureChannelMapping channel);
390 Q_REVISION(6, 3)
void attenuationDistanceChanged(
float distance);
391 Q_REVISION(6, 3)
void attenuationColorChanged(QColor color);
393 Q_REVISION(6, 3)
void indexOfRefractionChanged(
float indexOfRefraction);
394 Q_REVISION(6, 8)
void fresnelScaleBiasEnabledChanged(
bool fresnelScaleBiasEnabled);
395 Q_REVISION(6, 8)
void fresnelScaleChanged(
float fresnelScale);
396 Q_REVISION(6, 8)
void fresnelBiasChanged(
float fresnelBias);
397 Q_REVISION(6, 8)
void fresnelPowerChanged(
float fresnelPower);
399 Q_REVISION(6, 8)
void clearcoatFresnelScaleBiasEnabledChanged(
bool clearcoatFresnelScaleBiasEnabled);
400 Q_REVISION(6, 8)
void clearcoatFresnelScaleChanged(
float clearcoatFresnelScale);
401 Q_REVISION(6, 8)
void clearcoatFresnelBiasChanged(
float clearcoatFresnelBias);
402 Q_REVISION(6, 8)
void clearcoatFresnelPowerChanged(
float clearcoatFresnelPower);
404 Q_REVISION(6, 5)
void vertexColorsEnabledChanged(
bool vertexColorsEnabled);
406 Q_REVISION(6, 8)
void vertexColorsMaskEnabledChanged();
407 Q_REVISION(6, 8)
void vertexColorRedMaskChanged();
408 Q_REVISION(6, 8)
void vertexColorGreenMaskChanged();
409 Q_REVISION(6, 8)
void vertexColorBlueMaskChanged();
410 Q_REVISION(6, 8)
void vertexColorAlphaMaskChanged();
413 QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *node) override;
414 void markAllDirty() override;
415 void itemChange(ItemChange,
const ItemChangeData &) override;
418 LightingModeDirty = 0x00000001,
419 BlendModeDirty = 0x00000002,
420 BaseColorDirty = 0x00000004,
421 EmissiveDirty = 0x00000008,
422 SpecularDirty = 0x00000010,
423 OpacityDirty = 0x00000020,
424 NormalDirty = 0x00000040,
425 MetalnessDirty = 0x00000080,
426 RoughnessDirty = 0x00000100,
427 OcclusionDirty = 0x00000200,
428 AlphaModeDirty = 0x00000400,
429 PointSizeDirty = 0x00000800,
430 LineWidthDirty = 0x00001000,
431 HeightDirty = 0x00002000,
432 ClearcoatDirty = 0x00004000,
433 TransmissionDirty = 0x00008000,
434 VolumeDirty = 0x00010000,
435 VertexColorsDirty = 0x00020000
438 void updateSceneManager(QQuick3DSceneManager *window);
446 Lighting m_lighting = FragmentLighting;
447 BlendMode m_blendMode = SourceOver;
448 AlphaMode m_alphaMode = Default;
449 QColor m_baseColor = Qt::white;
450 QQuick3DTexture *m_baseColorMap =
nullptr;
451 bool m_baseColorSingleChannelEnabled =
false;
452 TextureChannelMapping m_baseColorChannel = QQuick3DMaterial::R;
453 bool m_specularSingleChannelEnabled =
false;
454 TextureChannelMapping m_specularChannel = QQuick3DMaterial::R;
455 TextureChannelMapping m_emissiveChannel = QQuick3DMaterial::R;
456 bool m_emissiveSingleChannelEnabled =
false;
457 QVector3D m_emissiveFactor;
458 QQuick3DTexture *m_emissiveMap =
nullptr;
460 QQuick3DTexture *m_specularReflectionMap =
nullptr;
461 QQuick3DTexture *m_specularMap =
nullptr;
462 QQuick3DTexture *m_roughnessMap =
nullptr;
463 QQuick3DTexture *m_opacityMap =
nullptr;
464 QQuick3DTexture *m_normalMap =
nullptr;
465 QQuick3DTexture *m_metalnessMap =
nullptr;
466 QQuick3DTexture *m_occlusionMap =
nullptr;
467 float m_specularTint = 0.0f;
468 float m_specularAmount = 1.0f;
469 float m_roughness = 0.0f;
470 bool m_invertOpacityMapValue =
false;
471 float m_opacity = 1.0f;
472 float m_metalnessAmount = 0.0f;
473 float m_normalStrength = 1.0f;
474 float m_occlusionAmount = 1.0f;
475 float m_alphaCutoff = 0.5f;
476 TextureChannelMapping m_metalnessChannel = QQuick3DMaterial::B;
477 TextureChannelMapping m_roughnessChannel = QQuick3DMaterial::G;
478 TextureChannelMapping m_opacityChannel = QQuick3DMaterial::A;
479 TextureChannelMapping m_occlusionChannel = QQuick3DMaterial::R;
480 float m_pointSize = 1.0f;
481 float m_lineWidth = 1.0f;
482 QQuick3DTexture *m_heightMap =
nullptr;
483 TextureChannelMapping m_heightChannel = QQuick3DMaterial::R;
484 float m_heightAmount = 0.0f;
485 int m_minHeightMapSamples = 8;
486 int m_maxHeightMapSamples = 32;
487 float m_clearcoatAmount = 0.0f;
488 QQuick3DTexture *m_clearcoatMap =
nullptr;
489 TextureChannelMapping m_clearcoatChannel = QQuick3DMaterial::R;
490 float m_clearcoatRoughnessAmount = 0.0f;
491 float m_clearcoatNormalStrength = 1.0f;
492 TextureChannelMapping m_clearcoatRoughnessChannel = QQuick3DMaterial::G;
493 QQuick3DTexture *m_clearcoatRoughnessMap =
nullptr;
494 QQuick3DTexture *m_clearcoatNormalMap =
nullptr;
495 float m_transmissionFactor = 0.0f;
496 QQuick3DTexture *m_transmissionMap =
nullptr;
497 TextureChannelMapping m_transmissionChannel = QQuick3DMaterial::R;
498 float m_thicknessFactor = 0.0f;
499 QQuick3DTexture *m_thicknessMap =
nullptr;
500 TextureChannelMapping m_thicknessChannel = QQuick3DMaterial::G;
501 float m_attenuationDistance = std::numeric_limits<
float>::infinity();
502 QColor m_attenuationColor = Qt::white;
503 float m_indexOfRefraction = 1.5f;
504 bool m_fresnelScaleBiasEnabled =
false;
505 float m_fresnelScale = 1.0f;
506 float m_fresnelBias = 0.0f;
507 float m_fresnelPower = 5.0f;
508 bool m_clearcoatFresnelScaleBiasEnabled =
false;
509 float m_clearcoatFresnelScale = 1.0f;
510 float m_clearcoatFresnelBias = 0.0f;
511 float m_clearcoatFresnelPower = 5.0f;
512 bool m_vertexColorsEnabled =
true;
514 bool m_vertexColorsMaskEnabled =
false;
515 VertexColorMaskFlags m_vertexColorRedMask = NoMask;
516 VertexColorMaskFlags m_vertexColorGreenMask = NoMask;
517 VertexColorMaskFlags m_vertexColorBlueMask = NoMask;
518 VertexColorMaskFlags m_vertexColorAlphaMask = NoMask;
520 quint32 m_dirtyAttributes = 0xffffffff;
521 void markDirty(DirtyType type);
523 static constexpr float ensureNormalized(
float val) {
return qBound(0.0f, val, 1.0f); }