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 |
enum | AccessType { Write, Read, ReadWrite } |
enum | UsageType { StreamDraw, StreamRead, StreamCopy, StaticDraw, StaticRead, …, DynamicCopy } |
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 |
void | setAccessType(Qt3DRender::QBuffer::AccessType access) |
void | setSyncData(bool syncData) |
void | setUsage(Qt3DRender::QBuffer::UsageType usage) |
void | accessTypeChanged(Qt3DRender::QBuffer::AccessType access) |
void | dataAvailable() |
void | dataChanged(const QByteArray &bytes) |
void | syncDataChanged(bool syncData) |
void | usageChanged(Qt3DRender::QBuffer::UsageType usage) |
typedef | QBufferDataGeneratorPtr |
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.
Constant | Value | Description |
---|---|---|
Qt3DRender::QBuffer::Write |
0x1 |
Write access |
Qt3DRender::QBuffer::Read |
0x2 |
Read access |
Qt3DRender::QBuffer::ReadWrite |
Write|Read |
Write|Read |
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 |
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.
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) |
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) |
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.
Returns the data.
See also setData().
Returns the buffer functor.
See also setDataGenerator().
Sets bytes as data.
See also data().
Sets the buffer functor.
See also dataGenerator().
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.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qt3drender-qbuffer.html