Тип QML Custom3DVolume
Добавляет объект с объемным рендерингом в график. Подробнее...
| Заявление импорта: | import QtDataVisualization 1.2 |
| С тех пор: | QtDataVisualization 1.2 |
| Инициализирует: | QCustom3DVolume |
| Наследует от: |
Свойства
- alphaMultiplier : вещественное число
- drawSliceFrames : булево
- drawSlices : булево
- preserveOpacity : булево
- sliceFrameColor : цвет
- sliceFrameGaps : vector3d
- sliceFrameThicknesses : vector3d
- sliceFrameWidths : vector3d
- sliceIndexX : целое число
- sliceIndexY : целое число
- sliceIndexZ : целое число
- textureDepth : целое число
- textureHeight : целое число
- textureWidth : целое число
- useHighDefShader : булево
Подробное описание
Объект с объемным рендерингом представляет собой прямоугольный параллелепипед с 3D текстурой. Поддерживаются три плоскости срезов для объема, по одной вдоль каждой главной оси объема.
Рендеринг объектов объема является очень ресурсоемким процессом, особенно когда объем в значительной степени прозрачен, так как содержимое объема прослеживается по лучам. Производительность практически линейно зависит от количества пикселей, занимаемых объемом на экране, поэтому отображение объема в меньшем представлении или ограничение уровня масштабирования графика являются простыми способами повышения производительности. Аналогично, размеры текстуры объема сильно влияют на производительность. Если частота кадров важнее, чем точное рендеринг содержимого объема, рассмотрите возможность отключения высококачественного шейдера, установив свойство useHighDefShader в false.
Примечание: Заполнение данных объема обычно не является эффективным или практичным непосредственно из чистого QML, поэтому свойства, напрямую связанные с этим, не полностью поддерживаются QML. Создайте гибридное приложение QML/C++, если хотите использовать объекты объема с интерфейсом Qt Quick.
Примечание: Объекты объёмного типа поддерживаются только с ортогональной проекцией.
Примечание: Объекты объёмного типа используют 3D текстуры, которые не поддерживаются в средах OpenGL ES2.
См. также AbstractGraph3D::orthoProjection и useHighDefShader.
Документация по свойствам
alphaMultiplier : вещественное число
Значение альфа каждого текселя текстуры объема умножается на это значение во время рендеринга. Это может быть использовано для введения равномерной прозрачности в объем. Если preserveOpacity равно true, только тексели с некоторой прозрачностью изначально будут затронуты, а полностью непрозрачные тексели не будут затронуты. Значение не должно быть отрицательным. По умолчанию 1.0.
См. также preserveOpacity.
drawSliceFrames : булево
Если это значение свойства равно true, рамки срезов, указанные свойствами индекса среза, будут нарисованы вокруг объема. Если оно равно false, рамки срезов не будут нарисованы. Рисование рамок срезов независимо от рисования самих срезов, так что вы можете показать весь объем и все равно нарисовать рамки срезов вокруг него. По умолчанию false.
См. также sliceIndexX, sliceIndexY, sliceIndexZ и drawSlices.
drawSlices : булево
Если значение этого свойства равно true, срезы, указанные свойствами индекса среза, будут нарисованы вместо всего объема. Если оно равно false, всегда будет нарисован весь объем. По умолчанию false.
Примечание: Срезы всегда рисуются вдоль осей элемента, поэтому если элемент повернут, срезы также поворачиваются.
См. также sliceIndexX, sliceIndexY и sliceIndexZ.
preserveOpacity : булево
Если это значение свойства равно true, alphaMultiplier применяется только к текселям, которые уже имеют некоторую прозрачность. Если оно равно false, множитель применяется к значению альфа всех текселей. По умолчанию true.
См. также alphaMultiplier.
sliceFrameColor : цвет
Цвет рамки среза. Прозрачный цвет рамки среза не поддерживается.
По умолчанию черный.
См. также drawSliceFrames.
sliceFrameGaps : vector3d
Размер воздушного зазора, оставленного между самим объемом и рамкой в каждой размерности. Зазор может отличаться в разных измерениях. Значения являются долями толщины объема в той же размерности. Значения не могут быть отрицательными.
По умолчанию vector3d(0.01, 0.01, 0.01).
См. также drawSliceFrames.
sliceFrameThicknesses : vector3d
Толщина рамок срезов для каждой размерности. Значения являются долями толщины объема в той же размерности. Значения не могут быть отрицательными.
По умолчанию vector3d(0.01, 0.01, 0.01).
См. также drawSliceFrames.
sliceFrameWidths : vector3d
Ширина рамки срезов. Ширина может отличаться в разных измерениях, поэтому вы можете, например, отказаться от рисования рамок на определенных сторонах объема, установив значение для этой размерности равным нулю. Значения являются долями толщины объема в той же размерности. Значения не могут быть отрицательными.
По умолчанию vector3d(0.01, 0.01, 0.01).
См. также drawSliceFrames.
sliceIndexX : целое число
Индекс x-измерения в данных текстуры, указывающий, какой вертикальный срез отображать. Установка любого измерения в отрицательное значение указывает на отсутствие среза или рамки среза для этого измерения. Если все измерения отрицательные, срезы или рамки срезов не рисуются, и объем рисуется нормально. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
sliceIndexY : целое число
Индекс y-измерения в данных текстуры, указывающий, какой горизонтальный срез отображать. Установка любого измерения в отрицательное значение указывает на отсутствие среза или рамки среза для этого измерения. Если все измерения отрицательные, срезы или рамки срезов не рисуются, и объем рисуется нормально. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
sliceIndexZ : целое число
Индекс z-измерения в данных текстуры, указывающий, какой вертикальный срез отображать. Установка любого измерения в отрицательное значение указывает на отсутствие среза или рамки среза для этого измерения. Если все измерения отрицательные, срезы или рамки срезов не рисуются, и объем рисуется нормально. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
textureDepth : целое число
Глубина 3D-текстуры, определяющей объёмное содержимое, в пикселях. По умолчанию 0.
Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры нельзя соответствующим образом изменять размер.
textureHeight : int
Высота 3D-текстуры, определяющей объёмное содержимое, в пикселях. По умолчанию 0.
Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры нельзя соответствующим образом изменять размер.
textureWidth : int
Ширина 3D-текстуры, определяющей объёмное содержимое, в пикселях. По умолчанию 0.
Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры нельзя соответствующим образом изменять размер.
useHighDefShader : bool
Если значение этого свойства true, используется высококачественный шейдер для визуализации объёма. Если false, используется низкокачественный шейдер.
Высококачественный шейдер гарантирует, что каждый видимый тексел текстуры объёма будет просчитан при визуализации объёма. Низкокачественный шейдер отображает лишь приблизительное представление содержимого объёма, но с гораздо большей частотой кадров. Низкокачественный шейдер не гарантирует, что каждый тексел текстуры объёма будет просчитан, поэтому могут возникать мерцания, если объём содержит чёткие тонкие элементы.
Примечание: Это значение не влияет на уровень детализации при визуализации срезов объёма.
По умолчанию true.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtdatavisualization-custom3dvolume.html