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