Share via


FVF 꼭짓점 버퍼(Direct3D 9)

IDirect3DDevice9::CreateVertexBuffer 메서드의 FVF 매개 변수를 유효한 FVF 코드여야 하는 0이 아닌 값으로 설정하면 버퍼 콘텐츠에 FVF 코드의 특징이 지정되어야 합니다. FVF 코드를 사용하여 만든 꼭짓점 버퍼를 FVF 꼭짓점 버퍼라고 합니다. 일부 메서드 또는 IDirect3DDevice9 를 사용하려면 FVF 꼭짓점 버퍼가 필요하고 다른 메서드에는 FVF가 아닌 꼭짓점 버퍼가 필요합니다. FVF 꼭짓점 버퍼는 IDirect3DDevice9::P rocessVertices에 대한 대상 꼭짓점 버퍼 인수로 필요합니다.

FVF 꼭짓점 버퍼는 모든 스트림 번호에 대한 원본 데이터 스트림에 바인딩할 수 있습니다.

FVF 꼭짓점 버퍼에 D3DFVF_XYZRHW 구성 요소가 있으면 해당 버퍼의 꼭짓점이 처리되었음을 나타냅니다. IDirect3DDevice9::P rocessVertices 대상 꼭짓점 버퍼에 사용되는 꼭짓점 버퍼는 사후 처리되어야 합니다. 고정 함수 셰이더 입력에 사용되는 꼭짓점 버퍼는 전처리되거나 후처리될 수 있습니다. 꼭짓점 버퍼가 사후 처리되면 셰이더가 효과적으로 무시되고 데이터가 기본 클리핑 및 설정 모듈에 직접 전달됩니다.

FVF 꼭짓점 버퍼는 꼭짓점 셰이더와 함께 사용할 수 있습니다. 또한 꼭짓점 스트림은 FVF가 아닌 꼭짓점 버퍼가 할 수 있는 것과 동일한 꼭짓점 형식을 나타낼 수 있습니다. 별도의 꼭짓점 버퍼에서 데이터를 입력하는 데 사용할 필요가 없습니다. 새 꼭짓점 스트림의 추가 유연성을 통해 데이터를 별도로 유지해야 하는 애플리케이션이 더 잘 작동할 수 있지만 필요하지는 않습니다. 애플리케이션이 인터리브 데이터를 미리 유지할 수 있는 경우 이는 성능 향상입니다. 애플리케이션이 모든 렌더링 호출 전에 데이터를 인터리브하는 경우 API 또는 하드웨어가 여러 스트림으로 이 작업을 수행할 수 있도록 설정해야 합니다.

꼭짓점 성능이 가장 중요한 것은 32 바이트 꼭짓점을 사용하고 좋은 캐시 순서를 유지하는 것입니다.

꼭짓점 버퍼