Cara: Membuat Perangkat WARP

Topik ini menunjukkan cara membuat perangkat WARP yang mengimplementasikan rasterizer perangkat lunak berkecepatan tinggi. Untuk membuat perangkat WARP, cukup tentukan bahwa perangkat yang Anda buat akan menggunakan driver WARP. Contoh ini membuat perangkat dan rantai pertukaran secara bersamaan.

Untuk membuat perangkat WARP

  1. Tentukan parameter awal untuk rantai pertukaran.

        DXGI_SWAP_CHAIN_DESC sd;
        ZeroMemory( &sd, sizeof( sd ) );
        sd.BufferCount = 1;
        sd.BufferDesc.Width = 640;
        sd.BufferDesc.Height = 480;
        sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
        sd.BufferDesc.RefreshRate.Numerator = 60;
        sd.BufferDesc.RefreshRate.Denominator = 1;
        sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
        sd.OutputWindow = g_hWnd;
        sd.SampleDesc.Count = 1;
        sd.SampleDesc.Quality = 0;
        sd.Windowed = TRUE;
    
  2. Minta tingkat fitur yang mengimplementasikan fitur yang dibutuhkan aplikasi Anda. Perangkat WARP dapat berhasil dibuat untuk tingkat fitur D3D_FEATURE_LEVEL_9_1 melalui D3D_FEATURE_LEVEL_10_1 dan dimulai dengan Windows 8 untuk semua tingkat fitur.

        D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_10_1;
    

    Lihat selengkapnya tentang tingkat fitur dalam enumerasi D3D_FEATURE_LEVEL .

  3. Buat perangkat dengan memanggil D3D11CreateDeviceAndSwapChain.

    HRESULT hr = S_OK;
    if( FAILED (hr = D3D11CreateDeviceAndSwapChain( NULL, 
                    D3D_DRIVER_TYPE_WARP,
                    NULL, 
                    0,
                    &FeatureLevels, 
                    1, 
                    D3D11_SDK_VERSION, 
                    &sd, 
                    &g_pSwapChain, 
                    &g_pd3dDevice, 
                    &FeatureLevel,
                    &g_pImmediateContext )))
    {
        return hr;
    }

Anda harus menyediakan panggilan API dengan jenis driver WARP dari enumerasi D3D_DRIVER_TYPE . Setelah metode berhasil, metode akan mengembalikan antarmuka rantai pertukaran, antarmuka perangkat, penunjuk ke tingkat fitur yang diberikan oleh driver, dan antarmuka konteks langsung.

Untuk informasi tentang batasan pembuatan perangkat WARP pada tingkat fitur tertentu, lihat Batasan Pembuatan WARP dan Perangkat Referensi.

Baru untuk Windows 8

Ketika adaptor tampilan utama komputer adalah "Adaptor Tampilan Dasar Microsoft" (adaptor WARP), komputer tersebut juga memiliki adaptor kedua. Adaptor kedua ini adalah perangkat khusus render yang tidak memiliki output tampilan. Untuk informasi selengkapnya tentang perangkat khusus render, lihat info baru di Windows 8 tentang menghitung adaptor.

Perangkat

Cara Menggunakan Direct3D 11