Метод ID3D10Device::OMSetBlendState (d3d10.h)
Задайте состояние смешения этапа слияния и вывода.
Синтаксис
void OMSetBlendState(
[in] ID3D10BlendState *pBlendState,
[in] const FLOAT [4] BlendFactor,
[in] UINT SampleMask
);
Параметры
[in] pBlendState
Тип: ID3D10BlendState*
Указатель на интерфейс состояния наложения (см. ID3D10BlendState). Передача значения NULL подразумевает состояние смешения по умолчанию. Дополнительные сведения см. в примечаниях.
[in] BlendFactor
Тип: const FLOAT
Массив коэффициентов смешения, по одному для каждого компонента RGBA. Коэффициенты смешения модулируют значения для пиксельного шейдера, целевого объекта отрисовки или и того, и другого. Если вы создали объект состояния наложения с D3D10_BLEND_BLEND_FACTOR или D3D10_BLEND_INV_BLEND_FACTOR, на этапе смешивания используется массив факторов смешения, отличный от NULL. Если вы не создали объект состояния смешивания с D3D10_BLEND_BLEND_FACTOR или D3D10_BLEND_INV_BLEND_FACTOR, на этапе смешивания не используется массив коэффициентов смешения, отличный от NULL; Среда выполнения сохраняет коэффициенты смешения, а затем можно вызвать ID3D11DeviceContext::OMGetBlendState для получения факторов смешения. При передаче значения NULL среда выполнения использует или сохраняет коэффициент смешения, равный { 1, 1, 1, 1 }.
[in] SampleMask
Тип: UINT
Охват 32-разрядной выборки. Значение по умолчанию — 0xffffffff. См. примечания.
Возвращаемое значение
None
Remarks
Состояние смешения используется на этапе объединения выходных данных для определения способа объединения двух значений пикселей RGB и двух альфа-значений. Два значения пикселей RGB и два альфа-значения — это значение пикселей RGB и альфа-значение, которое выводит шейдер пикселей, а также значение пикселей RGB и альфа-значение уже в выходном целевом объекте отрисовки. Параметр blend управляет источником данных, который этап смешивания использует для модуляции значений для пиксельного шейдера, целевого объекта отрисовки или и того, и другого. Операция смешивания управляет тем, как этап смешивания математически объединяет эти модулируемые значения.
Чтобы создать интерфейс blend-state, вызовите ID3D10Device::CreateBlendState.
Передача значения NULL для интерфейса состояния наложения указывает среде выполнения задать состояние смешивания по умолчанию. В следующей таблице указаны параметры смешивания по умолчанию.
Состояние | Значение по умолчанию |
---|---|
AlphaToCoverageEnable | FALSE |
BlendEnable | FALSE[8] |
SrcBlend | D3D10_BLEND_ONE |
DstBlend | D3D10_BLEND_ZERO |
BlendOp | D3D10_BLEND_OP_ADD |
SrcBlendAlpha | D3D10_BLEND_ONE |
DstBlendAlpha | D3D10_BLEND_ZERO |
BlendOpAlpha | D3D10_BLEND_OP_ADD |
RenderTargetWriteMask[8] | D3D10_COLOR_WRITE_ENABLE_ALL[8] |
Маска образца определяет, какие примеры обновляются во всех активных целевых объектах отрисовки. Сопоставление битов в маске образца с образцами в целевом объекте многопримерной отрисовки является ответственностью отдельного приложения. Всегда применяется пример маски; Она не зависит от того, включено ли многопримерное отображение, и не зависит от того, использует ли приложение целевые объекты отрисовки с несколькими выборками.
Метод не будет содержать ссылку на переданные интерфейсы. По этой причине приложения должны быть осторожны, чтобы не освободить интерфейс, используемый в настоящее время устройством.
Требования
Целевая платформа | Windows |
Header | d3d10.h |
Библиотека | D3D10.lib |