Pagina 1 di 1

d3d_primitive

Inviato: 18/11/2014, 19:41
da vinci321
Sto tentando di disegnare un quadrato(disegnato con le linee) orizzontale che ruoti su se stesso in base alla direzione, ma spunta un triangolo senza una punta

Codice: Seleziona tutto

d3d_primitive_begin(pr_linestrip)
d3d_vertex(x+cos(direction)*8,y+sin(direction)*8,5)
d3d_vertex(x+cos(direction+90)*8,y+sin(direction+90)*8,5)
d3d_vertex(x+cos(direction+180)*8,y+sin(direction+180)*8,5)
d3d_vertex(x+cos(direction+270)*8,y+sin(direction+270)*8,5)

d3d_primitive_end()

Re: d3d_primitive

Inviato: 19/11/2014, 8:15
da Cash
Prova ad usare pr_trianglestrip,dai i 3 punti di ogni triangolo e basta. Altro modo è disegnare il triangolo e usare d3d_set_identity() e le altre funzioni per ruotare il quadrato

Re: d3d_primitive

Inviato: 19/11/2014, 14:53
da vinci321
Ci ho provato ma succede la stessa cosa

Re: d3d_primitive

Inviato: 19/11/2014, 18:48
da Jak
Linestrip non disegna una primitiva "chiusa"
Se vuoi chiudere un quadrato devi scrivere il primo vertice nuovamente alla fine, quindi 5 vertici in totale.
Prova così

Codice: Seleziona tutto

d3d_primitive_begin(pr_linestrip)

d3d_vertex(x+cos(direction)*8,y+sin(direction)*8,5)
d3d_vertex(x+cos(direction+90)*8,y+sin(direction+90)*8,5)
d3d_vertex(x+cos(direction+180)*8,y+sin(direction+180)*8,5)
d3d_vertex(x+cos(direction+270)*8,y+sin(direction+270)*8,5)
d3d_vertex(x+cos(direction)*8,y+sin(direction)*8,5)

d3d_primitive_end()

Re: d3d_primitive

Inviato: 19/11/2014, 22:06
da vinci321
Sisi lo so il problema non è se è chiuso o no ma la forma che esce... esce un triangolo senza una punta(una specie di trapezio con la base minore minuscola)

Re: d3d_primitive

Inviato: 20/11/2014, 18:52
da vinci321
Ho tutte le direzioni sfasate...