共用方式為


如何:建立參考裝置

本主題說明如何建立參考裝置,以實作執行時間的高度精確軟體實作。 若要建立參照裝置,只要指定您要建立的裝置將會使用參考驅動程式。 此範例會同時建立裝置和交換鏈結。

建立參考裝置

  1. 定義交換鏈結的初始參數。

        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. 要求實作應用程式所需功能的功能層級。 您可以成功為 Direct3D 11 執行時間建立參考裝置。

        D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_11_0;
    

    如需詳細資訊 ,請參閱D3D_FEATURE_LEVEL 列舉中的功能層級。

  3. 呼叫 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;
    }

您必須從 D3D_DRIVER_TYPE 列舉中,提供具有參考驅動程式類型的 API 呼叫。 方法成功之後,它會傳回交換鏈結介面、裝置介面、驅動程式授與的功能層級指標,以及立即的內容介面。

For information about limitations creating a reference device on certain feature levels, see Limitations Creating WARP and Reference Devices.How to Use Direct3D 11

裝置

如何使用 Direct3D 11