Изготовление формы в обработке - PullRequest
0 голосов
/ 20 июня 2020

Я работал над анимацией при обработке. Тогда у меня вопрос по коду. Обычно мой код более длинный. Однако я сделал простой код, который может пригодиться и новичкам. Мой пример кода:

 void setup() {
  size(250, 250);
}

void draw() {
  background(102);
  translate(100, 100);
  beginShape();
  vertex(0,0);
  vertex(-50, 50);
  vertex(0, 100);
  endShape();
}

Мне нужно использовать три вершины, и я хочу текстурировать форму, как в texture(). Как это сделать?

1 Ответ

1 голос
/ 20 июня 2020

Чтобы поместить изображение в качестве текстуры в Shape:

  1. Используйте рендер P2D или P3D вместо рендеринга по умолчанию.
  2. Загрузите изображение, которое собирается текстурировать вашу фигуру.
  3. Вызов функции texture(), когда вы начинаете настраивать Shape.
  4. Establi sh режим (IMAGE) и wrap (CLAMP) для изображения текстуры.
  5. Выберите три точки изображения в качестве вершин треугольника. Например, (0, 0), (0, img.height) и (img.width, img.height).
PImage img;

void setup() {
  size(250, 250, P2D);
  img = loadImage("rectangular_image.jpg");
  textureMode(IMAGE);
  textureWrap(CLAMP);
}

void draw() {
  background(102);
  translate(100, 100);
  noStroke();
  beginShape();
  texture(img);
  vertex(0, 0, 0, 0);
  vertex(-50, 50, 0, img.height);
  vertex(0, 100, img.width, img.height);
  endShape();
}
...