Я играю с картами высот (растровыми изображениями), пытаюсь создать свои собственные в моей игре, и для этого мне нужно реализовать некоторые базовые методы рисования. Я быстро понял, что рисование прямых линий не так просто, как я думал.
Это просто, если ваши точки имеют общие координаты X или Y, или если они выровнены, так что вы можете нарисовать идеально диагональную линию. Но во всех остальных случаях это сложнее.
Какой алгоритм вы используете, чтобы определить, какие пиксели нужно раскрасить, чтобы он стал «прямой» линией?
источник
to->red = br * (float)from->red;
к этому следующее:to->red = (br * (float)from->red) + ((1-br) * (float) to->red);
. Сделайте то же самое для зеленого и синего соответственноВот чрезвычайно простой способ рисования линий. Функция может быть легко изменена для использования в проектах.
источник