Тип QML Custom3DVolume
Добавляет объект с объемным рендерингом в график. Подробнее...
| Заявление об импорте: | import QtDataVisualization 1.1 |
| С момента: | QtDataVisualization 1.2 |
| Инициализирует: | QCustom3DVolume |
| Наследует от: |
Свойства
- alphaMultiplier : real
- drawSliceFrames : bool
- drawSlices : bool
- preserveOpacity : bool
- цветРамкиСрезов : color
- sliceFrameGaps : vector3d
- sliceFrameThicknesses : vector3d
- sliceFrameWidths : vector3d
- sliceIndexX : int
- sliceIndexY : int
- sliceIndexZ : int
- глубинаТекстуры : int
- высотаТекстуры : int
- ширинаТекстуры : int
- использоватьВысокодетализированнуюТень : bool
Подробное описание
Объект с объемным рендерингом представляет собой прямоугольный параллелепипед с 3D текстурой. Поддерживаются три плоскости срезов для объема, по одной вдоль каждой основной оси объема.
Рендеринг объемных объектов очень ресурсоемкий, особенно когда объем в значительной степени прозрачен, поскольку содержимое объема отслеживается по лучам. Производительность практически линейно увеличивается с количеством пикселей, занимаемых объемом на экране, поэтому показ объема в меньшем представлении или ограничение уровня масштабирования графика — простые способы повышения производительности. Аналогичным образом, размеры текстуры объема сильно влияют на производительность. Если частота кадров важнее, чем точное отображение содержимого объема, рассмотрите возможность отключения высокодетализированной тени, установив свойство использоватьВысокодетализированнуюТень на false.
Примечание: Заполнение данных объема обычно неэффективно или непрактично только из чистого QML, поэтому свойства, напрямую связанные с этим, не полностью поддерживаются QML. Создайте гибридное приложение QML/C++, если хотите использовать объемные объекты с пользовательским интерфейсом Qt Quick.
Примечание: Объемные объекты поддерживаются только с ортогональной проекцией.
Примечание: Объемные объекты используют 3D-текстуры, которые не поддерживаются в средах OpenGL ES2.
См. также AbstractGraph3D::orthoProjection и использоватьВысокодетализированнуюТень.
Документация по свойствам
alphaMultiplier : real
Значение альфа каждого пикселя текстуры объема умножается на это значение во время рендеринга. Это можно использовать для введения равномерной прозрачности в объем. Если preserveOpacity равно true, только пиксели с некоторой прозрачностью изначально будут затронуты, а полностью непрозрачные пиксели не будут затронуты. Значение не должно быть отрицательным. По умолчанию 1.0.
См. также preserveOpacity.
drawSliceFrames : bool
Если это свойство равно true, рамки срезов, указанные свойствами индекса среза, будут нарисованы вокруг объема. Если оно равно false, рамки срезов не будут нарисованы. Рисование рамок срезов не зависит от рисования срезов, поэтому вы можете показать весь объем и при этом нарисовать рамки срезов вокруг него. По умолчанию false.
См. также sliceIndexX, sliceIndexY, sliceIndexZ и drawSlices.
drawSlices : bool
Если это свойство равно true, вместо всего объема будут нарисованы срезы, указанные свойствами индекса среза. Если оно равно false, всегда будет нарисован весь объем. По умолчанию false.
Примечание: Срезы всегда рисуются вдоль осей элемента, поэтому, если элемент повернут, срезы также поворачиваются.
См. также sliceIndexX, sliceIndexY и sliceIndexZ.
preserveOpacity : bool
Если это свойство равно true, alphaMultiplier применяется только к пикселям, которые уже имеют некоторую прозрачность. Если оно равно false, множитель применяется к значению альфа всех пикселей. По умолчанию true.
См. также alphaMultiplier.
цветРамкиСрезов : color
Цвет рамки среза. Прозрачный цвет рамки среза не поддерживается.
По умолчанию черный.
См. также 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 : int
Индекс x-размерности в данных текстуры, указывающий, какой вертикальный срез отобразить. Установка любой размерности в отрицательное значение указывает на то, что для этой размерности не рисуется срез или рамка среза. Если все размерности отрицательные, не рисуются ни срезы, ни рамки срезов, и объем рисуется обычно. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
sliceIndexY : int
Индекс y-размерности в данных текстуры, указывающий, какой горизонтальный срез отобразить. Установка любой размерности в отрицательное значение указывает на то, что для этой размерности не рисуется срез или рамка среза. Если все размерности отрицательные, не рисуются ни срезы, ни рамки срезов, и объем рисуется обычно. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
sliceIndexZ : int
Индекс z-размерности в данных текстуры, указывающий, какой вертикальный срез отобразить. Установка любой размерности в отрицательное значение указывает на то, что для этой размерности не рисуется срез или рамка среза. Если все размерности отрицательные, не рисуются ни срезы, ни рамки срезов, и объем рисуется обычно. По умолчанию -1.
См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.
textureDepth : int
Глубина 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-6.1/qml-qtdatavisualization-custom3dvolume.html