AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Problème pour dessiner des primitives texturées

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
G26
Nouveau


Messages : 3

MessageSujet: Problème pour dessiner des primitives texturées   Jeu 20 Juil 2017 - 16:01

Bonjour à tous,

Tout est dans le titre, je n'arrive pas à dessiner de primitives texturées.

Voici le code que je place dans "Draw" :

Code:
spr = sprite_get_texture(spr_test, 0);
   
    draw_primitive_begin_texture(pr_trianglestrip, spr);
   
    draw_vertex_texture(pos_x, pos_y, 0, 0);
    draw_vertex_texture(pos_x, pos_y + h, 0, 0);
    draw_vertex_texture(pos_x + w, pos_y, 0, 0);
    draw_vertex_texture(pos_x + w, pos_y + h, 0, 0);
   
    draw_primitive_end();

La primitive est bien tracée mais la texture n'est pas présente, j'obtiens simplement du noir.

Quelqu'un aurait-il une idée ?

Merci d'avance !
Revenir en haut Aller en bas
G26
Nouveau


Messages : 3

MessageSujet: EDIT   Ven 21 Juil 2017 - 10:49

Bonjour,

Je viens de comprendre que dans la fonction "draw_vertex_texture(x, y, xtex, ytex)", c'est le fait de mettre les arguments "xtex" et "ytex" à 0 qui faisait que j'obtenais un résultat bizarre.

Le résultat que je désire obtenir est simplement de recouvrir la primitive (qui est quelconque) avec un sprite répété sur toute la surface de cette primitive et sans déformation du sprite. Avec la doc de game maker, je ne vois pas comment obtenir cela et j'ai testé plusieurs valeurs pour "xtex" et "ytex" sans jamais obtenir le résultat escompté.

Quelqu'un pourrait-il m'expliquer comment doivent être choisis "xtex" et "ytex" ?

Merci d'avance !
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8904
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Problème pour dessiner des primitives texturées   Ven 21 Juil 2017 - 21:26

Salut, xtex et ytex c'est les coordonnées de textures, normalisées (entre 0 et 1).

Pour un quad, il font donc considérer, si tu veux prendre la texture en entier:
le coin haut gauche: 0, 0
haut droit: 1, 0
bas droit: 1, 1
bas gauche: 0, 1

_________________
                 
Revenir en haut Aller en bas
G26
Nouveau


Messages : 3

MessageSujet: Re: Problème pour dessiner des primitives texturées   Sam 22 Juil 2017 - 11:34

Salut,

Merci beaucoup pour ta réponse !

En fait je vais devoir passer par "pr_trianglelist" et non pas "pr_trianglestrip" car je dois pouvoir dessiner des primitives plus complexes que de simples quadrilatères.

J'imagine donc que ça a un impact sur les valeurs à choisir pour xtex et ytex.

Voici le code actuel pour tracer un quadrilatère (je trace 2 triangles côte à côte) :

Code:

draw_primitive_begin_texture(pr_trianglelist, sprite_get_texture(spr_test, 0));

//tracé du premier triangle
draw_vertex_texture(pos_x, pos_y, 0, 0);
draw_vertex_texture(pos_x, pos_y + h, 1, 0);
draw_vertex_texture(pos_x + w, pos_y + h, 1, 1);

//tracé du second triangle
draw_vertex_texture(pos_x, pos_y, 0, 0);
draw_vertex_texture(pos_x + w, pos_y, 1, 0);
draw_vertex_texture(pos_x + w, pos_y + h, 1, 1);
draw_primitive_end();

Je commence à obtenir un résultat plus probant qu'avant dans le sens où j'entraperçois le sprite sur mon quadrilatère mais toujours pas le résultat que je veux à savoir de recouvrir le quad avec le sprite répété sur toute sa surface et sans déformation du sprite (un peu comme si mon sprite représentait une brique et que je voulais faire un mur de brique).

En espérant avoir été clair et encore merci !
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
avatar

Messages : 7377
Localisation : Essonne

MessageSujet: Re: Problème pour dessiner des primitives texturées   Dim 3 Sep 2017 - 2:15

essaye un truc de ce goût là :

Code:

draw_set_color(c_white);

u_repeat = 2;
v_repeat = 3;

draw_primitive_begin_texture(pr_trianglelist, sprite_get_texture(spr_test, 0));

//tracé du premier triangle
draw_vertex_texture(pos_x    , pos_y    , 0       ,0       );
draw_vertex_texture(pos_x    , pos_y + h, 0       ,v_repeat);
draw_vertex_texture(pos_x + w, pos_y + h, u_repeat,v_repeat);

//tracé du second triangle
draw_vertex_texture(pos_x    , pos_y    , 0       ,0       );
draw_vertex_texture(pos_x + w, pos_y + h, u_repeat,v_repeat);
draw_vertex_texture(pos_x + w, pos_y    , u_repeat,0       );

draw_primitive_end();

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2519eme utilisateur : monblu !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
Contenu sponsorisé




MessageSujet: Re: Problème pour dessiner des primitives texturées   

Revenir en haut Aller en bas
 
Problème pour dessiner des primitives texturées
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» problème pour allez faire " caca "
» Plusieurs logiciels gratuits pour la création et l’impression d’étiquettes ...
» Elle dessine partout!!!!!!!!
» Otites repetees et traitement de fond???
» Problème pour l'achat de Heredis

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: