Condividi tramite


Metodo ID2D1DrawInfo::SetVertexProcessing (d2d1effectauthor.h)

Imposta un buffer vertex, un vertex shader corrispondente e le opzioni per controllare il modo in cui i vertici devono essere gestiti dal contesto Direct2D.

Sintassi

HRESULT SetVertexProcessing(
  [in, optional] ID2D1VertexBuffer            *vertexBuffer,
                 D2D1_VERTEX_OPTIONS          vertexOptions,
  [in, optional] const D2D1_BLEND_DESCRIPTION *blendDescription,
  [in, optional] const D2D1_VERTEX_RANGE      *vertexRange,
                 const GUID                   *vertexShader
);

Parametri

[in, optional] vertexBuffer

Tipo: ID2D1VertexBuffer*

Il buffer del vertice, se viene cancellato, verrà usato il vertex shader predefinito e il mapping ai rettangoli di trasformazione.

vertexOptions

Tipo: D2D1_VERTEX_OPTIONS

Opzioni che influiscono sul modo in cui il renderer interagisce con il vertex shader.

[in, optional] blendDescription

Tipo: const D2D1_BLEND_DESCRIPTION*

Modalità di fusione dei vertici con la trama di output.

[in, optional] vertexRange

Tipo: const D2D1_VERTEX_RANGE*

Set di vertici da usare dal buffer.

vertexShader

Tipo: GUID*

GUID del vertex shader.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, restituisce S_OK. Se ha esito negativo, restituisce un codice di errore HRESULT .

Commenti

I vertex shader associati al buffer del vertice tramite il GUID del vertex shader devono essere stati caricati tramite il metodo ID2D1EffectContext::LoadVertexShader prima di eseguire questa chiamata.

Se si passa l'opzione vertex D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR, il metodo non riesce a meno che la descrizione della fusione non sia esattamente questa:

D2D1_BLEND_DESCRIPTION blendDesc = 
        {
            D2D1_BLEND_ONE,
            D2D1_BLEND_ZERO,
            D2D1_BLEND_OPERATION_ADD,

            D2D1_BLEND_ONE,
            D2D1_BLEND_ZERO,
            D2D1_BLEND_OPERATION_ADD,

            { 1.0f, 1.0f, 1.0f, 1.0f }
        };

Se questa chiamata ha esito negativo, l'istanza ID2D1Effect corrispondente viene inserita in uno stato di errore e non riesce a disegnare.

Se blendDescription è NULL, viene usata una modalità blend in primo piano.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1effectauthor.h
Libreria D2d1.lib

Vedi anche

ID2D1DrawInfo

ID2D1EffectContext::CreateVertexBuffer

ID2D1EffectContext::LoadVertexShader