Megosztás a következőn keresztül:


Háromszög ventilátorok (Direct3D 9)

A háromszögventilátor hasonló egy háromszögcsíkhoz, azzal a kivételrel, hogy az összes háromszög egy csúcsponton osztozik, ahogy az alábbi ábrán is látható.

háromszögventilátor ábrája

A rendszer v2, v3 és v1 csúcsokat használ az első háromszög rajzolásához; v3, v4 és v1 a második háromszög rajzolásához; v4, v5 és v1 a harmadik háromszög rajzolásához; és így tovább. Ha engedélyezve van a lapos árnyékolás, a rendszer az első csúcspont színével árnyékolja a háromszöget.

Az alábbi ábra egy renderelt háromszögventilátort ábrázol.

renderelt háromszögventilátor ábrája

Az alábbi kód bemutatja, hogyan hozhat létre csúcspontokat ehhez a háromszögventilátorhoz.

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},
};

Az alábbi kód példája bemutatja, hogyan jelenítheti meg ezt a háromszögventilátort a Direct3D 9-ben IDirect3DDevice9::D rawPrimitivehasználatával.

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

A Háromszög ventilátorok nem támogatottak a Direct3D 10-ben vagy újabb verzióiban.

Primitívek