Spec-Zone.ru › Qt 5.14

Тип QML Custom3DVolume

Добавляет объект с объемным рендерингом в график. Подробнее...

Заявление об импорте: import QtDataVisualization 1.14
С момента: QtDataVisualization 1.2
Создаёт: QCustom3DVolume
Наследует от:

Custom3DItem

  • Список всех членов, включая унаследованные

Свойства

  • alphaMultiplier : real
  • drawSliceFrames : bool
  • drawSlices : bool
  • preserveOpacity : bool
  • цветРамкиСрезов : цвет
  • пробелыРамкиСрезов : vector3d
  • толщиныРамкиСрезов : vector3d
  • шириныРамкиСрезов : vector3d
  • индексСрезовX : int
  • индексСрезовY : int
  • индексСрезовZ : int
  • глубинаТекстуры : int
  • высотаТекстуры : int
  • ширинаТекстуры : int
  • использоватьShaderВысокойДетализации : bool

Подробное описание

Объект с объемным рендерингом представляет собой прямоугольный параллелепипед с 3D-текстурой. Поддерживаются три плоскости срезов для объема, по одной вдоль каждой основной оси объема.

Рендеринг объемных объектов требует значительных вычислительных ресурсов, особенно когда объем в значительной степени прозрачен, поскольку содержимое объема отслеживается по лучам. Производительность приблизительно линейно зависит от количества пикселей, занимаемых объемом на экране, поэтому отображение объема в меньшем представлении или ограничение уровня масштабирования графика — простые способы повышения производительности. Аналогично, размеры текстуры объема сильно влияют на производительность. Если частота кадров важнее, чем точное рендеринг содержимого объема, отключите shader высокой детализации, установив свойство использоватьShaderВысокойДетализации в false.

Примечание: Заполнение данных объема обычно неэффективно и непрактично только из QML, поэтому свойства, непосредственно связанные с этим, не полностью поддерживаются из QML. Создайте гибридное приложение QML/C++, если вы хотите использовать объемные объекты с пользовательским интерфейсом Qt Quick.

Примечание: Объемные объекты поддерживаются только с ортогональной проекцией.

Примечание: Объемные объекты используют 3D-текстуры, которые не поддерживаются в средах OpenGL ES2.

См. также AbstractGraph3D::orthoProjection и использоватьShaderВысокойДетализации.

Документация по свойствам

alphaMultiplier : real

Значение альфа каждого текселя текстуры объема умножается на это значение во время рендеринга. Это можно использовать для введения равномерной прозрачности в объем. Если preserveOpacity равно true, влияют только тексели с некоторой прозрачностью изначально, а полностью непрозрачные тексели не затрагиваются. Значение не должно быть отрицательным. По умолчанию 1.0.

См. также preserveOpacity.

drawSliceFrames : bool

Если это свойство равно true, вокруг объема будут нарисованы рамки срезов, указанные свойствами индексов срезов. Если оно равно false, рамки срезов не будут нарисованы. Рисование рамок срезов не зависит от рисования самих срезов, поэтому вы можете показать весь объем и при этом нарисовать рамки срезов вокруг него. По умолчанию false.

См. также индексСрезовX, индексСрезовY, индексСрезовZ и drawSlices.

drawSlices : bool

Если это свойство равно true, вместо всего объема будут нарисованы срезы, указанные свойствами индексов срезов. Если оно равно false, всегда будет отрисовываться весь объем. По умолчанию false.

Примечание: Срезы всегда рисуются вдоль осей элемента, поэтому при повороте элемента, срезы также поворачиваются.

См. также индексСрезовX, индексСрезовY и индексСрезовZ.

preserveOpacity : bool

Если это свойство равно true, alphaMultiplier применяется только к текселям, которые уже имеют некоторую прозрачность. Если оно равно false, множитель применяется к значению альфа всех текселей. По умолчанию true.

См. также alphaMultiplier.

sliceFrameColor : 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-5.14/qml-qtdatavisualization-custom3dvolume.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API