Ujednolicony model cieniowania

Ujednolicony model modułu cieniującego wykorzystuje te same zasoby sprzętowe zarówno do przetwarzania wierzchołków, jak i fragmentów.

W dziedzinie grafiki komputerowej 3D zunifikowany model modułu cieniującego (znany w Direct3D 10 jako „ Shader Model 4.0 ”) odnosi się do formy modułu cieniującego w jednostce przetwarzania graficznego (GPU), w której wszystkie etapy modułu cieniującego w potoku renderowania ( geometria, wierzchołek, piksel itp.) mają te same możliwości. Wszystkie potrafią odczytywać tekstury i bufory i używają zestawów instrukcji , które są prawie identyczne.

Historia

Wcześniejsze procesory graficzne na ogół zawierały dwa typy sprzętu do cieniowania, przy czym moduły cieniujące wierzchołki miały znacznie więcej instrukcji niż prostsze moduły cieniujące piksele . Obniżyło to koszt wdrożenia GPU jako całości i umożliwiło łącznie więcej shaderów na jednej jednostce. Odbyło się to kosztem zmniejszenia elastyczności systemu, a czasem pozostawienia jednego zestawu shaderów bezczynności, jeśli obciążenie wykorzystywało jeden bardziej niż drugi. Wraz z dalszymi ulepszeniami w produkcji to rozróżnienie stało się mniej przydatne. Firma ATI Technologies wprowadziła ujednoliconą architekturę sprzętu, który opracowała dla Xbox 360 . Nvidia szybko podążyła za projektem Tesli . AMD wprowadziło ujednolicony shader w formie karty dwa lata później w TeraScale . Od tego czasu koncepcja jest uniwersalna.

Wczesne abstrakcje shaderów (takie jak Shader Model 1.x) wykorzystywały bardzo różne zestawy instrukcji dla shaderów wierzchołków i pikseli, przy czym shadery wierzchołków miały znacznie bardziej elastyczny zestaw instrukcji. Późniejsze modele shaderów (takie jak Shader Model 2.x i 3.0) zmniejszyły różnice, zbliżając się do ujednoliconego modelu shaderów. Nawet w modelu Unified zestaw instrukcji może nie być całkowicie taki sam dla różnych typów shaderów; różne etapy cieniowania mogą mieć kilka różnic. Moduły cieniujące fragmenty/piksele mogą obliczać niejawne gradienty współrzędnych tekstury, podczas gdy moduły cieniujące geometrii mogą emitować prymitywy renderowania.

Zunifikowana architektura shaderów

Zunifikowana architektura cieniowania (lub ujednolicona architektura cieniowania ) to konstrukcja sprzętowa, dzięki której wszystkie jednostki przetwarzające shadery w sprzęcie graficznym są w stanie obsłużyć dowolne zadania cieniowania. Najczęściej sprzęt Unified Shading Architecture składa się z szeregu jednostek obliczeniowych i pewnej formy dynamicznego systemu planowania / równoważenia obciążenia , który zapewnia, że ​​wszystkie jednostki obliczeniowe pracują tak często, jak to możliwe.

Zunifikowana architektura shaderów pozwala na bardziej elastyczne wykorzystanie sprzętu do renderowania grafiki. Na przykład w sytuacji dużego obciążenia geometrią system może przeznaczyć większość jednostek obliczeniowych na uruchamianie shaderów wierzchołków i geometrii. W przypadkach z mniejszym obciążeniem wierzchołków i dużym obciążeniem pikseli, więcej jednostek obliczeniowych można by przeznaczyć na uruchamianie shaderów pikseli.

Chociaż sprzęt o ujednoliconej architekturze modułu cieniującego i interfejsy programowania ujednoliconego modelu modułu cieniującego nie są wzajemnie wymagane, ujednolicona architektura jest najbardziej sensowna przy projektowaniu sprzętu przeznaczonego do obsługi interfejsu API oferującego ujednolicony model modułu cieniującego.

OpenGL 3.3 (który oferuje ujednolicony model modułu cieniującego) nadal można zaimplementować na sprzęcie, który nie ma ujednoliconej architektury modułu cieniującego. Podobnie sprzęt, który obsługiwał interfejsy API niezunifikowanego modelu modułu cieniującego, mógłby być oparty na ujednoliconej architekturze modułu cieniującego, jak ma to na przykład miejsce w przypadku układu graficznego Xenos w konsoli Xbox 360 .

Zunifikowana architektura shaderów została wprowadzona z serią Nvidia GeForce 8 , serią ATI Radeon HD 2000 , S3 Chrome 400 , serią Intel GMA X3000 , procesorem graficznym Xbox 360 , serią Qualcomm Adreno 200 , procesorami graficznymi Mali Midgard , PowerVR SGX i jest używana we wszystkich kolejnych seriach .

Nvidia

Intel

ATi/AMD