QAttribute Class
(Qt3DRender::QAttribute)Defines an attribute and how data should be read from a QBuffer. More...
Header: | #include <Qt3DRender/QAttribute> |
qmake: | QT += 3drender |
Instantiated By: | Attribute |
Inherits: | Qt3DCore::QNode |
Public Types
enum | AttributeType { VertexAttribute, IndexAttribute, DrawIndirectAttribute } |
enum | VertexBaseType { Byte, UnsignedByte, Short, UnsignedShort, ..., Double } |
Properties
|
|
- 3 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
Public Functions
QAttribute(Qt3DCore::QNode *parent = nullptr) | |
QAttribute(Qt3DRender::QBuffer *buf, Qt3DRender::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr) | |
QAttribute(Qt3DRender::QBuffer *buf, const QString &name, Qt3DRender::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr) | |
Qt3DRender::QAttribute::AttributeType | attributeType() const |
Qt3DRender::QBuffer * | buffer() const |
uint | byteOffset() const |
uint | byteStride() const |
uint | count() const |
uint | divisor() const |
QString | name() const |
Qt3DRender::QAttribute::VertexBaseType | vertexBaseType() const |
uint | vertexSize() const |
- 13 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
Public Slots
void | setAttributeType(Qt3DRender::QAttribute::AttributeType attributeType) |
void | setBuffer(Qt3DRender::QBuffer *buffer) |
void | setByteOffset(uint byteOffset) |
void | setByteStride(uint byteStride) |
void | setCount(uint count) |
void | setDataSize(uint size) |
void | setDataType(Qt3DRender::QAttribute::VertexBaseType type) |
void | setDivisor(uint divisor) |
void | setName(const QString &name) |
void | setVertexBaseType(Qt3DRender::QAttribute::VertexBaseType type) |
void | setVertexSize(uint size) |
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
Signals
void | attributeTypeChanged(Qt3DRender::QAttribute::AttributeType attributeType) |
void | bufferChanged(Qt3DRender::QBuffer *buffer) |
void | byteOffsetChanged(uint byteOffset) |
void | byteStrideChanged(uint byteStride) |
void | countChanged(uint count) |
void | dataSizeChanged(uint vertexSize) |
void | dataTypeChanged(Qt3DRender::QAttribute::VertexBaseType vertexBaseType) |
void | divisorChanged(uint divisor) |
void | nameChanged(const QString &name) |
void | vertexBaseTypeChanged(Qt3DRender::QAttribute::VertexBaseType vertexBaseType) |
void | vertexSizeChanged(uint vertexSize) |
- 4 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Static Public Members
QString | defaultColorAttributeName() |
QString | defaultJointIndicesAttributeName() |
QString | defaultJointWeightsAttributeName() |
QString | defaultNormalAttributeName() |
QString | defaultPositionAttributeName() |
QString | defaultTangentAttributeName() |
QString | defaultTextureCoordinate1AttributeName() |
QString | defaultTextureCoordinate2AttributeName() |
QString | defaultTextureCoordinateAttributeName() |
const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Related Non-Members
typedef | QBufferPtr |
Additional Inherited Members
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
Detailed Description
Defines an attribute and how data should be read from a QBuffer.
There are 3 types of attributes.
- VertexAttribute: used to define data to be read on a per vertex basis
- IndexAttribute: used to define vertex indices when indexed draw calls are to be used
- DrawIndirectAttribute: used to specify the DrawIndirect buffer to be used when indirect draw calls are to be used
Note: when an attribute is of type DrawIndirectAttribute, only count, stride and offset are relevant.
When providing your own attributes, it may make sense to name your attribute using helpers such as QAttribute::defaultPositionAttributeName() as that will ensure your geometry will be compatible with picking and the various materials provided in the Qt3DExtras module.
See also QBuffer.
Member Type Documentation
enum QAttribute::AttributeType
The type of the attribute.
Constant | Value |
---|---|
Qt3DRender::QAttribute::VertexAttribute | 0 |
Qt3DRender::QAttribute::IndexAttribute | 1 |
Qt3DRender::QAttribute::DrawIndirectAttribute | 2 |
enum QAttribute::VertexBaseType
The type of the data.
Constant | Value |
---|---|
Qt3DRender::QAttribute::Byte | 0 |
Qt3DRender::QAttribute::UnsignedByte | 1 |
Qt3DRender::QAttribute::Short | 2 |
Qt3DRender::QAttribute::UnsignedShort | 3 |
Qt3DRender::QAttribute::Int | 4 |
Qt3DRender::QAttribute::UnsignedInt | 5 |
Qt3DRender::QAttribute::HalfFloat | 6 |
Qt3DRender::QAttribute::Float | 7 |
Qt3DRender::QAttribute::Double | 8 |
Property Documentation
attributeType : AttributeType
Holds the attribute type.
Access functions:
Qt3DRender::QAttribute::AttributeType | attributeType() const |
void | setAttributeType(Qt3DRender::QAttribute::AttributeType attributeType) |
Notifier signal:
void | attributeTypeChanged(Qt3DRender::QAttribute::AttributeType attributeType) |
buffer : Qt3DRender::QBuffer*
Holds the buffer.
Access functions:
Qt3DRender::QBuffer * | buffer() const |
void | setBuffer(Qt3DRender::QBuffer *buffer) |
Notifier signal:
void | bufferChanged(Qt3DRender::QBuffer *buffer) |
byteOffset : uint
Holds the byte offset.
Access functions:
uint | byteOffset() const |
void | setByteOffset(uint byteOffset) |
Notifier signal:
void | byteOffsetChanged(uint byteOffset) |
byteStride : uint
Holds the byte stride.
Access functions:
uint | byteStride() const |
void | setByteStride(uint byteStride) |
Notifier signal:
void | byteStrideChanged(uint byteStride) |
count : uint
Holds the count.
Access functions:
uint | count() const |
void | setCount(uint count) |
Notifier signal:
void | countChanged(uint count) |
defaultColorAttributeName : const QString
Access functions:
QString | defaultColorAttributeName() | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
defaultJointIndicesAttributeName : const QString
Access functions:
QString | defaultJointIndicesAttributeName() |
defaultJointWeightsAttributeName : const QString
Access functions:
QString | defaultJointWeightsAttributeName() |
defaultNormalAttributeName : const QString
Access functions:
QString | defaultNormalAttributeName() | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
defaultPositionAttributeName : const QString
Access functions:
QString | defaultPositionAttributeName() | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
defaultTangentAttributeName : const QString
Access functions:
QString | defaultTangentAttributeName() | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
defaultTextureCoordinate1AttributeName : const QString
Access functions:
QString | defaultTextureCoordinate1AttributeName() |
defaultTextureCoordinate2AttributeName : const QString
Access functions:
QString | defaultTextureCoordinate2AttributeName() |
defaultTextureCoordinateAttributeName : const QString
Access functions:
QString | defaultTextureCoordinateAttributeName() | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
divisor : uint
Holds the divisor.
Access functions:
uint | divisor() const |
void | setDivisor(uint divisor) |
Notifier signal:
void | divisorChanged(uint divisor) |
name : QString
Holds the name.
Access functions:
QString | name() const |
void | setName(const QString &name) |
Notifier signal:
void | nameChanged(const QString &name) |
vertexBaseType : VertexBaseType
Holds the data type.
Access functions:
Qt3DRender::QAttribute::VertexBaseType | vertexBaseType() const |
void | setVertexBaseType(Qt3DRender::QAttribute::VertexBaseType type) |
Notifier signal:
void | vertexBaseTypeChanged(Qt3DRender::QAttribute::VertexBaseType vertexBaseType) |
vertexSize : uint
Holds the data size, it can only be 1 to 4 units (scalars and vectors), 9 units (3x3 matrices) or 16 units (4x4 matrices).
Access functions:
uint | vertexSize() const |
void | setVertexSize(uint size) |
Notifier signal:
void | vertexSizeChanged(uint vertexSize) |
Member Function Documentation
QAttribute::QAttribute(Qt3DCore::QNode *parent = nullptr)
Constructs a new QAttribute with parent.
QAttribute::QAttribute(Qt3DRender::QBuffer *buf, Qt3DRender::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)
Constructs a new QAttribute from buf of type, dataSize, count, offset, and stride with parent.
QAttribute::QAttribute(Qt3DRender::QBuffer *buf, const QString &name, Qt3DRender::QAttribute::VertexBaseType type, uint dataSize, uint count, uint offset = 0, uint stride = 0, Qt3DCore::QNode *parent = nullptr)
Constructs a new QAttribute named name from buf of type, dataSize, count, offset, and stride with parent.
[signal]
void QAttribute::dataSizeChanged(uint vertexSize)
[signal]
void QAttribute::dataTypeChanged(Qt3DRender::QAttribute::VertexBaseType vertexBaseType)
[static]
QString QAttribute::defaultColorAttributeName()
QAttribute::defaultColorAttributeName Returns the name of the default color attribute
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Getter function for property defaultColorAttributeName.
[static]
QString QAttribute::defaultJointIndicesAttributeName()
QAttribute::defaultJointIndicesAttributeName Returns the name of the default joint indices attribute
Note: Getter function for property defaultJointIndicesAttributeName.
[static]
QString QAttribute::defaultJointWeightsAttributeName()
QAttribute::defaultJointIndicesAttributeName Returns the name of the default joint weights attribute
Note: Getter function for property defaultJointWeightsAttributeName.
[static]
QString QAttribute::defaultNormalAttributeName()
QAttribute::defaultNormalAttributeName Returns the name of the default normal attribute
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Getter function for property defaultNormalAttributeName.
[static]
QString QAttribute::defaultPositionAttributeName()
QAttribute::defaultPositionAttributeName Returns the name of the default position attribute
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Getter function for property defaultPositionAttributeName.
[static]
QString QAttribute::defaultTangentAttributeName()
QAttribute::defaultTangentAttributeName Returns the name of the default tangent attribute
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Getter function for property defaultTangentAttributeName.
[static]
QString QAttribute::defaultTextureCoordinate1AttributeName()
QAttribute::defaultTextureCoordinate1AttributeName Returns the name of the default attribute for the second layer of texture coordinates
Note: Getter function for property defaultTextureCoordinate1AttributeName.
[static]
QString QAttribute::defaultTextureCoordinate2AttributeName()
QAttribute::defaultTextureCoordinate2AttributeName Returns the name of the default attribute for the third layer of texture coordinates
Note: Getter function for property defaultTextureCoordinate2AttributeName.
[static]
QString QAttribute::defaultTextureCoordinateAttributeName()
QAttribute::defaultTextureCoordinateAttributeName Returns the name of the default texture coordinate attribute
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Getter function for property defaultTextureCoordinateAttributeName.
[slot]
void QAttribute::setDataSize(uint size)
[slot]
void QAttribute::setDataType(Qt3DRender::QAttribute::VertexBaseType type)
© 2019 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.