QBuffer Class
(Qt3DRender::QBuffer)Provides a data store for raw data to later be used as vertices or uniforms. More...
Header: | #include <Qt3DRender/QBuffer> |
qmake: | QT += 3drender |
Instantiated By: | Buffer |
Inherits: | Qt3DCore::QNode |
Public Types
enum | AccessType { Write, Read, ReadWrite } |
enum | UsageType { StreamDraw, StreamRead, StreamCopy, StaticDraw, StaticRead, …, DynamicCopy } |
Properties
- accessType : AccessType
- syncData : bool
- usage : UsageType
Public Functions
QBuffer(Qt3DCore::QNode *parent = nullptr) | |
Qt3DRender::QBuffer::AccessType | accessType() const |
QByteArray | data() const |
Qt3DRender::QBufferDataGeneratorPtr | dataGenerator() const |
bool | isSyncData() const |
void | setData(const QByteArray &bytes) |
void | setDataGenerator(const Qt3DRender::QBufferDataGeneratorPtr &functor) |
void | updateData(int offset, const QByteArray &bytes) |
Qt3DRender::QBuffer::UsageType | usage() const |
Public Slots
void | setAccessType(Qt3DRender::QBuffer::AccessType access) |
void | setSyncData(bool syncData) |
void | setUsage(Qt3DRender::QBuffer::UsageType usage) |
Signals
void | accessTypeChanged(Qt3DRender::QBuffer::AccessType access) |
void | dataAvailable() |
void | dataChanged(const QByteArray &bytes) |
void | syncDataChanged(bool syncData) |
void | usageChanged(Qt3DRender::QBuffer::UsageType usage) |
Related Non-Members
typedef | QBufferDataGeneratorPtr |
Detailed Description
Data can either be provided directly using QBuffer::setData() or by specifying a generator with QBuffer::setDataGenerator() and providing a Qt3DRender::QBufferDataGeneratorPtr.
When using a generator the data will be loaded asynchronously in a job. The loaded data can be read back if the QBuffer::syncData flag is set to true.
Member Type Documentation
enum QBuffer::AccessType
Constant | Value | Description |
---|---|---|
Qt3DRender::QBuffer::Write | 0x1 | Write access |
Qt3DRender::QBuffer::Read | 0x2 | Read access |
Qt3DRender::QBuffer::ReadWrite | Write|Read | Write|Read |
enum QBuffer::UsageType
The type of the usage.
Constant | Value | Description |
---|---|---|
Qt3DRender::QBuffer::StreamDraw | 0x88E0 | GL_STREAM_DRAW |
Qt3DRender::QBuffer::StreamRead | 0x88E1 | GL_STREAM_READ |
Qt3DRender::QBuffer::StreamCopy | 0x88E2 | GL_STREAM_COPY |
Qt3DRender::QBuffer::StaticDraw | 0x88E4 | GL_STATIC_DRAW |
Qt3DRender::QBuffer::StaticRead | 0x88E5 | GL_STATIC_READ |
Qt3DRender::QBuffer::StaticCopy | 0x88E6 | GL_STATIC_COPY |
Qt3DRender::QBuffer::DynamicDraw | 0x88E8 | GL_DYNAMIC_DRAW |
Qt3DRender::QBuffer::DynamicRead | 0x88E9 | GL_DYNAMIC_READ |
Qt3DRender::QBuffer::DynamicCopy | 0x88EA | GL_DYNAMIC_COPY |
Property Documentation
accessType : AccessType
Returns the AccessType of the buffer.
Access functions:
Qt3DRender::QBuffer::AccessType | accessType() const |
void | setAccessType(Qt3DRender::QBuffer::AccessType access) |
Notifier signal:
void | accessTypeChanged(Qt3DRender::QBuffer::AccessType access) |
See also QBuffer::AccessType.
syncData : bool
Holds the syncData flag. When syncData is true, this will force data created by a Qt3DRender::QBufferDataGenerator to also be updated on the frontend Qt3DRender::QBuffer node. By default syncData is false.
Note: : This has no effect if the buffer's data was set directly using the data property.
Access functions:
bool | isSyncData() const |
void | setSyncData(bool syncData) |
Notifier signal:
void | syncDataChanged(bool syncData) |
usage : UsageType
Holds the buffer usage.
Access functions:
Qt3DRender::QBuffer::UsageType | usage() const |
void | setUsage(Qt3DRender::QBuffer::UsageType usage) |
Notifier signal:
void | usageChanged(Qt3DRender::QBuffer::UsageType usage) |
Member Function Documentation
QBuffer::QBuffer(Qt3DCore::QNode *parent = nullptr)
Constructs a new QBuffer with parent.
[signal]
void QBuffer::dataAvailable()
This signal is emitted when data becomes available.
[signal]
void QBuffer::dataChanged(const QByteArray &bytes)
This signal is emitted with bytes when data changes.
QByteArray QBuffer::data() const
Returns the data.
See also setData().
Qt3DRender::QBufferDataGeneratorPtr QBuffer::dataGenerator() const
Returns the buffer functor.
See also setDataGenerator().
void QBuffer::setData(const QByteArray &bytes)
Sets bytes as data.
See also data().
void QBuffer::setDataGenerator(const Qt3DRender::QBufferDataGeneratorPtr &functor)
Sets the buffer functor.
See also dataGenerator().
void QBuffer::updateData(int offset, const QByteArray &bytes)
Updates the data by replacing it with bytes at offset.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
© 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.