Udostępnij przez


Instrukcje: rejestrowanie listy poleceń

Lista poleceń jest zarejestrowaną listą poleceń renderowania. W tym temacie przedstawiono sposób tworzenia i rejestrowania listy poleceń . Użyj listy poleceń, aby zarejestrować polecenia renderowania i odtworzyć je później. Lista poleceń jest wygodna do dzielenia zadań renderowania między wątkami.

Aby zarejestrować listę poleceń

  1. Lista poleceń musi zostać utworzona na podstawie kontekstu odroczonego, który zawiera stan urządzenia i akcje renderowania. Dla urządzenia utwórz kontekst odroczony, wywołując ID3D11Device::CreateDeferredContext.

    HRESULT hr;
    ID3D11DeviceContext* pDeferredContext = NULL;
    
    hr = g_pd3dDevice->CreateDeferredContext(0, &pDeferredContext);
    
  2. Użyj kontekstu odroczonego do renderowania.

    float ClearColor[4] = { 0.0f, 0.125f, 0.3f, 1.0f };
    pDeferredContext->ClearRenderTargetView( g_pRenderTargetView, ClearColor );
    
    // Add additional rendering commands
    ...
    

    Ten prosty przykład czyści element docelowy renderowania, ale można dodać dodatkowe polecenia renderowania.

  3. Utwórz/zarejestruj listę poleceń, wywołując ID3D11DeviceContext::FinishCommandList i przekazując wskaźnik do niezainicjowanego interfejsu ID3D11CommandList.

    ID3D11CommandList* pd3dCommandList = NULL;
    HRESULT hr;
    hr = pDeferredContext->FinishCommandList(FALSE, &pd3dCommandList);
    

    Gdy metoda zwróci, zostanie utworzona lista poleceń zawierająca wszystkie polecenia renderowania, a interfejs zostanie przekazany do aplikacji.

    Parametr logiczny informuje środowisko uruchomieniowe, co należy zrobić ze stanem potoku w kontekście odroczonym. TRUE oznacza przywrócenie stanu kontekstu urządzenia do stanu sprzed wykonania listy poleceń po zakończeniu rejestrowania, FALSE oznacza, że nie zmieniaj stanu po zakończeniu nagrywania. Oznacza to, że kontekst urządzenia będzie odzwierciedlać zmiany stanu zawarte na liście poleceń.

Aby zapoznać się z przykładem odtwarzania listy poleceń, zobacz Instrukcje: odtwarzanie listy poleceń.

listy poleceń

Jak używać Direct3D 11