DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DTexture9 LockRect [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
텍스처 소스 위에의 직사각형을 잠근다.
구문
HRESULT LockRect(
UINT Level, D3DLOCKED_RECT *pLockedRect, CONST RECT *pRect, DWORD Flags );
파라미터
- Level
- [in] 잠그는 텍스처 소스의 레벨을 지정한다.
- pLockedRect
- [out] 락 끝난 영역을 기술하는 D3DLOCKED_RECT 구조체의 포인터.
- pRect
- [in] 잠그는 직사각형의 포인터. RECT 구조체의 포인터로 지정된다. 이 파라미터에 NULL 를 지정 하면, 텍스처 전체를 가리도록(듯이) 더티 영역이 확대한다.
- Flags
- [in] 실행하는 잠금의 종류를 기술하는, 0 개 이상의 잠금 플래그의 편성. 이 메서드에 사용할 수 있는 플래그는 다음대로.
- D3DLOCK_DISCARD
- D3DLOCK_NO_DIRTY_UPDATE
- D3DLOCK_NO_SYSLOCK
- D3DLOCK_READONLY
플래그에 대해서는, 「D3DLOCK 」를 참조할것.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.
주의
D3DPOOL_DEFAULT 로 생성 된 텍스처는 잠글 수 없다. 비디오 메모리로 생성 한 텍스처는, USAGE_DYNAMIC 를 지정해 생성 했을 경우는 잠글 수 있다. 사용 방법의 더 자세한 정보는, 「D3DUSAGE 」를 참조할것.
퍼포먼스 위에의 이유로부터, 더티 영역은 텍스처의 레벨 0 에 대한 보고 기록한다. D3DLOCK_NO_DIRTY_UPDATE 또는 D3DLOCK_READONLY 을 지정하지 않고 IDirect3DTexture9::LockRect 를 호출하면, 더티 영역이 자동적으로 기록된다. 더 자세한 정보는 「IDirect3DDevice9::UpdateTexture 」를 참조할것.
스텐실 텍스처의 잠금 가능한 포맷은, D3DFMT_D16_LOCKABLE 뿐이다.
비디오 메모리 텍스처는 잠글 수 없지만,IDirect3DDevice9::UpdateSurface 또는 IDirect3DDevice9::UpdateTexture 를 호출해 수정할 필요가 있다. Microsoft® DirectX® 9.0 이 인식하지 않는, 일부의 드라이버 독자적인 픽셀 포맷은 예외이다. 이것들은 잠글 수 있다.
참조
IDirect3DTexture9::UnlockRect ,IDirect3DDevice9::UpdateTexture