Понимание мелкого Гуро Шейдинга на примере

Я нахожусь на курсе компьютерной графики и только что прочитал лекцию о затенении Фонга и Гуро. Я не совсем понял, о чем идет речь, поэтому обратился к учебнику за разъяснениями и нашел подходящий пример, который мог бы мне помочь. Я хотел бы обсудить этот пример со всеми вами.

Пример говорит:

During triangle rasterization we are using Gouraud interpolation 
of colors across a triangle to determine the colors of pixels.The triangle we are 
rendering has vertices A, B, and C, with screen-space coordinates A = (30,10), 
B = (30,50), and C = (60, 30).

Вершины имеют следующие цвета RGB:

Ac = (25, 160, 30)
Bc = (25, 110, 30)
Cc = (25, 115, 30)

Какими цветами RGB являются точка (а.) (30,30) и точка (б.) (45, 30)?

Для)

Я представляю значения R и B для A и B - они одинаковы, а затем, поскольку 30 лежит между 10 и 50... возьмите среднее значение цвета A и B для G.

Итак (25, 135, 30) - это значения цвета точки. Я буду использовать это значение в следующей задаче - поэтому назовем его точкой М.

Для (б)

единственная точка, которая у нас есть с 30, поскольку их координата y - C. Точка M находится в (30,30). Итак, поскольку (30,30) и (60,30) имеют одинаковые значения R и B... Я предполагаю, что они одинаковы для (45, 30). Опять же, мы просто усредняем значение G, так как 45 точно между 30 и 60.

Таким образом, ответ (25, 125, 30).

Итак, мой вопрос - это правильно? Если так - это то, что подразумевается под интерполяцией - это... усреднение? Чем отличается затенение Фонга от этого?

1 ответ

Гуро делает интерполяцию между интенсивностью, которая быстрее. Фонг выполняет интерполяцию между нормалями, что дороже, но вы достигаете лучшего качества, более плавного. У вас нет разрыва. Для достижения того же качества Гуро нужна гораздо большая частота дискретизации.

Другие вопросы по тегам