Обработка проблемы blendMode

Я написал простой скрипт, который генерирует три строки в случайных позициях на сетке. Каждая строка имеет определенный цвет - это для логотипа. Я хочу использовать режим многократного наложения, но он создает неровные изображения. Есть идеи, как решить эту проблему?

// open_lab_logo

size (900, 900); smooth(); 
background (255); 
blendMode(MULTIPLY); 
strokeWeight(100);

float x1 = random(1, 8) * 100; 
float y1 = random(1, 8) * 100; 
float x2 = random(1, 8) * 100; 
float y2 = random(1, 8) * 100; 
float x3 = random(1, 8) * 100; 
float y3 = random(1, 8) * 100; 
float x4 = random(1, 8) * 100; 
float y4 = random(1, 8) * 100;

stroke(#FFDB23); line(x1, y1, x2, y2);

stroke(#E41F7B); line(x2, y2, x3, y3);

stroke(#00A8E4); line(x3, y3, x4, y4);

пример изображения

2 ответа

Решение

Это известная ошибка в обработке 2. Вот ошибка, а здесь - исправление. Это исправление было впервые включено в Processing 3.0a1 ( источник).

Я попробовал это на Processing 2.2.1, и у меня есть те же артефакты, что и у вас. Я попробовал это на Processing 3.0a5, и он работал нормально.

Решение состоит в том, чтобы перейти к обработке 3. Если вам действительно нужно действительно придерживаться обработки 2, то вам придется строить из исходного кода и включать это конкретное исправление. Но вы, вероятно, не должны использовать Processing 2 в любом случае.

Более простое решение - указать рендерер P2D:

size (900, 900, P2D);
Другие вопросы по тегам