MTLRenderPipelineColorAttachmentDescriptor
Наследование
-
NSObject
-
MTLRenderPipelineColorAttachmentDescriptor
-
NSObject
-
MTLRenderPipelineColorAttachmentDescriptor
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
A MTLRenderPipelineColorAttachmentDescriptor
объект определяет конфигурацию цветного присоединения, связанного с конвейером рендеринга.
pixelFormat
свойство должно быть указано для конвейерного состояния рендеринга в цветном присоединении.
Операции смешения определяют, как исходный фрагмент объединен с целевым значением в цветном присоединении для определения пиксельного значения, которое будет записано. Следующие свойства определяют, если и как выполняется смешивание:
Чтобы позволить смешаться, установите
blendingEnabled
свойство кYES
true
. Значение по умолчаниюNO
false
.writeMask
свойство идентифицирует, какие цветовые каналы смешиваются. Значение по умолчаниюMTLColorWriteMaskAll
, который позволяет всем цветовым каналам быть смешанными.rgbBlendOperation
иalphaBlendOperation
свойства отдельно присваивают операции смешения для альфа-пиксельных данных и RGB. Значение по умолчанию для обоих свойствMTLBlendOperationAdd
.sourceRGBBlendFactor
,sourceAlphaBlendFactor
,destinationRGBBlendFactor
, иdestinationAlphaBlendFactor
свойства присваивают источник и целевые факторы смешения. Значение по умолчанию дляsourceRGBBlendFactor
иsourceAlphaBlendFactor
MTLBlendFactorOne
. Значение по умолчанию дляdestinationRGBBlendFactor
иdestinationAlphaBlendFactor
MTLBlendFactorZero
.
-
pixelFormat
СвойствоФормат пикселя текстуры цветного присоединения.
Объявление
Swift
var pixelFormat: MTLPixelFormat
Objective C
@property(nonatomic) MTLPixelFormat pixelFormat
Обсуждение
Формат пикселя конвейерного состояния рендеринга должен быть установлен соответствовать формат пикселя текстуры, используемой присоединением выбранного цвета; иначе, ошибка происходит.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
writeMask
СвойствоБитовая маска, ограничивающая, какие цветовые каналы записаны в текстуру.
Объявление
Swift
var writeMask: MTLColorWriteMask
Objective C
@property(nonatomic) MTLColorWriteMask writeMask
Обсуждение
Значение по умолчанию
writeMask
все,MTLColorWriteMaskAll
, который позволяет всем цветовым каналам быть смешанными.MTLColorWriteMask
значенияMTLColorWriteMaskRed
,MTLColorWriteMaskGreen
,MTLColorWriteMaskBlue
, иMTLColorWriteMaskAlpha
предел, смешивающийся к одному цветовому каналу и этим значениям, может быть поразрядно объединен.MTLColorWriteMaskNone
не позволяет никаким цветовым каналам быть смешанными.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
blendingEnabled
СвойствоБулево значение, определяющее, включено ли смешивание.
Объявление
Swift
var blendingEnabled: Bool
Objective C
@property(nonatomic, getter=isBlendingEnabled) BOOL blendingEnabled
Обсуждение
Значение по умолчанию
NO
false
, что означает, что смешивание отключено, и пиксельные значения незатронуты путем смешивания. Отключенное смешивание является эффективно тем же какMTLBlendOperationAdd
работа смешения с источником смешивает фактор1.0
и целевой фактор смешения0.0
и для RGB и для альфы.Если
YES
true
, смешивание включено, и значения свойств дескриптора смешения используются, чтобы определить, как объединены источник и целевые значения цвета.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
alphaBlendOperation
СвойствоРабота смешения присвоилась для альфа-данных.
Объявление
Swift
var alphaBlendOperation: MTLBlendOperation
Objective C
@property(nonatomic) MTLBlendOperation alphaBlendOperation
Обсуждение
Значение по умолчанию
MTLBlendOperationAdd
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
rgbBlendOperation
СвойствоРабота смешения присвоилась для данных RGB.
Объявление
Swift
var rgbBlendOperation: MTLBlendOperation
Objective C
@property(nonatomic) MTLBlendOperation rgbBlendOperation
Обсуждение
Значение по умолчанию
MTLBlendOperationAdd
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
destinationAlphaBlendFactor
СвойствоЦелевой фактор смешения (DBF), используемый альфой, смешивает работу.
Объявление
Swift
var destinationAlphaBlendFactor: MTLBlendFactor
Objective C
@property(nonatomic) MTLBlendFactor destinationAlphaBlendFactor
Обсуждение
Значение по умолчанию
MTLBlendFactorZero
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
destinationRGBBlendFactor
СвойствоЦелевой фактор смешения (DBF), используемый RGB, смешивает работу.
Объявление
Swift
var destinationRGBBlendFactor: MTLBlendFactor
Objective C
@property(nonatomic) MTLBlendFactor destinationRGBBlendFactor
Обсуждение
Значение по умолчанию
MTLBlendFactorZero
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
sourceAlphaBlendFactor
СвойствоИсходный фактор смешения (SBF), используемый альфой, смешивает работу.
Объявление
Swift
var sourceAlphaBlendFactor: MTLBlendFactor
Objective C
@property(nonatomic) MTLBlendFactor sourceAlphaBlendFactor
Обсуждение
Значение по умолчанию
MTLBlendFactorOne
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
sourceRGBBlendFactor
СвойствоИсходный фактор смешения (SBF), используемый RGB, смешивает работу.
Объявление
Swift
var sourceRGBBlendFactor: MTLBlendFactor
Objective C
@property(nonatomic) MTLBlendFactor sourceRGBBlendFactor
Обсуждение
Значение по умолчанию
MTLBlendFactorOne
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
Для каждого пикселя,
MTLBlendOperation
определяет, как объединить и взвесить исходные значения фрагмента с целевыми значениями. Некоторые операции смешения умножают исходные значения на исходный фактор смешения (SBF), умножают целевые значения на целевой фактор смешения (DBF) и комбинируют результаты с помощью дополнения или вычитания. Другие операции смешения используют или минуту или макс. функцию для определения результата.Объявление
Swift
enum MTLBlendOperation : UInt { case Add case Subtract case ReverseSubtract case Min case Max }
Objective C
typedef enum : NSUInteger { MTLBlendOperationAdd = 0, MTLBlendOperationSubtract = 1, MTLBlendOperationReverseSubtract = 2, MTLBlendOperationMin = 3, MTLBlendOperationMax = 4 } MTLBlendOperation;
Константы
-
Add
MTLBlendOperationAdd
Добавьте части и источника и целевых пиксельных значений.
RGB = Source.rgb * SBF + Dest.rgb * DBF
A = Source.a * SBF + Dest.a * DBF
Доступный в iOS 8.0 и позже.
-
Subtract
MTLBlendOperationSubtract
Вычтите часть целевых пиксельных значений от части источника.
RGB = Source.rgb * SBF - Dest.rgb * DBF
A = Source.a * SBF - Dest.a * DBF
Доступный в iOS 8.0 и позже.
-
ReverseSubtract
MTLBlendOperationReverseSubtract
Вычтите часть исходных значений от части целевых пиксельных значений.
RGB = Dest.rgb * DBF - Source.rgb * SBF
A = Dest.a * DBF - Source.a * SBF
Доступный в iOS 8.0 и позже.
-
Min
MTLBlendOperationMin
Минимум источника и целевых пиксельных значений.
RGB = min(Source.rgb, Dest.rgb)
A = min(Source.a, Dest.a)
Доступный в iOS 8.0 и позже.
-
Max
MTLBlendOperationMax
Максимум источника и целевых пиксельных значений.
RGB = max(Source.rgb, Dest.rgb)
A = max(Source.a, Dest.a)
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
-
Источник и целевые факторы смешения часто необходимы для завершения спецификации работы смешения. В большинстве случаев фактор смешения для обоих значений RGB (F (rgb)) и альфа-значений (F (a)) подобен друг другу, но в некоторых случаях, такой как
MTLBlendFactorSourceAlphaSaturated
, фактор смешения немного отличается. Четыре фактора смешения (MTLBlendFactorBlendColor
,MTLBlendFactorOneMinusBlendColor
,MTLBlendFactorBlendAlpha
, иMTLBlendFactorOneMinusBlendAlpha
) обратитесь к постоянному значению совмещенного цвета, установленномуsetBlendColorRed:green:blue:alpha:
методMTLRenderCommandEncoder
.Объявление
Swift
enum MTLBlendFactor : UInt { case Zero case One case SourceColor case OneMinusSourceColor case SourceAlpha case OneMinusSourceAlpha case DestinationColor case OneMinusDestinationColor case DestinationAlpha case OneMinusDestinationAlpha case SourceAlphaSaturated case BlendColor case OneMinusBlendColor case BlendAlpha case OneMinusBlendAlpha }
Objective C
typedef enum : NSUInteger { MTLBlendFactorZero = 0, MTLBlendFactorOne = 1, MTLBlendFactorSourceColor = 2, MTLBlendFactorOneMinusSourceColor = 3, MTLBlendFactorSourceAlpha = 4, MTLBlendFactorOneMinusSourceAlpha = 5, MTLBlendFactorDestinationColor = 6, MTLBlendFactorOneMinusDestinationColor = 7, MTLBlendFactorDestinationAlpha = 8, MTLBlendFactorOneMinusDestinationAlpha = 9, MTLBlendFactorSourceAlphaSaturated = 10, MTLBlendFactorBlendColor = 11, MTLBlendFactorOneMinusBlendColor = 12, MTLBlendFactorBlendAlpha = 13, MTLBlendFactorOneMinusBlendAlpha = 14 } MTLBlendFactor;
Константы
-
Zero
MTLBlendFactorZero
F = 0
Доступный в iOS 8.0 и позже.
-
One
MTLBlendFactorOne
F = 1
Доступный в iOS 8.0 и позже.
-
SourceColor
MTLBlendFactorSourceColor
F(rgb) = Source.rgb; F(a) = Source.a
Доступный в iOS 8.0 и позже.
-
OneMinusSourceColor
MTLBlendFactorOneMinusSourceColor
F(rgb) = 1 - Source.rgb; F(a) = 1 - Source.a
Доступный в iOS 8.0 и позже.
-
SourceAlpha
MTLBlendFactorSourceAlpha
F = Source.a
Доступный в iOS 8.0 и позже.
-
OneMinusSourceAlpha
MTLBlendFactorOneMinusSourceAlpha
F = 1 - Source.a
Доступный в iOS 8.0 и позже.
-
DestinationColor
MTLBlendFactorDestinationColor
F(rgb) = Dest.rgb; F(a) = Dest.a
Доступный в iOS 8.0 и позже.
-
OneMinusDestinationColor
MTLBlendFactorOneMinusDestinationColor
F(rgb) = 1 - Dest.rgb; F(a) = 1 - Dest.a
Доступный в iOS 8.0 и позже.
-
DestinationAlpha
MTLBlendFactorDestinationAlpha
F = Dest.a
Доступный в iOS 8.0 и позже.
-
OneMinusDestinationAlpha
MTLBlendFactorOneMinusDestinationAlpha
F = 1 - Dest.a
Доступный в iOS 8.0 и позже.
-
SourceAlphaSaturated
MTLBlendFactorSourceAlphaSaturated
F(rgb) = min(Source.a, 1 - Dest.a); F(a) = 1
Доступный в iOS 8.0 и позже.
-
BlendColor
MTLBlendFactorBlendColor
F = rgb
Доступный в iOS 8.0 и позже.
-
OneMinusBlendColor
MTLBlendFactorOneMinusBlendColor
F = 1 - rgb
Доступный в iOS 8.0 и позже.
-
BlendAlpha
MTLBlendFactorBlendAlpha
F = a
Доступный в iOS 8.0 и позже.
-
OneMinusBlendAlpha
MTLBlendFactorOneMinusBlendAlpha
F = 1 - a
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
-
Значения раньше указывали маску, чтобы разрешить или ограничить запись в цветовые каналы значения цвета. Значения
MTLColorWriteMaskRed
,MTLColorWriteMaskGreen
,MTLColorWriteMaskBlue
, иMTLColorWriteMaskAlpha
выберите один цветовой канал каждый, и они могут быть поразрядно объединены.Объявление
Swift
struct MTLColorWriteMask : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var None: MTLColorWriteMask { get } static var Red: MTLColorWriteMask { get } static var Green: MTLColorWriteMask { get } static var Blue: MTLColorWriteMask { get } static var Alpha: MTLColorWriteMask { get } static var All: MTLColorWriteMask { get } }Objective C
typedef enum : NSUInteger { MTLColorWriteMaskNone = 0, MTLColorWriteMaskRed = 0x1 << 3, MTLColorWriteMaskGreen = 0x1 << 2, MTLColorWriteMaskBlue = 0x1 << 1, MTLColorWriteMaskAlpha = 0x1 << 0, MTLColorWriteMaskAll = 0xf } MTLColorWriteMask;
Константы
-
None
MTLColorWriteMaskNone
Все цветовые каналы отключены.
Доступный в iOS 8.0 и позже.
-
Red
MTLColorWriteMaskRed
Красный цветовой канал включен.
Доступный в iOS 8.0 и позже.
-
Green
MTLColorWriteMaskGreen
Зеленый цветовой канал включен.
Доступный в iOS 8.0 и позже.
-
Blue
MTLColorWriteMaskBlue
Синий цветовой канал включен.
Доступный в iOS 8.0 и позже.
-
Alpha
MTLColorWriteMaskAlpha
Альфа-цветовой канал включен.
Доступный в iOS 8.0 и позже.
-
All
MTLColorWriteMaskAll
Все цветовые каналы включены.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-