当我使用我的代码时,它说:没有与vertex()调用一起提供的uv文本坐标。 这是我使用的代码:
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();
}
答案 0 :(得分:0)
就像你的错误和乔治的评论所说,要使用纹理,你需要将4个参数传递给vertex()
函数,而不是2个参数。
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();
另请注意,您不应将图像加载到draw()
函数中,因为这会导致您每秒加载60次相同的图像。您应该从setup()
函数加载一次。