Поделиться через


Метод 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

См. также раздел

ИНТЕРФЕЙС ID3D10Device