Класс QBuffer
(Qt3DRender::QBuffer)Предоставляет хранилище данных для необработанных данных, которые впоследствии будут использоваться в качестве вершин или униформ. Подробнее...
| Заголовок: | #include <Qt3DRender/QBuffer> |
| qmake: | QT += 3drender |
| Создается из: | Buffer |
| Наследует: | Qt3DCore::QNode |
Типы публичного доступа
| Перечисление | AccessType { Write, Read, ReadWrite } |
| Перечисление | BufferType { VertexBuffer, IndexBuffer, PixelPackBuffer, PixelUnpackBuffer, ..., DrawIndirectBuffer } |
| Перечисление | UsageType { StreamDraw, StreamRead, StreamCopy, StaticDraw, ..., DynamicCopy } |
Свойства
- accessType : AccessType
- syncData : bool
- type : BufferType
- usage : UsageType
- 3 свойства унаследованы от Qt3DCore::QNode
- 1 свойство унаследовано от QObject
Функции публичного доступа
| QBuffer(BufferType ty = QBuffer::VertexBuffer, Qt3DCore::QNode *parent = nullptr) | |
| AccessType | accessType() const |
| QByteArray | data() const |
| QBufferDataGeneratorPtr | dataGenerator() const |
| bool | isSyncData() const |
| void | setData(const QByteArray &bytes) |
| void | setDataGenerator(const QBufferDataGeneratorPtr &functor) |
| BufferType | type() const |
| void | updateData(int offset, const QByteArray &bytes) |
| UsageType | usage() const |
- 11 функций публичного доступа унаследованы от Qt3DCore::QNode
- 32 функции публичного доступа унаследованы от QObject
Свойства-слоты публичного доступа
| void | setAccessType(AccessType access) |
| void | setSyncData(bool syncData) |
| void | setType(BufferType type) |
| void | setUsage(UsageType usage) |
- 3 свойства-слота публичного доступа унаследованы от Qt3DCore::QNode
- 1 свойство-слот публичного доступа унаследовано от QObject
Сигналы
| void | accessTypeChanged(AccessType access) |
| void | dataAvailable() |
| void | dataChanged(const QByteArray &bytes) |
| void | syncDataChanged(bool syncData) |
| void | typeChanged(BufferType type) |
| void | usageChanged(UsageType usage) |
- 4 сигнала унаследованы от Qt3DCore::QNode
- 2 сигнала унаследованы от QObject
Связанные нечлены
| typedef | QBufferDataGeneratorPtr |
Дополнительные унаследованные члены
- 11 статических публичных членов унаследованы от QObject
- 2 защищенных функции унаследованы от Qt3DCore::QNode
- 9 защищенных функций унаследованы от QObject
Подробное описание
Предоставляет хранилище данных для необработанных данных, которые впоследствии будут использоваться в качестве вершин или униформ.
Данные могут быть предоставлены непосредственно с помощью QBuffer::setData() или указанием генератора с помощью QBuffer::setDataGenerator() и предоставлением Qt3DRender::QBufferDataGeneratorPtr.
При использовании генератора данные будут загружаться асинхронно в задаче. Загруженные данные можно считать обратно, если флаг QBuffer::syncData установлен в true.
Документация типов членов
перечисление QBuffer::AccessType
перечисление QBuffer::BufferType
Тип буфера.
| Константа | Значение | Описание |
|---|---|---|
Qt3DRender::QBuffer::VertexBuffer |
0x8892 |
GL_ARRAY_BUFFER |
Qt3DRender::QBuffer::IndexBuffer |
0x8893 |
GL_ELEMENT_ARRAY_BUFFER |
Qt3DRender::QBuffer::PixelPackBuffer |
0x88EB |
GL_PIXEL_PACK_BUFFER |
Qt3DRender::QBuffer::PixelUnpackBuffer |
0x88EC |
GL_PIXEL_UNPACK_BUFFER |
Qt3DRender::QBuffer::UniformBuffer |
0x8A11 |
GL_UNIFORM_BUFFER |
Qt3DRender::QBuffer::ShaderStorageBuffer |
0x90D2 |
GL_SHADER_STORAGE_BUFFER |
Qt3DRender::QBuffer::DrawIndirectBuffer |
0x8F3F |
GL_DRAW_INDIRECT_BUFFER |
перечисление QBuffer::UsageType
Тип использования.
| Константа | Значение | Описание |
|---|---|---|
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 |
Документация свойств
accessType : AccessType
Функции доступа:
| AccessType | accessType() const |
| void | setAccessType(AccessType access) |
Сигнал уведомления:
| void | accessTypeChanged(AccessType access) |
syncData : bool
Содержит флаг syncData. Когда syncData равно true, это принудительно обновит данные, созданные Qt3DRender::QBufferDataGenerator, на узле переднего плана Qt3DRender::QBuffer. По умолчанию syncData равно false.
Примечание: Это не оказывает никакого влияния, если данные буфера были установлены напрямую с помощью свойства data.
Функции доступа:
| bool | isSyncData() const |
| void | setSyncData(bool syncData) |
Сигнал уведомления:
| void | syncDataChanged(bool syncData) |
type : BufferType
Содержит тип буфера.
Функции доступа:
| BufferType | type() const |
| void | setType(BufferType type) |
Сигнал уведомления:
| void | typeChanged(BufferType type) |
usage : UsageType
Содержит использование буфера.
Функции доступа:
| UsageType | usage() const |
| void | setUsage(UsageType usage) |
Сигнал уведомления:
| void | usageChanged(UsageType usage) |
Документация функций-членов
QBuffer::QBuffer(BufferType ty = QBuffer::VertexBuffer, Qt3DCore::QNode *parent = nullptr)
Создаёт экземпляр QBuffer.
QByteArray QBuffer::data() const
Возвращает данные.
См. также setData().
[signal] void QBuffer::dataAvailable()
[signal] void QBuffer::dataChanged(const QByteArray &bytes)
Этот сигнал испускается с bytes при изменении данных.
QBufferDataGeneratorPtr QBuffer::dataGenerator() const
Возвращает функтор буфера.
См. также setDataGenerator().
void QBuffer::setData(const QByteArray &bytes)
Устанавливает bytes в качестве данных.
См. также data().
void QBuffer::setDataGenerator(const QBufferDataGeneratorPtr &functor)
Устанавливает функтор буфера functor.
См. также dataGenerator().
void QBuffer::updateData(int offset, const QByteArray &bytes)
Обновляет данные, заменяя их bytes по смещению offset.
Связанные функции (не члены)
typedef Qt3DRender::QBufferDataGeneratorPtr
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3drender-qbuffer.html