Cara: Membuat Perangkat Referensi

Topik ini menunjukkan cara membuat perangkat referensi yang mengimplementasikan implementasi runtime perangkat lunak yang sangat akurat. Untuk membuat perangkat referensi, cukup tentukan bahwa perangkat yang Anda buat akan menggunakan driver referensi. Contoh ini membuat perangkat dan rantai pertukaran secara bersamaan.

Untuk membuat perangkat referensi

  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 referensi dapat berhasil dibuat untuk runtime Direct3D 11.

        D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_11_0;
    

    Lihat selengkapnya tentang tingkat fitur dalam enumerasi D3D_FEATURE_LEVEL .

  3. Buat perangkat dengan memanggil D3D11CreateDeviceAndSwapChain.

    HRESULT hr = S_OK;
    D3D_FEATURE_LEVEL FeatureLevel;

    if( FAILED (hr = D3D11CreateDeviceAndSwapChain( NULL, 
                    D3D_DRIVER_TYPE_REFERENCE,
                    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 referensi 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 referensi pada tingkat fitur tertentu, lihat Batasan Pembuatan WARP dan Perangkat Referensi. Cara Menggunakan Direct3D 11

Perangkat

Cara Menggunakan Direct3D 11