Leksykon IT › Programowanie › Cache powierzchni

Cache powierzchni

Programowanie Svenska → Zaktualizowano: 2026-10-26

Sposób Quake'a na oświetlone ściany w rendererze programowym: tekstura i lightmapa są łączone z góry w gotowe powierzchnie, trzymane w cache'u, a pętla wewnętrzna tylko kopiuje.

Quake (1996) miał miękkie, wstępnie obliczone oświetlenie zapisane w lightmapach, ale mieszanie światła z teksturą dla każdego piksela w każdej klatce było dla Pentium zbyt kosztowne. John Carmack i Michael Abrash odwrócili problem: każda widoczna powierzchnia była budowana raz jako oświetlona bitmapa, na poziomie mipmapy odpowiednim do odległości, i przechowywana w cache'u. Rasteryzacja sprowadzała się do zwykłego teksturowania bez żadnej matematyki oświetlenia.

Ceną była pamięć oraz zacięcia, gdy nagle pojawiało się wiele nowych powierzchni, na przykład po szybkim obrocie. GLQuake zastąpił ten schemat wieloprzebiegowym mieszaniem na kartach 3D. Pomysł przetrwał w przebraniu: Lumen w Unreal Engine 5 także buduje cache powierzchni, tym razem do oświetlenia globalnego.

← Wróć do leksykonu