Mapa normalnych z mapy wysokości
Buduje mapę normalnych własnym operatorem Sobela 3×3 na mapie wysokości: dwa jądra dają nachylenie Gx i Gy, z nich powstaje wektor normalnej, jest normalizowany i kodowany do RGB jako (n·0.5+0.5)·255. Krawędzie można przycinać lub zawijać. Pokazano rozmiar siatki, średnie i maksymalne nachylenie, liczbę płaskich pikseli, piksel środkowy, histogram kanału niebieskiego i pierwsze wiersze mapy, a sama mapa jest zwracana jako PPM P3.
Builds a normal map with an own 3×3 Sobel operator over a height map: two kernels give the Gx and Gy slopes, a normal vector is formed from them, normalised and encoded into RGB as (n·0.5+0.5)·255. Edges can be clamped or wrapped. The grid size, average and maximum slope, flat pixel count, the centre pixel, the blue-channel histogram and the first map rows are shown, and the map itself is returned as PPM P3.