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


Метод ID3D11Device::CreateInputLayout (d3d11.h)

Создайте объект макета входных данных для описания входных данных буфера для этапа входного ассемблер.

Синтаксис

HRESULT CreateInputLayout(
  [in]            const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  [in]            UINT                           NumElements,
  [in]            const void                     *pShaderBytecodeWithInputSignature,
  [in]            SIZE_T                         BytecodeLength,
  [out, optional] ID3D11InputLayout              **ppInputLayout
);

Параметры

[in] pInputElementDescs

Тип: const D3D11_INPUT_ELEMENT_DESC*

Массив входных типов входных данных этапа ассемблер; каждый тип описывается описанием элемента (см . D3D11_INPUT_ELEMENT_DESC).

[in] NumElements

Тип: UINT

Количество типов входных данных в массиве входных элементов.

[in] pShaderBytecodeWithInputSignature

Тип: const void*

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

[in] BytecodeLength

Тип: SIZE_T

Размер скомпилированного шейдера.

[out, optional] ppInputLayout

Тип: ID3D11InputLayout**

Указатель на созданный объект макета ввода (см. ID3D11InputLayout). Чтобы проверить другие входные параметры, задайте для этого указателя значение NULL и убедитесь, что метод возвращает S_FALSE.

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

Тип: HRESULT

Если метод выполнен успешно, код возврата S_OK. Коды ошибок с ошибкой см. в разделе Коды возврата Direct3D 11 .

Комментарии

После создания объекта макета входных данных его необходимо привязать к этапу ассемблеера ввода перед вызовом API рисования.

После создания объекта input-layout из сигнатуры шейдера объект input-layout можно повторно использовать с любым другим шейдером, который имеет идентичную входную сигнатуру (включая семантику). Это может упростить создание объектов макета ввода при работе со многими шейдерами с одинаковыми входными данными.

Если тип данных в объявлении макета ввода не соответствует типу данных в сигнатуре ввода-шейдера, CreateInputLayout создаст предупреждение во время компиляции. Предупреждение заключается в том, чтобы обратить внимание на то, что данные могут быть повторно интерпретированы при чтении из регистра. Вы можете игнорировать это предупреждение (если повторное истолкование является преднамеренным) или сделать типы данных совпадающими в обоих объявлениях, чтобы исключить предупреждение.

Windows Phone 8. Этот API поддерживается.

Требования

Требование Значение
Целевая платформа Windows
Header d3d11.h
Библиотека D3D11.lib

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

ID3D11Device