IDirect3DDevice9::P rocessVertices 메서드(d3d9helper.h)

꼭짓점 셰이더에서 정의한 꼭짓점 처리를 입력 데이터 스트림 집합에 적용하여 인터리브된 꼭짓점 데이터의 단일 스트림을 대상 꼭짓점 버퍼에 생성합니다.

구문

HRESULT ProcessVertices(
  [in] UINT                        SrcStartIndex,
  [in] UINT                        DestIndex,
  [in] UINT                        VertexCount,
  [in] IDirect3DVertexBuffer9      *pDestBuffer,
  [in] IDirect3DVertexDeclaration9 *pVertexDecl,
  [in] DWORD                       Flags
);

매개 변수

[in] SrcStartIndex

형식: UINT

로드할 첫 번째 꼭짓점의 인덱스입니다.

[in] DestIndex

형식: UINT

결과가 배치되는 대상 꼭짓점 버퍼의 첫 번째 꼭짓점 인덱스입니다.

[in] VertexCount

형식: UINT

처리할 꼭짓점 수입니다.

[in] pDestBuffer

형식: IDirect3DVertexBuffer9*

인터리브된 꼭짓점 데이터의 스트림을 나타내는 대상 꼭짓점 버퍼인 IDirect3DVertexBuffer9 인터페이스에 대한 포인터입니다.

[in] pVertexDecl

형식: IDirect3DVertexDeclaration9*

출력 꼭짓점 데이터 선언을 나타내는 IDirect3DVertexDeclaration9 인터페이스에 대한 포인터입니다. 꼭짓점 셰이더 3.0 이상이 현재 꼭짓점 셰이더로 설정된 경우 출력 꼭짓점 선언이 있어야 합니다.

[in] Flags

형식: DWORD

처리 옵션. 기본 처리를 위해 이 매개 변수를 0으로 설정합니다. 시스템이 꼭짓점 작업의 영향을 받지 않는 꼭짓점 데이터를 대상 버퍼에 복사하지 못하도록 하려면 D3DPV_DONOTCOPYDATA 로 설정합니다. D3DPV_DONOTCOPYDATA 값은 대상 버퍼에 적합한 하나 이상의 D3DLOCK 값과 결합될 수 있습니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값을 D3DERR_INVALIDCALL 수 있습니다.

설명

이 메서드의 작업 순서는 다음과 같습니다.

  • 월드 + 뷰 + 프로젝션 행렬을 사용하여 꼭짓점을 프로젝션 공간으로 변환합니다.
  • 뷰포트 설정을 사용하여 화면 좌표를 계산합니다.
  • 클리핑을 사용하도록 설정하면 클리핑 코드를 계산하고 대상 꼭짓점 버퍼와 연결된 내부 버퍼에 저장합니다. 꼭짓점이 보기 frustum 내에 있으면 화면 좌표가 계산됩니다. 꼭짓점이 보기 frustum 외부에 있는 경우 꼭짓점은 프로젝션 공간 좌표의 대상 꼭짓점 버퍼에 저장됩니다.
  • 기타 참고 사항: 사용자가 내부 클립 코드 버퍼에 액세스할 수 없습니다. 삼각형 또는 다른 기본 형식에서는 클리핑이 수행되지 않습니다.
대상 꼭짓점 버퍼 pDestBuffer는 IDirect3DDevice9::CreateVertexBuffer에서 0이 아닌 FVF 매개 변수를 사용하여 만들어야 합니다. IDirect3DDevice9::CreateVertexBuffer 메서드를 호출하는 동안 지정된 FVF 코드는 대상 꼭짓점 버퍼에 있는 꼭짓점 요소를 지정합니다.

Direct3D가 텍스처 좌표를 생성하거나 입력 텍스처 좌표를 복사하거나 변환하고 출력 텍스처 좌표 형식이 Direct3D에서 생성하는 것보다 더 많은 텍스처 좌표 구성 요소를 정의하는 경우 Direct3D는 이러한 추가 구성 요소를 변경하지 않습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

디바이스 유형 및 꼭짓점 처리 요구 사항(Direct3D 9)

고정 함수 꼭짓점 처리(Direct3D 9)

IDirect3DDevice9