Karty graficzne

CineFX 3.0 i Shader Model 3.0

przeczytasz w 3 min.

Piękna syrenka Nalu to efekt pracy wielu programistów, wszystko po to, aby zademonstrować możliwości silnika CineFX 3.0

Microsoft DirectX 9.0 wprowadził nowe standardy w technologii cieniowania 'vertexów' i 'pixeli' - wersje 2.0 i wersje 3.0. Sprzęt zgodny z Shader Model 2.0 dostępny jest od ponad roku, w tym czasie zarówno karty i jak oprogramowanie doznało gwałtownego wzrostu. Shader Model 2.0 zawierał technologie użyteczne dla zaawansowanego oświetlenia i technik animacji, lecz był ograniczony długością i złożonością programów cieniujących, co nie pozwalało na wierne oddanie wszystkich efektów.

Gdy programiści (twórcy gier) zaczęli naciskać na ograniczenia właściwe dla jednostek Pixel Shader 2.0 i Vertex Shader 2.0, rozpoczęła się adopcja nowego, bardziej zaawansowanego Modelu Cieniowania 3.0. Oto najważniejsze różnice pomiędzy modelami 2.0 i 3.0:

Pixel Shader

Shader 2.0

Shader 3.0

Długość Shaderów

65535+

pozwala na złożone cieniowanie i  oświetlenie

Dynamiczne rozgałęzienia

TAK

oszczędza wydajność przez omijanie złożonego cieniowania na nieistotnych pixelach

Shader anti-aliasing

nie obsługiwane

wbudowane
pochodne instrukcje

Deweloperzy mogą obliczyć pochodne każdej funkcji, pozwalającej im modyfikować częstotliwość cieniowania lub over-sampling w celu eliminowania artefaktów

rejestry Back-face

TAK

pozwala na dwustronne oświetlenie w jednym przejściu

interpolowany format koloru

8-bitowy
stałoprzecin.

32-bitowy
zmiennoprzecin.

wyższy zakres i precyzja koloru pozwala na bardzo dynamiczną skalę cieniowania i oświetlenia

Multiple render targets

opcjonalnie

4 wymagane

pozwala wyższym algorytmom oświetlenia zaoszczędzić filtrowania i pracy vertex'ów - innymi słowy więcej świateł mniejszym kosztem

mgła i rozbłyski

do wyboru
fp16-fp32
programy shader

Shader Model 3.0 daje deweloperom pełną i precyzyjną kontrolę nad obliczeniami rozbłysków i mgieł - przedtem funkcja stała

Licznik koordynat tekstur

10

więcej danych na-pixel pozwala na bardziej realistyczny rendering, w szczgólności skóry

Vertex shader

Shader 2.0

Shader 3.0

Description

Długość Shaderów

256
instrukcji

65535
instrukcji

więcej instrukcji pozwala na bardziej szczegółowe postacie, oświetlenie i animacje

Dynamiczne rozgałęzienia

TAK

oszczędza wydajność przez omijanie złożonego cieniowania na nieistotnych wektorach

Tekstury Vertex

do 4 tekstur

pozwala na 'mapowanie przemieszczeń'

obsługa 'Instancing'

wymagane

umożliwia rysowanie wielu urozmaiconych obiektów  tylko przy wykorzystaniu pojedynczego polecenia.

Szczegółowe informacje na temat Shader Model 3.0 zamieściła na swojej stronie firma Microsoft.

Trzeciej generacji silnik Cine FX, w skład którego wchodzą Vertex Shader 3.0 i Pixel Shader 3.0, daje przede wszystkim pełną zgodność z standardem cieniowania Microsoft zawartym w najnowszym DirectX 9.0c. To duża technologiczna przewaga na konkurencyjnym R420 firmy ATi, który pozostał na poziomie zgodności ze specyfikacją Cieniowania 2.0.

Jak czytamy w dokumentacji nVidii, CineFX 3.0 daje bardzo dużą swobodę programistom i twórcom programów cieniujących, likwidując narzucony do tej pory przez sprzęt, limit w długości programów vertexowych i pixelowych.

  • Nieskończona długość programów cieniujących
  • Dynamiczna kontrola przebiegu
  • Displacement mapping
  • Rozdzielanie strumieni vertexów
  • technologia Multiple Render Target (MRT)

Z naszego punktu widzenia, 'zwykłych' użytkowników tych kart, których interesuje wyłącznie ostateczny efekt, czyli ładne efekty 3D i dobra wydajność, wszystkie te informacje o nieskończonej długości i wyższej precyzji programów cieniujących, dynamicznej kontroli przepływu, pętlach, rozgałęzieniach, etc etc, mogą być jeśli nie niezrozumiałe, to nieco przynudnawe i niepotrzebne. Zatem mówiąc już językiem jak najbardziej prostym: CineFX 3.0 oferuje wszystko co ma pomóc programistom w sposób szybki i wygodny pisać gry, które na ekranie naszych monitorów (przy wykorzystaniu odpowiednich kart rzecz jasna) będą wyglądać jak to wspaniałe demko z syrenką. Więcej technicznych informacji na temat CineFX 3.0 znajdziecie w dokumencie Technical Brief: CineFX 3.0.