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


Метод ID2D1DrawInfo::SetVertexProcessing (d2d1effectauthor.h)

Задает буфер вершин, соответствующий шейдер вершин и параметры для управления обработкой вершин контекстом Direct2D.

Синтаксис

HRESULT SetVertexProcessing(
  [in, optional] ID2D1VertexBuffer            *vertexBuffer,
                 D2D1_VERTEX_OPTIONS          vertexOptions,
  [in, optional] const D2D1_BLEND_DESCRIPTION *blendDescription,
  [in, optional] const D2D1_VERTEX_RANGE      *vertexRange,
                 const GUID                   *vertexShader
);

Параметры

[in, optional] vertexBuffer

Тип: ID2D1VertexBuffer*

Буфер вершин, если он очищен, будет использоваться шейдер вершин по умолчанию и сопоставление с прямоугольниками преобразования.

vertexOptions

Тип: D2D1_VERTEX_OPTIONS

Параметры, влияющие на взаимодействие отрисовщика с вершинным шейдером.

[in, optional] blendDescription

Тип: const D2D1_BLEND_DESCRIPTION*

Как вершины будут смешиваться с выходной текстурой.

[in, optional] vertexRange

Тип: const D2D1_VERTEX_RANGE*

Набор вершин, используемых из буфера.

vertexShader

Тип: GUID*

GUID вершинного шейдера.

Возвращаемое значение

Тип: HRESULT

Если метод завершается успешно, он возвращает S_OK. В случае сбоя возвращается код ошибки HRESULT .

Комментарии

Шейдеры вершин, связанные с буфером вершин через GUID шейдера вершин, должны быть загружены с помощью метода ID2D1EffectContext::LoadVertexShader перед выполнением этого вызова.

Если параметр вершины передается D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR, метод завершается ошибкой, если описание смешения не будет таким:

D2D1_BLEND_DESCRIPTION blendDesc = 
        {
            D2D1_BLEND_ONE,
            D2D1_BLEND_ZERO,
            D2D1_BLEND_OPERATION_ADD,

            D2D1_BLEND_ONE,
            D2D1_BLEND_ZERO,
            D2D1_BLEND_OPERATION_ADD,

            { 1.0f, 1.0f, 1.0f, 1.0f }
        };

Если этот вызов завершается ошибкой, соответствующий экземпляр ID2D1Effect помещается в состояние ошибки и не выполняется рисование.

Если blendDescription имеет значение NULL, используется режим наложения переднего плана.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d2d1effectauthor.h
Библиотека D2d1.lib

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

ID2D1DrawInfo

ID2D1EffectContext::CreateVertexBuffer

ID2D1EffectContext::LoadVertexShader