Direct3D Surface(Direct3D 9)

표면은 디스플레이 메모리의 선형 영역을 나타내며 일반적으로 시스템 메모리에 표면이 있을 수 있지만 디스플레이 카드 디스플레이 메모리에 상주합니다. Surface는 IDirect3DSurface9 인터페이스를 통해 관리됩니다.

  • 프런트 버퍼. 그래픽 어댑터로 변환되어 모니터에 표시되는 메모리 사각형입니다. Direct3D에서 애플리케이션은 프런트 버퍼에 직접 쓰지 않습니다.
  • 백 버퍼. 애플리케이션이 직접 쓸 수 있는 메모리 사각형입니다. 백 버퍼는 모니터에 직접 표시되지 않습니다.
  • 표면 대칭 이동. 백 버퍼를 전면 버퍼로 이동하는 프로세스입니다.
  • 스왑 체인. 전면 버퍼에 직렬로 표시할 수 있는 하나 이상의 백 버퍼 컬렉션입니다.

Surface 가져오기

다음 메서드를 호출하여 Surface를 만듭니다.

Surface 형식은 Surface 메모리의 각 픽셀에 대한 데이터를 해석하는 방법을 결정합니다. Direct3D는 D3DSURFACE_DESC 구조체의 D3DFORMAT 멤버를 사용하여 표면 형식을 설명합니다. GetDesc 메서드를 호출하여 기존 표면의 형식을 검색할 수 있습니다.

Surface가 만들어지면 다음 메서드 중 어느 것을 호출하여 포인터를 가져올 수 있습니다.

IDirect3DSurface9 인터페이스를 사용하면 UpdateSurface 메서드를 통해 메모리에 간접적으로 액세스할 수 있습니다. 이 메서드를 사용하면 한 IDirect3DSurface9 인터페이스에서 다른 IDirect3DSurface9 인터페이스로 픽셀의 사각형 영역을 복사할 있습니다. Surface 인터페이스에는 디스플레이 메모리에 직접 액세스하는 메서드도 있습니다. 예를 들어 LockRect 메서드를 사용하여 디스플레이 메모리의 사각형 영역을 잠글 수 있습니다. 표면의 잠긴 사각형 영역 작업을 완료한 후 UnlockRect 를 호출하는 것이 중요합니다.

추가 Surface 항목

다음 topics 함께 표면을 사용하는 방법에 대해 자세히 알아보세요.

시작