DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 GetStreamSource [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
지정된 데이터 스트림에 바인드 되고 있는 정점 버퍼를 얻어온다.
구문
HRESULT GetStreamSource(
UINT StreamNumber, IDirect3DVertexBuffer9 **ppStreamData, UINT *pOffsetInBytes, UINT *pStride );
파라미터
- StreamNumber
- [in] 데이터 스트림을 지정한다. 범위는, 0 으로부터, 스트림의 최대수로부터 1 을 뺀 값까지이다.
- ppStreamData
- [in, out] 지정한 데이터 스트림에 바인드 되고 있는 정점 버퍼를 나타내는 IDirect3DVertexBuffer9 인터페이스의 포인터 주소.
- pOffsetInBytes
- [out] 스트림 선두로부터 정점 데이터 선두까지의 오프셋(offset)가 저장 된 포인터. 오프셋(offset)는 바이트 단위로 나타난다. 「주의」를 참조할것.
- pStride
- [out] 돌려주어진 성분의 보폭 (바이트 단위)의 포인터. 「주의」를 참조할것.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.
주의
스트림은 성분 데이터의 한결같은 배열로서 정의되고 있어 각 성분은, 위치·법선·색등의 단일 엔티티를 나타내는 1 개 이상의 요소로 구성되어 있다.
유연한 정점 포맷 (FVF) 정점 셰이더를 사용하는 경우, 스트림 정점 보폭은, FVF 로부터 계산된 정점 사이즈와 일치하고 있지 않으면 안 된다. 이 선언을 사용하는 경우, 보폭은, 선언으로부터 계산된 스트림 사이즈 이상이 아니면 안된다.
주 이 메서드를 호출하면,IDirect3DVertexBuffer9 인터페이스에 대한 내부 참조 카운트가 증가한다. 이 IDirect3DVertexBuffer9 인터페이스를 사용해 끝냈을 때에 IUnknown::Release 를 호출하지 않으면 메모리 누수가 발생한다.
참조
IDirect3DDevice9::SetStreamSource