다음을 통해 공유


ID2D1Factory 인터페이스(d2d1.h)

Direct2D 리소스를 만듭니다.

상속

ID2D1Factory 인터페이스는 IUnknown 인터페이스에서 상속됩니다. ID2D1Factory 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

ID2D1Factory 인터페이스에는 이러한 메서드가 있습니다.

 
ID2D1Factory::CreateDCRenderTarget

Windows GDI(그래픽 디바이스 인터페이스) 디바이스 컨텍스트에 그리는 렌더링 대상을 만듭니다.
ID2D1Factory::CreateDrawingStateBlock

렌더링 대상의 SaveDrawingState 및 RestoreDrawingState 메서드와 함께 사용할 수 있는 ID2D1DrawingStateBlock을 만듭니다. (오버로드 1/3)
ID2D1Factory::CreateDrawingStateBlock

렌더링 대상의 SaveDrawingState 및 RestoreDrawingState 메서드와 함께 사용할 수 있는 ID2D1DrawingStateBlock을 만듭니다. (오버로드 2/3)
ID2D1Factory::CreateDrawingStateBlock

렌더링 대상의 SaveDrawingState 및 RestoreDrawingState 메서드와 함께 사용할 수 있는 ID2D1DrawingStateBlock을 만듭니다. (오버로드 3/3)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

DXGI(DirectX Graphics Infrastructure) 화면에 그리는 렌더링 대상을 만듭니다. (오버로드 1/2)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

DXGI(DirectX Graphics Infrastructure) 화면에 그리는 렌더링 대상을 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateEllipseGeometry

ID2D1EllipseGeometry를 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateEllipseGeometry

ID2D1EllipseGeometry를 만듭니다. (오버로드 1/2)
ID2D1Factory::CreateGeometryGroup

다른 기하 도형을 보유하는 개체인 ID2D1GeometryGroup을 만듭니다.
ID2D1Factory::CreateHwndRenderTarget

창에 렌더링되는 렌더링 대상인 ID2D1HwndRenderTarget을 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateHwndRenderTarget

창에 렌더링되는 렌더링 대상인 ID2D1HwndRenderTarget을 만듭니다. (오버로드 1/2)
ID2D1Factory::CreatePathGeometry

빈 ID2D1PathGeometry를 만듭니다.
ID2D1Factory::CreateRectangleGeometry

ID2D1RectangleGeometry를 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateRectangleGeometry

ID2D1RectangleGeometry를 만듭니다. (오버로드 1/2)
ID2D1Factory::CreateRoundedRectangleGeometry

ID2D1RoundedRectangleGeometry를 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateRoundedRectangleGeometry

ID2D1RoundedRectangleGeometry를 만듭니다. (오버로드 1/2)
ID2D1Factory::CreateStrokeStyle

스트로크의 시작 캡, 대시 패턴 및 기타 기능을 설명하는 ID2D1StrokeStyle을 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateStrokeStyle

스트로크의 시작 캡, 대시 패턴 및 기타 기능을 설명하는 ID2D1StrokeStyle을 만듭니다. (오버로드 1/2)
ID2D1Factory::CreateTransformedGeometry

지정된 기하 도형을 변환하고 결과를 ID2D1TransformedGeometry 개체로 저장합니다. (오버로드 2/2)
ID2D1Factory::CreateTransformedGeometry

지정된 기하 도형을 변환하고 결과를 ID2D1TransformedGeometry 개체로 저장합니다. (오버로드 1/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Microsoft WIC(Windows 이미징 구성 요소) 비트맵에 렌더링되는 렌더링 대상을 만듭니다. (오버로드 2/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Microsoft WIC(Windows 이미징 구성 요소) 비트맵에 렌더링되는 렌더링 대상을 만듭니다. (오버로드 1/2)
ID2D1Factory::GetDesktopDpi

현재 DPI(인치당 데스크톱 점)를 검색합니다. 이 값을 새로 고치려면 ReloadSystemMetrics를 호출합니다.
ID2D1Factory::ReloadSystemMetrics

팩터리 생성 이후 변경되었을 수 있는 시스템 기본값을 강제로 새로 고치도록 합니다.

설명

ID2D1Factory 인터페이스는 Direct2D를 사용하기 위한 시작점입니다. 셰이프를 그리거나 설명하는 데 사용할 수 있는 다른 Direct2D 리소스를 만드는 데 사용합니다.

팩터리는 다음 그리기 리소스를 생성할 수 있는리소스 만들기 메서드 집합을 정의합니다.

  • 렌더링 대상: 그리기 명령을 렌더링하는 개체입니다.
  • 그리기 상태 블록: 현재 변환 및 앤티앨리어싱 모드와 같은 그리기 상태 정보를 저장하는 개체입니다.
  • 기하 도형: 단순하고 잠재적으로 복잡한 셰이프를 나타내는 개체입니다.

ID2D1Factory를 만들려면 CreateFactory 메서드 중 하나를 사용합니다. Direct2D 리소스를 사용하는 한 ID2D1Factory instance 유지해야 합니다. 일반적으로 애플리케이션이 실행 중일 때 다시 만들 필요가 없습니다. Direct2D 리소스에 대한 자세한 내용은 리소스 개요를 참조하세요.

단일 스레드 및 다중 스레드 팩터리

팩터리를 만들 때 다중 스레드 또는 단일 스레드인지 여부를 지정할 수 있습니다. 단일 스레드 팩터리는 Direct2D 내의 다른 단일 스레드 instance 대해 직렬화를 제공하지 않으므로 이 메커니즘은 CPU에서 매우 큰 크기 조정을 제공합니다.

다중 스레드 팩터리 instance 만들 수도 있습니다. 이 경우 팩터리 및 모든 파생 개체를 모든 스레드에서 사용할 수 있으며 각 렌더링 대상을 독립적으로 렌더링할 수 있습니다. Direct2D는 이러한 개체에 대한 호출을 직렬화하므로 단일 다중 스레드 Direct2D instance CPU에서 단일 스레드 인스턴스만큼 크기가 조정되지 않습니다. 그러나 다중 스레드 instance 내에서 리소스를 공유할 수 있습니다.

한정자 "ON the CPU": GPU는 일반적으로 CPU보다 세분화된 병렬 처리를 더 많이 활용합니다. 예를 들어 CPU의 다중 스레드 호출은 GPU로 전송될 때 여전히 직렬화될 수 있지만 전체 픽셀 및 꼭짓점 셰이더 뱅크는 렌더링을 수행하기 위해 병렬로 실행됩니다.

자세한 내용은 다중 스레드 Direct2D 앱을 참조하세요.

예제

다음 코드 조각은 팩터리 포인터를 선언하고, 단일 스레드 팩터리 instance 만들고, 팩터리를 사용하여 렌더링 대상을 만듭니다.

ID2D1Factory* m_pDirect2dFactory;

    // Create a Direct2D factory.
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

        // Create a Direct2D render target.
        hr = m_pDirect2dFactory->CreateHwndRenderTarget(
            D2D1::RenderTargetProperties(),
            D2D1::HwndRenderTargetProperties(m_hwnd, size),
            &m_pRenderTarget
            );

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1.h

추가 정보

Direct2D 개요

간단한 Direct2D 애플리케이션 만들기

Direct2D를 사용하여 시작

IUnknown

다중 스레드 Direct2D 앱

리소스 개요