Spec-Zone.ru › Qt 6.1

Тип QML Custom3DVolume

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

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

Custom3DItem

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

Свойства

  • 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

Spec-Zone.ru

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