Для затенения Гуро модель освещения вычисляется (как цвет) для каждой вершины треугольника и затем линейно интерполируется по пикселям треугольника.
В OpenGL вы просто вычисляете модель освещения для каждой вершины вВершинный шейдер как цветовой вектор передается фрагментному шейдеру как переменный, а затем линейная интерполяция выполняется автоматически «бесплатно».
Если вы хотите затенение Фонга, вы передаете нормаль вершины непосредственно в фрагментный шейдер, которыйбудет также автоматически линейно интерполироваться, а затем вы вычисляете модель освещения в фрагментном шейдере, используя эту интерполированную нормаль.