Bagikan melalui


Penggemar Segitiga (Direct3D 9)

Kipas segitiga mirip dengan strip segitiga, kecuali bahwa semua segitiga berbagi satu puncak, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi kipas segitiga

Sistem ini menggunakan simpul v2, v3, dan v1 untuk menggambar segitiga pertama; v3, v4, dan v1 untuk menggambar segitiga kedua; v4, v5, dan v1 untuk menggambar segitiga ketiga; dan sebagainya. Ketika bayangan datar diaktifkan, sistem menaungi segitiga dengan warna dari puncak pertamanya.

Ilustrasi berikut menggambarkan kipas segitiga yang dirender.

ilustrasi kipas segitiga yang dirender

Kode berikut menunjukkan cara membuat simpul untuk kipas segitiga ini.

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

Contoh kode di bawah ini menunjukkan cara merender kipas segitiga ini di Direct3D 9 menggunakan IDirect3DDevice9::D rawPrimitive.

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

Penggemar segitiga tidak didukung di Direct3D 10 atau yang lebih baru.

Primitif