4#ifndef QSSGPRINCIPLEDMATERIAL_H
5#define QSSGPRINCIPLEDMATERIAL_H
18#include <QtQuick3D/private/qquick3dmaterial_p.h>
19#include <QtQuick3D/private/qquick3dtexture_p.h>
32 Q_PROPERTY(
QColor baseColor READ baseColor WRITE setBaseColor NOTIFY baseColorChanged)
35 Q_PROPERTY(
float metalness READ metalness WRITE setMetalness NOTIFY metalnessChanged)
39 Q_PROPERTY(
float specularAmount READ specularAmount WRITE setSpecularAmount NOTIFY specularAmountChanged)
41 Q_PROPERTY(
float specularTint READ specularTint WRITE setSpecularTint NOTIFY specularTintChanged)
43 Q_PROPERTY(
float roughness READ roughness WRITE setRoughness NOTIFY roughnessChanged)
47 Q_PROPERTY(
QVector3D emissiveFactor READ emissiveFactor WRITE setEmissiveFactor NOTIFY emissiveFactorChanged)
50 Q_PROPERTY(
float opacity READ opacity WRITE setOpacity NOTIFY opacityChanged)
55 Q_PROPERTY(
float normalStrength READ normalStrength WRITE setNormalStrength NOTIFY normalStrengthChanged)
57 Q_PROPERTY(
QQuick3DTexture *specularReflectionMap READ specularReflectionMap WRITE setSpecularReflectionMap NOTIFY specularReflectionMapChanged)
61 Q_PROPERTY(
float occlusionAmount READ occlusionAmount WRITE setOcclusionAmount NOTIFY occlusionAmountChanged)
64 Q_PROPERTY(
float alphaCutoff READ alphaCutoff WRITE setAlphaCutoff NOTIFY alphaCutoffChanged)
66 Q_PROPERTY(
float pointSize READ pointSize WRITE setPointSize NOTIFY pointSizeChanged)
71 Q_PROPERTY(
float heightAmount READ heightAmount WRITE setHeightAmount NOTIFY heightAmountChanged REVISION(6, 2))
72 Q_PROPERTY(
int minHeightMapSamples READ minHeightMapSamples WRITE setMinHeightMapSamples NOTIFY minHeightMapSamplesChanged REVISION(6, 2))
73 Q_PROPERTY(
int maxHeightMapSamples READ maxHeightMapSamples WRITE setMaxHeightMapSamples NOTIFY maxHeightMapSamplesChanged REVISION(6, 2))
75 Q_PROPERTY(
float clearcoatAmount READ clearcoatAmount WRITE setClearcoatAmount NOTIFY clearcoatAmountChanged REVISION(6, 3))
76 Q_PROPERTY(
QQuick3DTexture *clearcoatMap READ clearcoatMap WRITE setClearcoatMap NOTIFY clearcoatMapChanged REVISION(6, 3))
78 clearcoatChannelChanged REVISION(6, 3))
79 Q_PROPERTY(
float clearcoatRoughnessAmount READ clearcoatRoughnessAmount WRITE setClearcoatRoughnessAmount NOTIFY
80 clearcoatRoughnessAmountChanged REVISION(6, 3))
82 setClearcoatRoughnessChannel NOTIFY clearcoatRoughnessChannelChanged REVISION(6, 3))
84 clearcoatRoughnessMapChanged REVISION(6, 3))
86 clearcoatNormalMapChanged REVISION(6, 3))
88 Q_PROPERTY(
float transmissionFactor READ transmissionFactor WRITE setTransmissionFactor NOTIFY transmissionFactorChanged)
92 Q_PROPERTY(
float thicknessFactor READ thicknessFactor WRITE setThicknessFactor NOTIFY thicknessFactorChanged REVISION(6, 3))
93 Q_PROPERTY(
QQuick3DTexture *thicknessMap READ thicknessMap WRITE setThicknessMap NOTIFY thicknessMapChanged REVISION(6, 3))
95 thicknessChannelChanged REVISION(6, 3))
96 Q_PROPERTY(
float attenuationDistance READ attenuationDistance WRITE setAttenuationDistance NOTIFY attenuationDistanceChanged REVISION(6, 3))
97 Q_PROPERTY(
QColor attenuationColor READ attenuationColor WRITE setAttenuationColor NOTIFY attenuationColorChanged REVISION(6, 3))
99 Q_PROPERTY(
float indexOfRefraction READ indexOfRefraction WRITE setIndexOfRefraction NOTIFY indexOfRefractionChanged REVISION(6, 3))
101 Q_PROPERTY(
bool vertexColorsEnabled READ vertexColorsEnabled WRITE setVertexColorsEnabled NOTIFY vertexColorsEnabledChanged REVISION(6, 5))
130 Lighting lighting()
const;
131 BlendMode blendMode()
const;
138 float specularTint()
const;
139 float specularAmount()
const;
140 float roughness()
const;
142 float opacity()
const;
145 float metalness()
const;
147 float normalStrength()
const;
149 float occlusionAmount()
const;
150 AlphaMode alphaMode()
const;
151 float alphaCutoff()
const;
152 TextureChannelMapping metalnessChannel()
const;
153 TextureChannelMapping roughnessChannel()
const;
154 TextureChannelMapping opacityChannel()
const;
155 TextureChannelMapping occlusionChannel()
const;
156 float pointSize()
const;
157 float lineWidth()
const;
189 void setBaseColor(
QColor baseColor);
192 void setEmissiveFactor(
QVector3D emissiveFactor);
195 void setSpecularTint(
float specularTint);
196 void setSpecularAmount(
float specularAmount);
197 void setRoughness(
float roughness);
199 void setOpacity(
float opacity);
202 void setMetalness(
float metalnessAmount);
204 void setNormalStrength(
float normalStrength);
206 void setOcclusionAmount(
float occlusionAmount);
208 void setAlphaCutoff(
float alphaCutoff);
213 void setPointSize(
float size);
221 Q_REVISION(6, 3)
void setClearcoatAmount(
float newClearcoatAmount);
224 Q_REVISION(6, 3)
void setClearcoatRoughnessAmount(
float newClearcoatRoughnessAmount);
229 Q_REVISION(6, 3)
void setTransmissionFactor(
float newTransmissionFactor);
233 Q_REVISION(6, 3)
void setThicknessFactor(
float newThicknessFactor);
236 Q_REVISION(6, 3)
void setAttenuationDistance(
float newAttenuationDistance);
239 Q_REVISION(6, 3)
void setIndexOfRefraction(
float indexOfRefraction);
241 Q_REVISION(6, 5)
void setVertexColorsEnabled(
bool vertexColorsEnabled);
252 void specularTintChanged(
float specularTint);
253 void specularAmountChanged(
float specularAmount);
254 void roughnessChanged(
float roughness);
256 void opacityChanged(
float opacity);
259 void metalnessChanged(
float metalness);
261 void normalStrengthChanged(
float normalStrength);
263 void occlusionAmountChanged(
float occlusionAmount);
265 void alphaCutoffChanged(
float alphaCutoff);
270 void pointSizeChanged();
271 void lineWidthChanged();
274 Q_REVISION(6, 2)
void heightAmountChanged(
float heightAmount);
281 Q_REVISION(6, 3)
void clearcoatRoughnessAmountChanged(
float amount);
286 Q_REVISION(6, 3)
void transmissionFactorChanged(
float amount);
296 Q_REVISION(6, 3)
void indexOfRefractionChanged(
float indexOfRefraction);
298 Q_REVISION(6, 5)
void vertexColorsEnabledChanged(
bool vertexColorsEnabled);
302 void markAllDirty() override;
303 void itemChange(ItemChange, const ItemChangeData &) override;
306 LightingModeDirty = 0x00000001,
307 BlendModeDirty = 0x00000002,
308 BaseColorDirty = 0x00000004,
309 EmissiveDirty = 0x00000008,
310 SpecularDirty = 0x00000010,
311 OpacityDirty = 0x00000020,
312 NormalDirty = 0x00000040,
313 MetalnessDirty = 0x00000080,
314 RoughnessDirty = 0x00000100,
315 OcclusionDirty = 0x00000200,
316 AlphaModeDirty = 0x00000400,
317 PointSizeDirty = 0x00000800,
318 LineWidthDirty = 0x00001000,
319 HeightDirty = 0x00002000,
320 ClearcoatDirty = 0x00004000,
321 TransmissionDirty = 0x00008000,
322 VolumeDirty = 0x00010000,
323 VertexColorsDirty = 0x00020000
334 Lighting m_lighting = FragmentLighting;
335 BlendMode m_blendMode = SourceOver;
336 AlphaMode m_alphaMode =
Default;
349 float m_specularTint = 0.0f;
350 float m_specularAmount = 1.0f;
351 float m_roughness = 0.0f;
352 float m_opacity = 1.0f;
353 float m_metalnessAmount = 0.0f;
354 float m_normalStrength = 1.0f;
355 float m_occlusionAmount = 1.0f;
356 float m_alphaCutoff = 0.5f;
361 float m_pointSize = 1.0f;
362 float m_lineWidth = 1.0f;
365 float m_heightAmount = 0.0f;
366 int m_minHeightMapSamples = 8;
367 int m_maxHeightMapSamples = 32;
368 float m_clearcoatAmount = 0.0f;
371 float m_clearcoatRoughnessAmount = 0.0f;
375 float m_transmissionFactor = 0.0f;
378 float m_thicknessFactor = 0.0f;
381 float m_attenuationDistance = std::numeric_limits<float>::infinity();
383 float m_indexOfRefraction = 1.5f;
384 bool m_vertexColorsEnabled =
true;
386 quint32 m_dirtyAttributes = 0xffffffff;
387 void markDirty(DirtyType
type);
IOBluetoothL2CAPChannel * channel
The QColor class provides colors based on RGB, HSV or CMYK values.
\qmltype Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DObject \inherits QtObject
Q_REVISION(6, 2) QQuick3DTexture *heightMap() const
The QVector3D class represents a vector or vertex in 3D space.
Combined button and popup list for selecting options.
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLsizei GLsizei GLfloat distance
#define QML_NAMED_ELEMENT(NAME)
static QT_BEGIN_NAMESPACE const uint Default
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent