CUSTOMVERTEX g_Vertices[] ={
{300.0f, 300.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 0)},
{150.0f, 300.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 255)},
{150.0f, 150.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 255)},
[COLOR="YellowGreen"]/*{50.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 255, 0, 0)},
{30.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 255, 0)},
{30.0f, 30.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 0)}*/[/COLOR]
};
hr = pd3dDevice->CreateVertexBuffer(
3*sizeof(CUSTOMVERTEX),
0,
D3DFVF_XYZRHW|D3DFVF_DIFFUSE,
D3DPOOL_DEFAULT,
&g_pVB,
NULL );
.................
.................
pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );
полигон был что надо.
Но теперь хочу квадрат,или 2 полигона!
изменения:
CUSTOMVERTEX g_Vertices[] ={
{300.0f, 300.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 0)},
{150.0f, 300.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 255)},
{150.0f, 150.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 255)},
[COLOR="orange"]{50.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 255, 0, 0)},
{30.0f, 50.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 255, 0)},
{30.0f, 30.0f, 0.5f, 1.0f, D3DCOLOR_ARGB (0, 0, 0, 0)}[/COLOR]
};
hr = pd3dDevice->CreateVertexBuffer(
[COLOR="Orange"]6[/COLOR]*sizeof(CUSTOMVERTEX),
0,
D3DFVF_XYZRHW|D3DFVF_DIFFUSE,
D3DPOOL_DEFAULT,
&g_pVB,
NULL );
.................
.................
pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, [COLOR="orange"]2[/COLOR] );
Не рисуется второй полигон о_О
Я еще полный чайник,но вот при таком раскладе все работало:
TRIANGLESTRIP - это лента из треугольников.
А как тогда сделать квадрат?
И какие есть еще режимы кроме "лист треугольников"?
Сильно подозреваю, что вместо D3DPT_TRIANGLESTRIP надо подставить что-нибудь другое...
Да,я уже поставил D3DPT_TRIANGLELIST, и все работает,спасибо!)