растеризатор, ну чтобы понять, как там все работает и тд, проблема в заливании треугольника: ну тут все вроде стандартно, сортирую по у три точки а b c, интерполирую х и атрибуты для прямых, закрашиваю слева направо, но, как я отловил, в интерполяции атрибутов иногда попадается x1 > x2, что ломает вектор, понятное дело, что потом в цикле эта горизонтальная прямая не закрасится, пока придумал, что можно делать проверку x2 > x1 до интерполяции, но я думал, что вроде логично, за это должна отвечать проверка, является ли ас правой или левой прямой, и в зависимости от этого красить горизонтальную прямую справа налево или слева направо, но она видимо не работает, сразу хочу уточнить что значения прямых получаю не простой интерполяцией с тангенсом, а алгоритмом Брэзенхема, который я чуть-чуть изменил, так может быть проблема в нем? Что посоветуете в данной ситуации? Сразу извиняюсь за много теста.
Посоветую посмотреть https://github.com/ssloy/tinyrenderer/blob/e1a3f2b0f9638fa6db9e0437c621132e1baa3fb1/main.cpp#L36 учитывая что ты делаешь тоже самое~
Обсуждают сегодня