Applicare texture a un triangolo?

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Rispondi
Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Applicare texture a un triangolo?

Messaggio 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
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Applicare texture a un triangolo?

Messaggio 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

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Applicare texture a un triangolo?

Messaggio 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?
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Applicare texture a un triangolo?

Messaggio da Tizzio »

meglio se usi i modelli...
fai d3d_model_primimitive_begin...

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Applicare texture a un triangolo?

Messaggio 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)

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Applicare texture a un triangolo?

Messaggio 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.
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti