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.

Obrazek powyżej przedstawia rendering podwodnego ekosystemu w DirectX 10. Czerwony koral powstaje w wyniku obliczeń L-System stosowanego do symulacji rozwoju roślin w botanice. Początkowo ma tylko kilka gałązek. Dzięki geometry shaderowi model zmienia się i dodawane są nowe wierzchołki i trójkąty, pixel shader renderuje tekstury, a całość dopełniają obliczenia fizyczne dotyczące pływów wody i falowania listków.
Efekty proceduralne spowodują, że świat przyrody w DirectX 10 przestanie być statyczny i będzie mógł żyć, rozwijać się i rozrastać.

Strona 1 z 13 12345...13>>>