U članku o CeBIT-u sam indirektno najavio da je izlazak nove generacije grafičkih
kartica tvrtke NVIDIA vrlo blizu. Na tom sajmu sam po prvi puta vidio NV40 u
akciji i šturi demo iza zatvorenih vrata je na mene ostavio dobar dojam. Ipak,
jedan lijepi demo sa atraktivnom sirenom ne znači puno, pogotovo što ostalih
informacija praktički nije bilo. Bilo je jasno da na tome neće dugo ostati jer
je NVIDIA odmah dala do znanja da me vodi na europski NV40 launch u Genevi.
Par tjedana nakon CeBIT-a, točnije 9. travnja napokon su stigli materijali koji
su omogućili pisanje ovog članka. Materijal je dobro popratio sve novosti koje
NV40 donosi, no ja ne vjerujem u teoretske opise – ja volim vidjeti stvar uživo.

Prije nego što krenem opisivati što donosi NV40 moram napomenuti kako je cijela
situacija oko ovoga članka negdje u rangu poremećaja u time-space continuumu
iz Star Trek svijeta. Kao prvo ovaj članak je pisan 10. travnja, a objavljen
14. travnja u 15h. U to vrijeme (koje se još nije desilo jer sada kada ja pišem
sve ovo je još 10. travanj) ja se nalazim (ili bolje rečeno nalazit ću se) u
Genevi. Sada ćete se zapitati zašto je to bitno? Zato što sam tokom objave ovog
članka saznao još tko zna što ili je netko vani uspio doći do informacija koje
ja nisam uspio iskopati prije odlaska na avion. Što će reći da se lako može
desiti da ja nakon povratka ovaj članak obogatim dodatnim informacijama ili
čak napišem još jedan članak (npr. ukoliko u Genevi dobijem test sample – nešto
u što živo sumnjam). Jedno je sigurno – vodeće svjetske stranice poput Anandtecha
imat će puno bogatije članke jer su oni dobili same kartice na test, dakle bili
su u prilici izvrtiti sve bencheve, provjeriti kvalitetu slike i sl.
PC Ekspert će taj dio napraviti tek kad nam u ruke sleti sama kartica.

Prva stvar s kojom ću se pozbaviti jest CineFX 3.0, tj. novi engine
koji stoji iza NV40.

 

CineFX 3.0 i Intellisample 3.0

CineFX 3.0 engine je ono što realno čini NV40. CineFX 3.0 je mozak
nove uzdanice tvrtke NVIDIA – hardveraj je pak tijelo koje izvršava
ono što mozak kaže. CineFX 3.0 prvi na tržištu donosi potpunu podršku za DirectX9.0
Vertex i Pixel Shader Modele 3.0. Uz SM3.0 tu je i podrška za OpenGL 1.5 te
podrška za shader jezike poput Cg-a, GLSL-a (OpenGL Shader Language) i HLSL-a
(High-Level Shader Language). Intellisample 3.0 tehnologija je pak tu da optimizira
efikasnost memorije i da omogući još bolju iskoristivost postojećih tehnologija
za kvalitetu slike.

Vertex Shader 3.0

Vertex Shader Model 3.0 podrška proizlazi iz činjenice da CineFX
3.0 podržava praktično neograničeno duge vertex programe i dynamic flow control.
Neograničeno dugi vertex programi omogućavaju developerima da kompleksne efekte
reliziraju putem jednog programa, dok su se do sada morali oslanjati na kombinaciju
različitih shader programa. Dynamic flow control nudi programerima više opcija
za pisanje efikasnih shader programa kroz nove instrukcije, dodatne opcije za
granjanje i looping i sl. Stvar koja se meni pak posebno sviđa kod CineFX 3.0
enginea je displacement mapping.

Displacement mapping je tehnika koja eliminira glatke, dosadne,
površine kroz "ljepljenje" tekstura na vertexe. Drugim riječima, displacement
mapping omogućuje izradu likova bogatih detaljima (utorima, uvalama, itd.),
a da pri tome nije potrebno računati geometriju. Uz to, ovi detalji reagiraju
i na izvore svjetla čime se dobivaju još realističniji modeli.

Zli čika dinosaur bogat borama

Zadnja stvar vezana uz Vertex Shader 3.0 je Vertex Frequency Stream
Divider. Ova stvarčica dugog imena omogućuje programerima da isti lik izrendaju
n puta i time ostvare veliku uštedu, tj. dobrano zarade na performansama. Npr.
jedno te isto drvo grafička izrenda 100 puta i onda svako od tih drva
"pukne" na druge koordinate – rezultat toga je lijepa šuma od 100
drveća. Ljepota cijele stvari je što se ti "klonovi" mogu razlikovati
ne samo po koordinatama gdje su postavljeni, već i po boji i sličnim stvarima.
Ušteda proizlazi iz "masovne proizvodnje" – rendanje gomile
istih objekata koji se onda "personaliziraju" efikasnije je zbog manjeg
overheada nego da se stvari rade na način "rendaj objekt,
personaliziraj ga, rendaj drugi, personaliziraj taj,…"