AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Problème pour dessiner des primitives texturées

Aller en bas 
3 participants
AuteurMessage
G26
Nouveau



Messages : 3

Problème pour dessiner des primitives texturées Empty
MessageSujet: Problème pour dessiner des primitives texturées   Problème pour dessiner des primitives texturées EmptyJeu 20 Juil 2017 - 18: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

Problème pour dessiner des primitives texturées Empty
MessageSujet: EDIT   Problème pour dessiner des primitives texturées EmptyVen 21 Juil 2017 - 12: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
onilink_


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

Problème pour dessiner des primitives texturées Empty
MessageSujet: Re: Problème pour dessiner des primitives texturées   Problème pour dessiner des primitives texturées EmptyVen 21 Juil 2017 - 23: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

_________________
Problème pour dessiner des primitives texturées Runningpotato1Problème pour dessiner des primitives texturées TvF6GED Problème pour dessiner des primitives texturées MdetltS
Revenir en haut Aller en bas
G26
Nouveau



Messages : 3

Problème pour dessiner des primitives texturées Empty
MessageSujet: Re: Problème pour dessiner des primitives texturées   Problème pour dessiner des primitives texturées EmptySam 22 Juil 2017 - 13: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
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Problème pour dessiner des primitives texturées Empty
MessageSujet: Re: Problème pour dessiner des primitives texturées   Problème pour dessiner des primitives texturées EmptyDim 3 Sep 2017 - 4: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 ^^
Problème pour dessiner des primitives texturées U3dfr2Problème pour dessiner des primitives texturées Sign l'antique
Bienvenue au 2630eme utilisateur : Mike Kennedy !
Revenir en haut Aller en bas
http://www.tdms.fr
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
Problème pour dessiner des primitives texturées
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Probleme pour : je de tir a la 1er personne
» Problème d'argent pour mon jeu
» Problème de IA pour un jeu platforme
» Problème pour un jeu RPG
» Problème pour des lumières

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: