Udostępnij przez


Wentylatory trójkąta (Direct3D 9)

Wentylator trójkąta jest podobny do paska trójkąta, z tą różnicą, że wszystkie trójkąty mają jeden wierzchołek, jak pokazano na poniższej ilustracji.

ilustracja wentylatora trójkąta

System używa wierzchołków v2, v3 i v1, aby narysować pierwszy trójkąt; 3, v4 i v1, aby narysować drugi trójkąt; 4, v5 i v1, aby narysować trzeci trójkąt; i tak dalej. Gdy włączono płaskie cieniowanie, system odcienie trójkąta z kolorem z pierwszego wierzchołka.

Poniższa ilustracja przedstawia renderowany wentylator trójkątny.

ilustracja renderowanego wentylatora trójkąta

Poniższy kod pokazuje, jak utworzyć wierzchołki dla tego wentylatora trójkąta.

struct CUSTOMVERTEX
{
    float x,y,z;
};

CUSTOMVERTEX Vertices[] = 
{
    { 0.0, 0.0, 0.0},
    {-5.0, 5.0, 0.0},
    {-3.0,  7.0, 0.0},
    { 0.0, 10.0, 0.0},
    { 3.0,  7.0, 0.0},
    { 5.0,  5.0, 0.0},
};

Poniższy przykład kodu pokazuje, jak renderować ten wentylator trójkąta w trybie Direct3D 9 przy użyciu IDirect3DDevice9::D rawPrimitive.

//
// It is assumed that d3dDevice is a valid
// pointer to a IDirect3DDevice9 interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );

Wentylatory trójkątów nie są obsługiwane w trybie Direct3D 10 lub nowszym.

Pierwotnych