Re: Быстрая закраска

From
Vladislav Gusev (2:5059/9.75)
To
Alexander Samarin
Date
2002-11-27T00:10:20Z
Area
RU.ALGORITHMS
                     Приветствую тебя Alexander !!!
 Было это [26 ноября 2002]. Alexander Samarin писал к All.

 AS>     Имею 3-х мерную модель (гоблин) состоящий из полигонов
 AS> (треугольников), так вот текстурирование мне не нужно, я хотел бы эти
 AS> полигоны просто закрашивать в свой цвет (для моей задачи итоговая картинка
 AS> вполне сойдёт).
 ИМХО быстрее всего будет так :
 1. Все вычисления производим в целых числах(fixed point) !

            A
           *
          *  *
         *     * B
        *   *
       * *
      *
     C

 2. Сортируем вершины A.y <= B.y <= C.y

 3. Расчитываем приращения для каждого ребра dx_AC = (C.x - A.x) / (C.y - A.Y),
 dx_AB = (B.x - A.x) / (B.y - A.y) , dx_BC = (C.x - B.x) / (C.y - B.y)

 4. Отрисовываем участок треугольника(от A.y до B.y)(в цикле смещаемся на одну
линию вниз, x_AC += dx_AC, x_AB += dx_AB)

 5. Затем рисуем оставшуюся часть(от B.y до C.y).

ЗЫЖ не забываем корректно обрабатывать частные случаи.

                                                С уважением Vlad.

                      [C++] [Rock] [NightWish] [I`ll be back]
--- GoldED+/386 1.1.4.5
 * Origin: End Of All Hope (2:5059/9.75)