ID3D10Device::SOSetTargets 메서드(d3d10.h)
StreamOutput 단계에 대한 대상 출력 버퍼를 설정합니다. 그러면 파이프라인이 데이터를 스트림아웃하도록 설정/해제됩니다.
구문
void SOSetTargets(
[in] UINT NumBuffers,
[in] ID3D10Buffer * const *ppSOTargets,
[in] const UINT *pOffsets
);
매개 변수
[in] NumBuffers
형식: UINT
디바이스에 바인딩할 버퍼 수입니다. 최대 4개의 출력 버퍼를 설정할 수 있습니다. 호출에 의해 4개 미만이 정의되면 나머지 버퍼 슬롯이 NULL로 설정됩니다. 설명 부분을 참조하세요.
[in] ppSOTargets
형식: ID3D10Buffer*
디바이스에 바인딩할 출력 버퍼 배열( ID3D10Buffer 참조)입니다. 버퍼는 D3D10_BIND_STREAM_OUTPUT 플래그를 사용하여 만들어야 합니다.
[in] pOffsets
형식: const UINT*
각 버퍼에 대해 하나의 오프셋인 ppSOTargets의 출력 버퍼에 대한 오프셋 배열입니다. 오프셋 값은 바이트여야 합니다.
반환 값
없음
설명
ID3D10Device::SOSetTargets(그리기 호출 전)를 호출하여 데이터를 스트리밍합니다. NULL을 사용하여 SOSetTargets를 호출하여 데이터 스트리밍을 중지합니다. 예를 들어 RenderInstanceToStream 함수에서 draw 메서드를 호출하기 전에 스트림 출력 렌더링 대상을 설정하는 GDC 2007 워크샵의 연습 01을 참조하세요.
오프셋이 -1이면 스트림 출력 버퍼가 추가되고 이전 스트림 출력 패스의 버퍼에 기록된 마지막 위치 이후에도 계속됩니다.
현재 쓰기에 바인딩된 버퍼를 사용하여 이 메서드를 호출하면 버퍼를 입력과 출력으로 동시에 바인딩할 수 없으므로 NULL 을 효과적으로 바인딩할 수 있습니다.
디버그 계층은 리소스가 입력 및 출력으로 동시에 바인딩되지 않을 때마다 경고를 생성하지만 런타임에서 잘못된 데이터가 사용되는 것을 방지하지는 않습니다.
메서드는 전달된 인터페이스에 대한 참조를 보유하지 않습니다. 이러한 이유로 애플리케이션은 디바이스에서 현재 사용 중인 인터페이스를 해제하지 않도록 주의해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d10.h |
라이브러리 | D3D10.lib |