QMetalRoughMaterial Class
(Qt3DExtras::QMetalRoughMaterial)The QMetalRoughMaterial provides a default implementation of PBR lighting. More...
Header: | #include <QMetalRoughMaterial> |
qmake: | QT += 3dextras |
Since: | Qt 5.9 |
Instantiated By: | MetalRoughMaterial |
Inherits: | Qt3DRender::QMaterial |
Inherited By: |
This class was introduced in Qt 5.9.
Properties
|
|
Public Functions
QMetalRoughMaterial(Qt3DCore::QNode *parent = nullptr) | |
virtual | ~QMetalRoughMaterial() |
QVariant | ambientOcclusion() const |
QVariant | baseColor() const |
QVariant | metalness() const |
QVariant | normal() const |
QVariant | roughness() const |
float | textureScale() const |
Public Slots
void | setAmbientOcclusion(const QVariant &ambientOcclusion) |
void | setBaseColor(const QVariant &baseColor) |
void | setMetalness(const QVariant &metalness) |
void | setNormal(const QVariant &normal) |
void | setRoughness(const QVariant &roughness) |
void | setTextureScale(float textureScale) |
Signals
void | ambientOcclusionChanged(const QVariant &ambientOcclusion) |
void | baseColorChanged(const QVariant &baseColor) |
void | metalnessChanged(const QVariant &metalness) |
void | normalChanged(const QVariant &normal) |
void | roughnessChanged(const QVariant &roughness) |
void | textureScaleChanged(float textureScale) |
Detailed Description
This material uses an effect with a single render pass approach and performs per fragment lighting. Techniques are provided for OpenGL 3 and OpenGL ES 3.
Property Documentation
ambientOcclusion : QVariant
Holds the current ambient occlusion map texture of the material. This can only be a texture, otherwise it is ignored. By default this map is not set.
Access functions:
QVariant | ambientOcclusion() const |
void | setAmbientOcclusion(const QVariant &ambientOcclusion) |
Notifier signal:
void | ambientOcclusionChanged(const QVariant &ambientOcclusion) |
baseColor : QVariant
Holds the current base color of the material. This can be either a plain color value or a texture. By default the value of this property is "grey".
Access functions:
QVariant | baseColor() const |
void | setBaseColor(const QVariant &baseColor) |
Notifier signal:
void | baseColorChanged(const QVariant &baseColor) |
metalness : QVariant
Holds the current metalness level of the material, as a value between 0 (purely dielectric, the default) and 1 (purely metallic). This can be either a plain uniform value or a texture. By default the value of this property is 0.
Access functions:
QVariant | metalness() const |
void | setMetalness(const QVariant &metalness) |
Notifier signal:
void | metalnessChanged(const QVariant &metalness) |
normal : QVariant
Holds the current normal map texture of the material. This can only be a texture, otherwise it is ignored. By default this map is not set.
Access functions:
QVariant | normal() const |
void | setNormal(const QVariant &normal) |
Notifier signal:
void | normalChanged(const QVariant &normal) |
roughness : QVariant
Holds the current roughness level of the material. This can be either a plain uniform value or a texture. By default the value of this property is 0.
Access functions:
QVariant | roughness() const |
void | setRoughness(const QVariant &roughness) |
Notifier signal:
void | roughnessChanged(const QVariant &roughness) |
textureScale : float
Holds the current texture scale. It is applied as a multiplier to texture coordinates at render time. Defaults to 1.0.
When used in conjunction with QTextureWrapMode::Repeat, textureScale provides a simple way to tile a texture across a surface. For example, a texture scale of 4.0
would result in 16 (4x4) tiles.
Access functions:
float | textureScale() const |
void | setTextureScale(float textureScale) |
Notifier signal:
void | textureScaleChanged(float textureScale) |
Member Function Documentation
QMetalRoughMaterial::QMetalRoughMaterial(Qt3DCore::QNode *parent = nullptr)
Constructs a new QMetalRoughMaterial instance with parent object parent.
[virtual]
QMetalRoughMaterial::~QMetalRoughMaterial()
Destroys the QMetalRoughMaterial instance.
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.