2017-07-18 1 views
0

Lorsque j'utilise mon code, il est dit: Aucune coordonnée de texte uv fournie avec l'appel de vertex(). Ce est le code que j'utilise:Comment remplir une forme de vertex avec une image en cours de traitement?

PImage img; 

void setup() { 
size(720, 360, P3D); 
} 

void draw() { 
    beginShape(); 
    img = loadImage("image.png"); 
    texture(img); 
    vertex(50, 20); 
    vertex(105, 20); 
    vertex(105, 75); 
    vertex(50, 75); 
    endShape(); 
} 
+1

Veuillez poster toute la sortie d'erreur. – Adonis

+1

@MatthieuSjollema Vous passez en effet les coordonnées x, y mais pas les coordonnées de texture u, v à l'appel 'vertex()'. Commander [cette réponse connexe] (https://stackoverflow.com/questions/44451575/processing-using-texture-inside-the-audio-waveform/44458640#44458640) pour plus d'explications sur uv tex. coordonnées. –

Répondre

0

Comme votre erreur et le commentaire de George disent, d'utiliser une texture, vous devez passer en 4 paramètres à la fonction vertex() au lieu de 2 paramètres.

De the reference:

size(100, 100, P3D); 
noStroke(); 
PImage img = loadImage("laDefense.jpg"); 
beginShape(); 
texture(img); 
vertex(10, 20, 0, 0); 
vertex(80, 5, 100, 0); 
vertex(95, 90, 100, 100); 
vertex(40, 95, 0, 100); 
endShape(); 

texture

Notez également que vous ne devriez pas le chargement de votre image dans la fonction draw(), parce que vous amène à charger la même image 60 fois par seconde. Vous devez le charger une fois à partir de la fonction setup().