다음을 통해 공유


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

input-elements 배열의 입력 데이터 형식 수입니다.

[in] pShaderBytecodeWithInputSignature

형식: const void*

컴파일된 셰이더에 대한 포인터입니다. 컴파일된 셰이더 코드에는 요소 배열에 대해 유효성을 검사하는 입력 서명이 포함되어 있습니다. 설명을 참조하세요.

[in] BytecodeLength

형식: SIZE_T

컴파일된 셰이더의 크기입니다.

[out, optional] ppInputLayout

형식: ID3D11InputLayout**

생성된 입력 레이아웃 개체에 대한 포인터입니다( ID3D11InputLayout 참조). 다른 입력 매개 변수의 유효성을 검사하려면 이 포인터를 NULL 로 설정하고 메서드가 S_FALSE 반환되는지 확인합니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 코드가 S_OK. 오류 코드 실패 는 Direct3D 11 반환 코드를 참조하세요.

설명

입력 레이아웃 개체를 만든 후 그리기 API를 호출하기 전에 입력 어셈블러 단계에 바인딩되어야 합니다.

셰이더 서명에서 입력 레이아웃 개체를 만들면 입력 레이아웃 개체를 동일한 입력 서명(의미 체계 포함)이 있는 다른 셰이더와 함께 다시 사용할 수 있습니다. 이렇게 하면 동일한 입력을 사용하는 많은 셰이더로 작업할 때 입력 레이아웃 개체 만들기가 간소화됩니다.

입력 레이아웃 선언의 데이터 형식이 셰이더 입력 서명의 데이터 형식과 일치하지 않는 경우 CreateInputLayout은 컴파일 중에 경고를 생성합니다. 경고는 레지스터에서 읽을 때 데이터가 재해석될 수 있다는 사실에 주의를 기울이기 위한 것입니다. 이 경고를 무시하거나(재해석이 의도적인 경우) 두 선언에서 데이터 형식이 일치하도록 하여 경고를 제거할 수 있습니다.

Windows Phone 8: 이 API가 지원됩니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3D11.lib

추가 정보

ID3D11Device