Spec-Zone.ru › Qt 6.1

Тип QML Texture

Определяет текстуру для использования в 3D-сценах. Подробнее...

Заявление импорта: import QtQuick3D .
Наследуется от:

Object3D

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

Свойства

  • flipV : bool
  • generateMipmaps : bool
  • indexUV : int
  • magFilter : перечисление
  • mappingMode : перечисление
  • minFilter : перечисление
  • mipFilter : перечисление
  • pivotU : float
  • pivotV : float
  • positionU : float
  • positionV : float
  • rotationUV : float
  • scaleU : float
  • scaleV : float
  • source : url
  • sourceItem : Item
  • textureData : TextureData
  • tilingModeHorizontal : перечисление
  • tilingModeVertical : перечисление

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

Текстура — это, по сути, любой массив пикселей (1D, 2D или 3D) и связанные с ним параметры, такие как фильтры уменьшения и увеличения, масштабирование и преобразования UV.

Тип Texture в Qt Quick 3D представляет собой двумерное изображение. Он обычно используется для отображения/обёртывания вокруг трёхмерной геометрии, чтобы имитировать дополнительные детали, которые невозможно эффективно смоделировать в 3D. Его также можно использовать для имитации других эффектов освещения, таких как отражения.

При отрисовке геометрии каждая точка на её поверхности преобразуется в соответствующую точку текстуры путём преобразования и интерполяции координат UV (координаты текстуры), которые были установлены для вершин сетки. Затем программа фрагментного шейдера, используемая для отрисовки активного материала, обычно сэмплирует текстуры материала в заданных координатах и использует полученные данные в своих расчётах освещения.

Примечание: Один материал может использовать несколько текстур для получения желаемой интерактивности со светом в 3D-сцене. Он может представлять цвет каждого текселя на поверхности геометрии, а также другие атрибуты поверхности. Например, «карта нормалей» может представлять отклонение от нормалей геометрии для каждого текселя на поверхности, имитируя взаимодействие света с более мелкими деталями на поверхности, такими как трещины или неровности. Обратитесь к примеру материала Principled для демонстрации материала с несколькими картами текстур.

Объекты текстур могут получать данные изображения из:

  • файла изображения или текстуры, используя свойство source,
  • элемента Qt Quick Item с помощью свойства sourceItem,
  • или установив свойство textureData в элемент TextureData для определения пользовательского содержимого текстуры.

В следующем примере изображение «madewithqt.png» отображается на стандартной сфере, а координаты UV масштабируются для чередования изображения на поверхности сферы.

Model {
    source: "#Sphere"
    materials: [ PrincipledMaterial {
            baseColorMap: Texture {
                source: "madewithqt.png"
                scaleU: 4.0
                scaleV: 4.0
            }
        }
    ]
}

Результат выглядит следующим образом:

Исходное изображение Отображено на сфере

См. также Пример Qt Quick 3D — динамическая текстура и Пример Qt Quick 3D — процедурная текстура.

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

flipV : bool

Это свойство устанавливает использование вертикально инвертированных координат.

По умолчанию значение — false.

generateMipmaps : bool

Это свойство определяет, генерируются ли mip-уровни для текстур, которые сами по себе не предоставляют mip-уровни. Использование mip-уровней вместе с фильтром mip-уровней обеспечивает более высокое качество визуализации текстур на расстоянии по сравнению с отрисовкой без них, но это может сказаться на производительности (как при инициализации изображения, так и при отрисовке).

По умолчанию это свойство установлено в значение false.

Примечание: Для использования сгенерированных mip-уровней необходимо установить режим mipFilter.

См. также mipFilter.

indexUV : int

Это свойство устанавливает индекс координаты UV, используемый этой текстурой. Так как QtQuick3D в настоящее время поддерживает 2 набора UV (0 или 1), значение будет усечено до этого диапазона.

По умолчанию значение — 0.

magFilter : перечисление

Это свойство определяет способ выборки текстуры, когда тексель охватывает больше одного пикселя.

Значение по умолчанию — Texture.Linear.

Постоянная Описание
Texture.Nearest использует значение ближайшего текселя.
Texture.Linear берёт четыре ближайших текселя и выполняет билинейную интерполяцию.

Примечание: Использование Texture.None здесь по умолчанию установит Texture.Linear.

См. также minFilter и mipFilter.

mappingMode : перечисление

Это свойство определяет метод отображения при выборке этой текстуры.

Постоянная Описание
Texture.UV По умолчанию для карт диффузии и непрозрачности, это приводит к тому, что изображение прикрепляется к сетке. Та же часть изображения всегда будет отображаться на той же вершине (если свойства UV не анимированы).
Texture.Environment По умолчанию для отражения, это приводит к тому, что изображение «проектируется» на материал так, как будто оно отражается. Использование карты окружающей среды для карт диффузии даёт эффект зеркала.
Texture.LightProbe По умолчанию для карт сферы HDRI, используемых зондами света. Обычно при использовании зонда света это устанавливать не нужно, но может потребоваться явно установить при использовании карт окружающей среды.

minFilter : перечисление

Это свойство определяет способ выборки текстуры, когда тексель охватывает больше одного пикселя.

Значение по умолчанию — Texture.Linear.

Постоянная Описание
Texture.Nearest использует значение ближайшего текселя.
Texture.Linear берёт четыре ближайших текселя и выполняет билинейную интерполяцию.

Примечание: Использование Texture.None здесь по умолчанию установит Texture.Linear.

См. также magFilter и mipFilter.

mipFilter : перечисление

Это свойство определяет способ выборки mip-уровней текстуры, когда тексель охватывает меньше одного пикселя.

Значение по умолчанию — Texture.None.

Постоянная Описание
Texture.None отключает использование выборки mip-уровней.
Texture.Nearest использует mip-уровни и выбирает значение ближайшего текселя.
Texture.Linear использует mip-уровни и выполняет интерполяцию между несколькими значениями текселей.

Примечание: Это свойство не будет влиять на текстуры, у которых нет mip-уровней.

См. также minFilter и magFilter.

pivotU : float

Это свойство устанавливает положение pivota U, которое используется при применении rotationUV.

По умолчанию значение — 0.0.

См. также rotationUV.

pivotV : float

Это свойство устанавливает положение pivota V, которое используется при применении rotationUV.

Значение по умолчанию равно 0,0.

См. также rotationUV.

positionU : float

Это свойство смещает отображение координаты U слева направо.

Значение по умолчанию равно 0,0.

positionV : float

Это свойство смещает отображение координаты V снизу вверх.

Значение по умолчанию равно 0,0.

Примечание: Qt Quick 3D использует данные вершин в стиле OpenGL, независимо от используемого в момент выполнения графического API. Положение UV (0, 0) поэтому относится к левому нижнему углу данных изображения.

rotationUV : float

Это свойство вращает текстуру вокруг точки вращения. Это определяется с помощью углов Эйлера, и для положительного значения вращение происходит по часовой стрелке.

Значение по умолчанию равно 0,0.

См. также pivotU и pivotV.

scaleU : float

Это свойство определяет, как масштабировать координату текстуры U при отображении на координаты UV сетки.

Масштабирование значения U при использовании горизонтальной укладки определяет, сколько раз текстура повторяется слева направо.

Значение по умолчанию равно 1,0.

См. также tilingModeHorizontal.

scaleV : float

Это свойство определяет, как масштабировать координату текстуры V при отображении на координаты UV сетки.

Масштабирование значения V при использовании вертикальной укладки определяет, сколько раз текстура повторяется снизу вверх.

Значение по умолчанию равно 1,0.

См. также tilingModeVertical.

source : url

Это свойство содержит расположение файла изображения или текстуры, содержащего данные, используемые текстурой.

Свойство представляет собой URL-адрес с теми же правилами, что и другие свойства источника, такие как Image.source. Для Texture поддерживаются только схемы qrc и file. Если схема отсутствует, а значение представляет собой относительный путь, оно предполагается относительным к расположению компонента (т.е. файлу .qml).

Файл источника может иметь любой стандартный формат файла изображения поддерживаемый Qt. Кроме того, Texture поддерживает те же типы сжатых файлов текстур, что и QtQuick::Image.

Примечание: Поскольку у Quick ось Y направлена вниз, а в Qt Quick 3D — вверх, ориентация текстур по умолчанию может выглядеть иначе. Свойство flipV можно использовать для изменения ориентации.

См. также sourceItem, textureData и flipV.

sourceItem : Item

Это свойство определяет элемент Item, используемый в качестве источника текстуры. Использование этого свойства позволяет использовать любой 2D контент Qt Quick в качестве источника текстуры, визуализируя этот элемент как автономный слой.

Если элемент является поставщиком текстур, дополнительная текстура не используется.

Если это свойство установлено, значение source будет игнорироваться. Текстура должна использовать один метод для предоставления данных изображения и установить только одно из свойств source, sourceItem или textureData.

Примечание: В настоящее время нет способа перенаправить события ввода элементу Item, используемому в качестве источника текстуры.

Примечание: Использование этого свойства в текстуре, на которую ссылаются из нескольких окон, строго не рекомендуется. Это включает использование через View3D::importScene. Поскольку исходная текстура, созданная этим свойством, доступна только одному потоку обработки рендеринга, попытка совместно использовать её между несколькими экземплярами QQuickWindow потерпит неудачу, если не используется цикл обработки рендеринга basic Qt Quick вместо стандартного threaded. См. Qt Quick Scene Graph для получения дополнительной информации о циклах обработки рендеринга Qt Quick.

См. также source и textureData.

textureData : TextureData

Это свойство содержит ссылку на компонент TextureData, который определяет содержимое и свойства необработанных данных текстуры.

Если это свойство используется, значение source будет проигнорировано. Текстура должна использовать один метод для предоставления данных изображения и установить только одно из свойств source, sourceItem или textureData.

См. также source, sourceItem и Qt Quick 3D - Пример процедурной текстуры.

tilingModeHorizontal : enumeration

Управляет способом отображения текстуры, когда значение масштабирования U больше 1.

По умолчанию это свойство установлено в Texture.Repeat.

Постоянная Описание
Texture.ClampToEdge Текстура не повторяется, вместо этого используется значение на краю.
Texture.MirroredRepeat Текстура повторяется и отражается по оси X.
Texture.Repeat Текстура повторяется по оси X.

См. также scaleU.

tilingModeVertical : enumeration

Это свойство управляет способом отображения текстуры, когда значение масштабирования V больше 1.

По умолчанию это свойство установлено в Texture.Repeat.

Постоянная Описание
Texture.ClampToEdge Текстура не повторяется, вместо этого используется значение на краю.
Texture.MirroredRepeat Текстура повторяется и отражается по оси Y.
Texture.Repeat Текстура повторяется по оси Y.

См. также scaleV.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qtquick3d-texture.html

Spec-Zone.ru

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