Leksykon IT › Sprzęt › Kodowanie oktaedryczne

Kodowanie oktaedryczne

Sprzęt Svenska → Zaktualizowano: 2026-10-26

Pakuje wektor normalny do dwóch liczb, składając sferę jednostkową na ośmiościan rozłożony na kwadracie.

Normalna powierzchni to wektor jednostkowy: trzy składowe, ale tylko dwa stopnie swobody, więc zapisywanie wszystkich trzech to marnotrawstwo, zwłaszcza w ciasnym G-bufferze. Kodowanie oktaedryczne rzutuje sferę na ośmiościan, rozkłada go na kwadrat jednostkowy i zapisuje te dwie współrzędne. Precyzja jest niemal równomierna na całej sferze, a kodowanie i dekodowanie to kilka linijek arytmetyki bez trygonometrii — taniej i równiej niż w starszej transformacji spheremap, którą wyparło. Upowszechnione przez Cigolle’a i współautorów w przeglądzie zwartych reprezentacji wektorów jednostkowych z 2014 roku, jest dziś domyślnym sposobem upychania normalnych w dwóch kanałach 8- lub 16-bitowych.

← Wróć do leksykonu