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 |