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

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

Разработчик

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

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

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

MTLRenderPassAttachmentDescriptor

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


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


Swift

import Metal

Objective C

@import Metal;

Доступность


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

A MTLRenderPassAttachmentDescriptor объект используется для конфигурирования отдельной цели рендеринга кадрового буфера. Каждый MTLRenderPassAttachmentDescriptor объект указывает одну текстуру, в которую может вписать передача рендеринга графики.

Как правило, Вы непосредственно не создаете MTLRenderPassAttachmentDescriptor объекты. Вместо этого когда Вы инициализируете a MTLRenderPassDescriptor объект, набор по умолчанию присоединяемых объектов создается автоматически. Для каждого присоединения, которое Вы намереваетесь использовать в качестве цели рендеринга, Вы получаете MTLRenderPassAttachmentDescriptor объект от рендеринга передает дескриптор и конфигурирует его свойства для того, как это используется во время этой передачи рендеринга.

Необходимо установить присоединение texture свойство, выбирая надлежащий формат пикселя. level, slice, и depthPlane свойства указывают уровень множественного отображения, часть и плоскость глубины (для 3D текстур) текстуры, соответственно.

loadAction и storeAction свойства указывают действия, выполняющиеся в запуске или конце передачи рендеринга, соответственно, для присоединения. Например, если loadAction свойство присоединения установлено в MTLLoadActionClear, тогда в начале передачи рендеринга, содержание текстуры заполнено значением, которое подходяще для типа присоединения.

Там являются определенными MTLRenderPassAttachmentDescriptor подклассы для цвета, глубины и присоединений шаблона. Каждый подкласс обеспечивает дополнительные свойства для конфигурирования для такого присоединения. Таблица 1 обеспечивает список подклассов.

Табличные 1Attachment подклассы дескриптора

Присоединяемый тип

Присоединяемый подкласс дескриптора передачи рендеринга

Цветное присоединение

MTLRenderPassColorAttachmentDescriptor

Присоединение глубины

MTLRenderPassDepthAttachmentDescriptor

Присоединение шаблона

MTLRenderPassStencilAttachmentDescriptor

Мультивыборка

Для выполнения мультивыбранного сглаженного рендеринга Вы используете две текстуры. Присоединение aMTLTextureType2DMultisample текстурируйте к texture свойство и 2D или кубическая текстура к resolveTexture свойство. Когда команда рендеринга выполняется, весь рендеринг выполняется к мультидемонстрационной текстуре, как обычно. Тогда содержание мультидемонстрационной текстуры разрешено и записано в текстуру решения. resolveLevel, resolveSlice, и resolveDepthPlane свойства указывают, где разрешенное изображение записано в. Содержание мультидемонстрационной текстуры тогда отбрасывается.

  • texture Свойство

    Объект текстуры связался с этим присоединением.

    Объявление

    Swift

    var texture: MTLTexture?

    Objective C

    @property(nonatomic, strong) id< MTLTexture > texture

    Обсуждение

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

    • Для хранения значений цвета в присоединении используйте текстуру с цветным-renderable форматом пикселя.

    • Для хранения значений глубины используйте текстуру с форматом пикселя глубины-renderable, такой как MTLPixelFormatDepth32Float.

    • Для хранения значений шаблона используйте текстуру с форматом пикселя шаблона-renderable, такой как MTLPixelFormatStencil8.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • level Свойство

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

    Объявление

    Swift

    var level: Int

    Objective C

    @property(nonatomic) NSUInteger level

    Обсуждение

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • slice Свойство

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

    Объявление

    Swift

    var slice: Int

    Objective C

    @property(nonatomic) NSUInteger slice

    Обсуждение

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • depthPlane Свойство

    Плоскость глубины текстуры, представляющейся к.

    Объявление

    Swift

    var depthPlane: Int

    Objective C

    @property(nonatomic) NSUInteger depthPlane

    Обсуждение

    Значение по умолчанию 0. Если текстура не является 3D текстурой, то это свойство проигнорировано.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • loadAction Свойство

    Действие, выполняемое этим присоединением в начале рендеринга, передает для кодера команды рендеринга.

    Объявление

    Swift

    var loadAction: MTLLoadAction

    Objective C

    @property(nonatomic) MTLLoadAction loadAction

    Обсуждение

    Если Ваше приложение представляет все пиксели присоединения для данного кадра для лучшей производительности, использовать MTLLoadActionDontCare, который позволяет GPU избегать загружать существующее содержание текстуры. Иначе, использовать MTLLoadActionClear очистить предыдущее содержание присоединения или MTLLoadActionLoad сохранить их. Для лучшей производительности использовать MTLLoadActionDontCare. MTLLoadActionClear также избегает стоимости загрузки существующего содержания текстуры, но это все еще несет расходы заполнения места назначения со сплошным цветом.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • storeAction Свойство

    Действие, выполняемое этим присоединением в конце рендеринга, передает для кодера команды рендеринга.

    Объявление

    Swift

    var storeAction: MTLStoreAction

    Objective C

    @property(nonatomic) MTLStoreAction storeAction

    Обсуждение

    Если для Вашего приложения не нужны данные в текстуре после того, как передача рендеринга завершена, использовать MTLStoreActionDontCare. Иначе, использовать MTLStoreActionStore если текстура непосредственно сохранена или MTLStoreActionMultisampleResolve если текстура является мультивыбранной текстурой.

    Когда storeAction MTLStoreActionMultisampleResolve, resolveTexture свойство должно быть установлено в текстуру использовать в качестве цели для действия решения. resolveLevel, resolveSlice, и resolveDepthPlane свойства могут также использоваться для мультидемонстрационной работы решения для указания уровня множественного отображения, части куба и плоскости глубины мультидемонстрационной текстуры, соответственно. В большинстве случаев, значения по умолчанию для resolveLevel, resolveSlice, и resolveDepthPlane применимы.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • resolveTexture Свойство

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

    Объявление

    Swift

    var resolveTexture: MTLTexture?

    Objective C

    @property(nonatomic, strong) id< MTLTexture > resolveTexture

    Обсуждение

    Если storeAction установлен в MTLStoreActionMultisampleResolve, тогда необходимо установить это свойство для указания на текстуру. Иначе, resolveTexture проигнорирован.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • resolveLevel Свойство

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

    Объявление

    Swift

    var resolveLevel: Int

    Objective C

    @property(nonatomic) NSUInteger resolveLevel

    Обсуждение

    Если storeAction установлен в MTLStoreActionMultisampleResolve, тогда это свойство требуется. Значение по умолчанию 0.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • resolveSlice Свойство

    Часть текстуры используется для мультидемонстрационного действия решения.

    Объявление

    Swift

    var resolveSlice: Int

    Objective C

    @property(nonatomic) NSUInteger resolveSlice

    Обсуждение

    Если storeAction установлен в MTLStoreActionMultisampleResolve, тогда это свойство требуется. Значение по умолчанию 0.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • resolveDepthPlane Свойство

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

    Объявление

    Swift

    var resolveDepthPlane: Int

    Objective C

    @property(nonatomic) NSUInteger resolveDepthPlane

    Обсуждение

    Если storeAction установлен в MTLStoreActionMultisampleResolve, тогда это свойство требуется. Значение по умолчанию 0.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

Типы данных

  • Действие, выполняемое в начале рендеринга, передает для кодера команды рендеринга.

    Объявление

    Swift

    enum MTLLoadAction : UInt { case DontCare case Load case Clear }

    Objective C

    typedef enum : NSUInteger { MTLLoadActionDontCare = 0, MTLLoadActionLoad = 1, MTLLoadActionClear = 2 } MTLLoadAction;

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Действие, выполняемое в конце рендеринга, передает для кодера команды рендеринга.

    Объявление

    Swift

    enum MTLStoreAction : UInt { case DontCare case Store case MultisampleResolve }

    Objective C

    typedef enum : NSUInteger { MTLStoreActionDontCare = 0, MTLStoreActionStore = 1, MTLStoreActionMultisampleResolve = 2 } MTLStoreAction;

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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