Pagina 1 di 1

Applicare texture a un triangolo?

Inviato: 25/12/2014, 10:57
da doom13
Buon Natale!

Se qualcuno è così folle da stare qui, è possibile applicare una texture ad un triangolo col 3D di gm? Quando lo faccio me lo colora tutto di un colore :piagne:

:cappa:

Edit:
Se si come? XD

Re: Applicare texture a un triangolo?

Inviato: 25/12/2014, 11:10
da Cash
È un po' una rottura ma si può, devi usare d3d_primitive_texture_begin e dare le coordinate che dovrebbe rappresentare ogni vertice del triangolo nella texture. È più difficile a dirsi che a farsi,quindi faccio un esempio
Mettiamo che hai questi 3 punti per fare il vertice e una texture 64x64 con disegnato sopra un triangolo e il resto è spazio vuoto, questo triangolo è isoscele e i suoi 3 vertici sono nelle posizioni X:0 Y:64(in basso a sinistra), X:64 Y:64(basso a destra) e X:32 Y:0(in alto in mezzo), per applicare una texture devi fare le coordinate di ogni vertice rispetto alla texture, cioè il vertice in alto in mezzo avrebbe coordinate x:32 y:0, quello in basso a sinistra x:0 y:64 etc. Problema è che serve dare un numero compreso tra 0 e 1 dove 1 rappresenta la largezza della texture, ergo per indicare le coordinate X:32 Y:0 si mette 0.5 e 0, per rappresentare 0 64 si mette 0 1 etc. Esempio in codice:

Codice: Seleziona tutto

texture=background_get_texture(tex_test);

d3d_primitive_begin_texture(pr_trianglelist, texture);
d3d_vertex_texture(0,64,0,0,1);
d3d_vertex_texture(32,0,0,0.5,0);
d3d_vertex_texture(64,64,0,1,1);
d3d_primitive_end();
Disegna un triangolo rivolto verso l'alto con applicata una texture

Re: Applicare texture a un triangolo?

Inviato: 25/12/2014, 11:31
da doom13
Grazie cash, comunque io facevo così, il problema potrebbe essere perché creavo un modello?
Ma se sballo le larghezze della texture mettendo ad esempio tutti 0, 1? Dovrebbe andare lo stesso?

Re: Applicare texture a un triangolo?

Inviato: 25/12/2014, 19:25
da Tizzio
meglio se usi i modelli...
fai d3d_model_primimitive_begin...

Re: Applicare texture a un triangolo?

Inviato: 25/12/2014, 19:35
da Cash
doom13 ha scritto:Grazie cash, comunque io facevo così, il problema potrebbe essere perché creavo un modello?
Ma se sballo le larghezze della texture mettendo ad esempio tutti 0, 1? Dovrebbe andare lo stesso?
Se metti tutto 0 non dovrebbe mostrare niente, se metti tutto 1 non sono sicuro ma penso che anche così non mostri niente. Se metti valori casuali vedrai qualcosa ma sarà roba indecente da guardare(credo)

Re: Applicare texture a un triangolo?

Inviato: 26/12/2014, 9:36
da doom13
Tizzio ha scritto:meglio se usi i modelli...
fai d3d_model_primimitive_begin...
Lo faccio ma le texture se ne vanno a quel paese...
Se riesco dopo copio il codice che ho scritto.