Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Металлическая ссылка платформы ссылка класса MTLVertexAttributeDescriptor

Опции
Развертывание Target:

На этой странице
Язык:

MTLVertexAttributeDescriptor

Наследование


Соответствует


Оператор импорта


Swift

import Metal

Objective C

@import Metal;

Доступность


Доступный в iOS 8.0 и позже.

MTLVertexAttributeDescriptor определяет, как данные атрибута вершины хранятся в памяти и как это отображается на параметрах за функцию вершинного шейдера.

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

  • format Свойство

    Формат атрибута вершины.

    Объявление

    Swift

    var format: MTLVertexFormat

    Objective C

    @property(assign, nonatomic) MTLVertexFormat format

    Обсуждение

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

    Преобразование векторов различных длин допустимо. Длина векторов может быть сокращена. Например, MTLVertexFormatInt4 данные могут быть сокращены до сингла int параметр программы построения теней допустим, и последние три значения вектора отбрасываются. Векторы могут также быть расширены; например, расширение MTLVertexFormatInt к int4 векторный параметр программы построения теней допустим. При расширении дополнительные компоненты заполнены соответствующими компонентами (0,0,0,1).

    Знак целого числа MTLVertexFormat не может быть брошен к параметру программы построения теней с целым типом различного знака. Например, бросая формат со знаком MTLVertexFormatInt к uint параметр программы построения теней недопустим. Кастинг MTLVertexFormatUInt к int параметр также недопустим.

    Целочисленное усечение не поддерживается. Например, кастинг MTLVertexFormatInt к a short недопустимо. Однако кастинг MTLVertexFormatShort2 к вектору int значения допустимы.

    Кастинг любого MTLVertexFormat к a float или half допустимо. Кастинг нормализован MTLVertexFormat типы (такой как MTLVertexFormatShort2Normalized) только допустимы к float или half.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • offset Свойство

    Расположение атрибута в данных вершины, определенных байтовым смещением от запуска данных вершины.

    Объявление

    Swift

    var offset: Int

    Objective C

    @property(assign, nonatomic) NSUInteger offset

    Обсуждение

    offset значение должно быть кратным числом 4 байты.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • bufferIndex Свойство

    Индекс в таблице параметра для связанного буфера вершины.

    Объявление

    Swift

    var bufferIndex: Int

    Objective C

    @property(assign, nonatomic) NSUInteger bufferIndex

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Значения, указывающие организацию (тип и число) данных вершины в MTLBuffer.

    Объявление

    Swift

    enum MTLVertexFormat : UInt { case Invalid case UChar2 case UChar3 case UChar4 case Char2 case Char3 case Char4 case UChar2Normalized case UChar3Normalized case UChar4Normalized case Char2Normalized case Char3Normalized case Char4Normalized case UShort2 case UShort3 case UShort4 case Short2 case Short3 case Short4 case UShort2Normalized case UShort3Normalized case UShort4Normalized case Short2Normalized case Short3Normalized case Short4Normalized case Half2 case Half3 case Half4 case Float case Float2 case Float3 case Float4 case Int case Int2 case Int3 case Int4 case UInt case UInt2 case UInt3 case UInt4 case Int1010102Normalized case UInt1010102Normalized }

    Objective C

    typedef enum : NSUInteger { MTLVertexFormatInvalid = 0, MTLVertexFormatUChar2 = 1, MTLVertexFormatUChar3 = 2, MTLVertexFormatUChar4 = 3, MTLVertexFormatChar2 = 4, MTLVertexFormatChar3 = 5, MTLVertexFormatChar4 = 6, MTLVertexFormatUChar2Normalized = 7, MTLVertexFormatUChar3Normalized = 8, MTLVertexFormatUChar4Normalized = 9, MTLVertexFormatChar2Normalized = 10, MTLVertexFormatChar3Normalized = 11, MTLVertexFormatChar4Normalized = 12, MTLVertexFormatUShort2 = 13, MTLVertexFormatUShort3 = 14, MTLVertexFormatUShort4 = 15, MTLVertexFormatShort2 = 16, MTLVertexFormatShort3 = 17, MTLVertexFormatShort4 = 18, MTLVertexFormatUShort2Normalized = 19, MTLVertexFormatUShort3Normalized = 20, MTLVertexFormatUShort4Normalized = 21, MTLVertexFormatShort2Normalized = 22, MTLVertexFormatShort3Normalized = 23, MTLVertexFormatShort4Normalized = 24, MTLVertexFormatHalf2 = 25, MTLVertexFormatHalf3 = 26, MTLVertexFormatHalf4 = 27, MTLVertexFormatFloat = 28, MTLVertexFormatFloat2 = 29, MTLVertexFormatFloat3 = 30, MTLVertexFormatFloat4 = 31, MTLVertexFormatInt = 32, MTLVertexFormatInt2 = 33, MTLVertexFormatInt3 = 34, MTLVertexFormatInt4 = 35, MTLVertexFormatUInt = 36, MTLVertexFormatUInt2 = 37, MTLVertexFormatUInt3 = 38, MTLVertexFormatUInt4 = 39, MTLVertexFormatInt1010102Normalized = 40, MTLVertexFormatUInt1010102Normalized = 41 } MTLVertexFormat;

    Константы

    • Invalid

      MTLVertexFormatInvalid

      Недопустимый формат вершины.

      Доступный в iOS 8.0 и позже.

    • UChar2

      MTLVertexFormatUChar2

      Два 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UChar3

      MTLVertexFormatUChar3

      Три 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UChar4

      MTLVertexFormatUChar4

      Четыре 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • Char2

      MTLVertexFormatChar2

      Дополнительные значения двух 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Char3

      MTLVertexFormatChar3

      Дополнительные значения трех 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Char4

      MTLVertexFormatChar4

      Дополнительные значения четырех 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • UChar2Normalized

      MTLVertexFormatUChar2Normalized

      Два нормализованных 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UChar3Normalized

      MTLVertexFormatUChar3Normalized

      Три нормализованных 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UChar4Normalized

      MTLVertexFormatUChar4Normalized

      Четыре нормализованных 8-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • Char2Normalized

      MTLVertexFormatChar2Normalized

      Дополнительные значения двух нормализованных 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Char3Normalized

      MTLVertexFormatChar3Normalized

      Дополнительные значения трех нормализованных 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Char4Normalized

      MTLVertexFormatChar4Normalized

      Дополнительные значения четырех нормализованных 8-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • UShort2

      MTLVertexFormatUShort2

      Два 16-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UShort3

      MTLVertexFormatUShort3

      Три 16-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UShort4

      MTLVertexFormatUShort4

      Четыре 16-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • Short2

      MTLVertexFormatShort2

      Дополнительные значения двух 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Short3

      MTLVertexFormatShort3

      Дополнительные значения трех 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Short4

      MTLVertexFormatShort4

      Дополнительные значения четырех 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • UShort2Normalized

      MTLVertexFormatUShort2Normalized

      Два нормализованных 16-разрядных значения без знака

      Доступный в iOS 8.0 и позже.

    • UShort3Normalized

      MTLVertexFormatUShort3Normalized

      Три нормализованных 16-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UShort4Normalized

      MTLVertexFormatUShort4Normalized

      Четыре нормализованных 16-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • Short2Normalized

      MTLVertexFormatShort2Normalized

      Дополнительные значения двух нормализованных 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Short3Normalized

      MTLVertexFormatShort3Normalized

      Дополнительные значения трех нормализованных 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Short4Normalized

      MTLVertexFormatShort4Normalized

      Дополнительные значения четырех нормализованных 16-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Half2

      MTLVertexFormatHalf2

      Две полуточности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Half3

      MTLVertexFormatHalf3

      Три полуточности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Half4

      MTLVertexFormatHalf4

      Четыре полуточности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Float

      MTLVertexFormatFloat

      Одна одинарная точность значение с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Float2

      MTLVertexFormatFloat2

      Две одинарной точности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Float3

      MTLVertexFormatFloat3

      Три одинарной точности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Float4

      MTLVertexFormatFloat4

      Четыре одинарной точности значения с плавающей точкой.

      Доступный в iOS 8.0 и позже.

    • Int

      MTLVertexFormatInt

      Дополнительное значение одного 32-разрядного two со знаком.

      Доступный в iOS 8.0 и позже.

    • Int2

      MTLVertexFormatInt2

      Дополнительные значения двух 32-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Int3

      MTLVertexFormatInt3

      Дополнительные значения трех 32-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • Int4

      MTLVertexFormatInt4

      Дополнительные значения четырех 32-разрядных two со знаком.

      Доступный в iOS 8.0 и позже.

    • UInt

      MTLVertexFormatUInt

      Одно 32-разрядное значение без знака.

      Доступный в iOS 8.0 и позже.

    • UInt2

      MTLVertexFormatUInt2

      Два 32-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UInt3

      MTLVertexFormatUInt3

      Три 32-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • UInt4

      MTLVertexFormatUInt4

      Четыре 32-разрядных значения без знака.

      Доступный в iOS 8.0 и позже.

    • Int1010102Normalized

      MTLVertexFormatInt1010102Normalized

      Одно упакованное 32-разрядное значение с дополнительными целочисленными значениями четырех нормализованных two со знаком, расположенными как 10 битов, 10 битов, 10 битов и 2 бита.

      Доступный в iOS 8.0 и позже.

    • UInt1010102Normalized

      MTLVertexFormatUInt1010102Normalized

      Одно упакованное 32-разрядное значение с четырьмя нормализованными значениями целого без знака, расположенными как 10 битов, 10 битов, 10 битов и 2 бита.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.