2006-11-08 19:58
Autor: Sebastian Wiśniewski (NetCop)
129
NVIDIA GeForce 8800 - nowa era w kartach graficznych
Strona 1 - Wstęp
Wstęp

Chyba się nie pomylę, jeśli powiem, że dzisiejsza premiera nowych kart graficznych NVIDII jest najbardziej wyczekiwanym wydarzeniem tego roku, szczególnie przez graczy. Oto bowiem na rynek wchodzą karty w pełni zgodne z DirectX 10 i nadchodzącym systeme MS Vista, mające zaoferować nową jakość w dziedzinie komputerowej rozrywki. Dzisiejsi debiutanci bazują na nowym układzie graficznym G80 odchodzącym od tradycyjnej architektury znanej nam z obecnych kart.
Nowe technologie
Zanim przedstawię szczegóły techniczne układu G80 postaram się napisać w miarę prosto o najważniejszych nowościach które niosą ze sobą nowe karty.
DirectX 10
- Shader Model 4.0, rozszerza możliwości programowania oferując nowy zestaw zunifikowanych instrukcji, znacznie więcej zmiennych i stałych, możliwość wykonywania nieskończenie długich programów, mniej odwołań do procesora (CPU). Na każdym etapie potoku renderującego możliwy jest dostępu do buforów i tekstur, a dane mogą krążyć pomiędzy różnymi etapami. Zunifikowane shadery zapewniają też bardziej wydajną pracę samego GPU bez angażowania CPU. Tabela poniżej przedstawia możliwości DX10 i SM4.0 w porównaniu do poprzednich wersji.
- Stream Output to nowa funkcja w DirectX 10, która pozwala na to aby dane wygenerowane przez Geometry Shader lub Vertex Shader były przesłane prosto do pamięci, a następnie wczytane na początek potoku renderującego i ponownie przetwarzane. Ma to bardzo ważne znaczenie dla przetwarzania geometrii, zaawansowanych obliczeń świetlnych oraz symulacji fizyki przez GPU.
- Geometry Shader - to nowy rodzaj shadera, który wprowadza DirectX 10. Do tej pory przetwarzaniem geometrii zajmował się procesor CPU, z tego względu efekty takie jak włosy, zachowanie płynów i cząstek czy mimika twarzy były dość ubogie, Teraz wszystkie te operacje przejmuje GPU pozwalając na znacznie bardziej skomplikowane efekty z jednoczesnym odciążeniem procesora.
Przykładem zastosowania Geometry Shadera może być rozbicie jednego trójkąta na kilka mniejszych dzięki czemu otrzymamy gładsze krawędzie czy obiekty o większej szczegółowości np. zbliżoną do rzeczywistości powierzchnie wody.
Najważniejszą funkcją nowej jednostki jest przeniesienie wszelkich obliczeń związanych z geometrią z procesora (CPU) do karty graficznej (GPU) i znaczne poprawienie ich wydajności, a także możliwość uzyskania efektów takich jak prawdziwy displacement mapping polegający na zmianie geometrii trójwymiarowego obiektu.
- Vertex Texturing - Efekt ten zadebiutował już w DirectX 9 ale teraz stał się ważnym elementem nowego API i może być użyty zarówno w vertex shader jak i geometry shader. Teraz przy pomocy vertex texturing obiekty można zmieniać poprzez przemieszczanie wartości ich wierzchołków, a nie zmianie koloru. Przeniesienia służą do modyfikacji wierzchołków obiektów, tworzeniu nowych kształtów i form oraz tworzeniu animacji opartej o geometrię obiektów.
Efekty proceduralne
Wraz z wprowadzeniem shaderów stało się możliwe renderowanie efektów proceduralnych. Są to takie efekty, które liczy się w czasie rzeczywistym, a nie są oparte na vertexach czy teksturach na przykład ogień, woda, dym itp. Niestety obecne GPU nie pozwalają na tworzenie danych dlatego takie efekty liczone są przez CPU.
Wraz z wejściem GPU zgodnych z DirectX 10 to się zmienia. Teraz GPU dzięki geometry shaderowi może tworzyć nowe obiekty.
Efekty proceduralne spowodują, że świat przyrody w DirectX 10 przestanie być statyczny i będzie mógł żyć, rozwijać się i rozrastać.