Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor

[es] :: 3D programiranje :: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor
(TOP topic, by reject)
Strane: 1 2

[ Pregleda: 21143 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.hsd1.wa.comcast.net.



+18 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor08.06.2006. u 17:57 - pre 217 meseci
Hehe, stvarno dosta pitanja :)

Kod samog APIja, prakticno sve je jeftinije: razlog za to je nova arhitektura DX-a (neki cesti pozivi se sada izvrsavaju za manje od 100 ciklusa u d3d10core.dll-u), i nov drajver model (VDDM). Nov drajver model je inace razlog zbog cega je D3D10 samo namenjen za Vistu. Potrebni su novi drajveri da bi se ovo dobilo, i nov Microsoftov lejer u kernelu i user modu da bi ovo radilo.

Medjutim, glavni razlog zbog cega je D3D10 brzi od D3D9 je u fleksibilnosti samog API-ja. Primera radi, uveli smo ideju niza tekstura. Nizovi tekstura mogu da se zakace na obican texture slot (znaci ponasaju se kao da je jedna tekstura), ali su zato indexibilni iz shadera. To znaci da mozes da imas shader koji ce sam da bira koju teksturu da primeni na nekom objektu – ovo ranije nije bilo moguce. Samo ovom promenom se smanjuje broj neophodnih promena stanja.

Jos jedan primer je geometry shader: nov tip sejdera koji sedi izmedju VS i PS-a (dakle ide VS-GS-PS), i koji ‘vidi’ celu primitivu na kojoj radi, kao i njene susede. To znaci da neke kalkulacije mozes da uradis na nivou primitive umesto na nivou vertexa – eto ubrzanja od 3x. GS takodje moze da ispise proizvoljan broj primitiva, tako da mozes da napises GS koji uzima jednu tacku, i od nje generise sprajt (4 tacke). Ovim se dobija da mnogo manje podataka moras da saljes GPU-u kao i to da mozes da radis odredjene efekte kompletno na GPU-u: recimo particle systems, limitiran vid teselacije (posto vidis susede, mozes da ‘zaoblis’ trougao), itd.

Znaci na GS-u mozes da uradis efekte za koji su ti ranije bili potrebni dodatni pass-ovi ili racunanje na CPU-u.

Sada imamo i univerzalnost resursa – (skoro) svi D3D10 resursi su samo baferi, koji se onda kastuju u Vertex Buffers, Index Buffers, teksture, itd. GS moze opcionalno da upisuje podatke u neki drugi D3D10 resurs, i da onda taj drugi resurs ponovo provuce kroz pipeline. Znaci mozes da napises GS koji ce da ispuni VB i IB, i da onda ta dva ponovo provuces kroz pipeline – i to bez ikakve interkacije sa procesora (!). Ovo ti je instancing on steroids :)

Eto nama nekoliko pasova manje, i vise slobodnog CPU vremena, dakle igra radi brze. :)

Imamo nov shader model (4.0) koji omogucuje jos opstije shadere, prakticno bez limitacije duzine, sa jaaako dobrim flow controlom i branchingom, tako da ono sto si ranije radio u gomili sitnih shadera, sada mozes da uradis u jednom shaderu sa if / for petljama.
Problem specijalizacije shadera je i dalje tu, i to upravo sada i razmatram za DX11 – nisam zadovoljan fragment linkerom, i preporucujem ti da ga ne koristis ako ne moras, ili da iskompajliras shadere unapred ako je moguce.

Apropos rendering sistema – deferred shading ili direct ili hibridni – D3D10 to ne zanima. Ovo je vise platforma na kojoj mozes da napravis sta god hoces. Sve ovo sto sam naveo gore moze da bude korisno za bilo koj pristup renderingu. Znaci ne postoji neki metod koji D3D10 inherentno preferira.

Zbog svih ovih promena, ocekuje se drasticna promena engine designa, ali to je naravno i neminovno kada se donosi ovoliko novih featurea. Ne kazem da ljudi moraju da promene engine, ali ako ih ne promene, njihova konkurencija koja odluci da koristi D3D10 ce mnogo bolje proci. Ako ti je neka uteha, svi gamedev-ovi sa kojima sam pricao (mi smo u redovnom kontaktu sa triple-A developerima, community je u stvari jako mali) su presrecni idejom da mogu da isprobaju nove algoritme. Uostalom na E3-u smo imali nekoliko interesantnih demoa :)

Unified shader achitecture je definitivno interesantna arhitektura, ali to je implementacioni detalj (D3D10 to ne zanima). Ako neki proizvodjac hardvera misli da ce mu kartica bolje raditi ako je unified ili ne, to je njihova stvar. Kapitalizam pobedjuje.

Availability novog hardvera – pogadjas da je ovo top secret informacija nasih partnera, tako da na to pitanje ne mogu nista da kazem. Nama je inace zabranjen trading firmi koje se bave grafikom iz ovakvih razloga :/

D3D10 on 360 – no comment. :)

Fallback – ne moze tehnicki da se izvede; D3D10 je suvise drugacije. D3D9 hardvera nema nista od onoga sto sam gore napisao. Drajveri ce morati da se prave i za D3D9 i D3D10, ali to je standardna stvar svaki put kada izadje nov D3D.

Transition time je malo teze predvideti ovaj put jer u igru ulazi Vista – sa jedne strane D3D10 je Vista only, ali sa druge strane ovo je prvi put da sam OS zahteva graficki hardver, tako da to moze da podigne adoption rate. Izlazak novog OSa takodje dosta povecava prodaju novih racunara… Moj licni ‘gut feeling’ je dve godine posle Vista releasea.

To je jedna zeznuta stvar sa radom na D3D-u: znas da sve sto radis jeste interesantno, ali ce proci mnoogo dugo pre nego sto postane mainstream. Zavrsis proizvod i onda cekas dve godine. Ali, bice, bice… :)
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
...52.130.235.dc.telemach.net.



+1 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor08.06.2006. u 22:16 - pre 217 meseci
Ej, hvala na odgovorima!

Citat:
Medjutim, glavni razlog zbog cega je D3D10 brzi od D3D9 je u fleksibilnosti samog API-ja. Primera radi, uveli smo ideju niza tekstura. Nizovi tekstura mogu da se zakace na obican texture slot (znaci ponasaju se kao da je jedna tekstura), ali su zato indexibilni iz shadera. To znaci da mozes da imas shader koji ce sam da bira koju teksturu da primeni na nekom objektu – ovo ranije nije bilo moguce. Samo ovom promenom se smanjuje broj neophodnih promena stanja.


Uh, to je super, time mogu da se zbudze razne stvari - npr neka opasna tile-mapping tehnika - el to radi i u vertex i u pixel shaderima? (Da li je moguc texture sampling u GS-u? - da li je slucajno latency texture samplinga u VS-u manji ili je to do hardvera i mora tako?) Koliko maximum tekstura moze da se indeksira? Da li to vazi i za 3d texture, ili je to 'ispod haube' neka modifikacija samplinga 3d texture tako da je z zapravo index vise 2d texture-lejera?

Citat:
Znaci mozes da napises GS koji ce da ispuni VB i IB, i da onda ta dva ponovo provuces kroz pipeline – i to bez ikakve interkacije sa procesora (!). Ovo ti je instancing on steroids :)


Wow, super! To otvara raznorazne mogucnosti. Steta sto nemam mnogo prilike da radim rendering... bice do tada, valjda.. :)

i da, umalo da zaboravim, sta sta je bolje, opengl ili directx? ;)
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com.



+18 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor08.06.2006. u 22:53 - pre 217 meseci
Semplovanje tekstura je dozvoljeno (brzina je implementacioni detalj) u sva tri shadera. Maksimalno mozes da indeksiras 128 tekstura po shaderu (PS-VS-GS), a svaki slot moze da sadrzi niz od do 512 tekstura. 3D teksture nisu nista specijalno.

A za OGL vs D3D10 - to je pitanje za advocacy. Mislim da je sa tehnicke strane sve dovoljno jasno :p

Cross postovacu ovo u 3D programiranje, mislim da i njih tamo ovo moze da zanima.
 
Odgovor na temu

Filip Strugar
Filip Strugar
UK

Član broj: 9871
Poruke: 383
...52.130.235.dc.telemach.net.



+1 Profil

icon Re: Direct3D 10 - novosti u odnosu na D3D912.06.2006. u 21:28 - pre 217 meseci
Jos jedno pitanje!

Citat:
Sada imamo i univerzalnost resursa – (skoro) svi D3D10 resursi su samo baferi, koji se onda kastuju u Vertex Buffers, Index Buffers, teksture, itd.


Da li se svi mip-leveli texture cuvaju u tom jednom bufferu? Tojest, da li moras texturi assignovati buffere za svaki surface level ili moze sve odjednom?
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com.



+18 Profil

icon Re: Direct3D 10 - novosti u odnosu na D3D912.06.2006. u 22:18 - pre 217 meseci
Svi mip leveli su u istom baferu. Znaci, velicina bafera je na primer 128*128 + 64*64 + 32*32 + .. + 1*1 * sizeof(texel) bajta. Ako zelis da updateujes samo jedan deo bafera, mozes i to.
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
67.151.201.*

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor27.06.2006. u 18:51 - pre 217 meseci
The People Behind DirectX 10—Part 1: Microsoft
http://www.extremetech.com/article2/0,1697,1982041,00.asp
 
Odgovor na temu

isatche
Ivan Isakovic
Graficki/web dizajner
Beograd

Član broj: 36962
Poruke: 8
62.193.143.*



Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor29.06.2006. u 22:57 - pre 216 meseci
Relja, hvala ti MNOGO na vise nego opsirnom odgovoru!
Seize that cursed wizard before he cast a spell
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.hsd1.ca.comcast.net.

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor18.08.2006. u 06:12 - pre 215 meseci
DX10 hype:
http://blogs.technet.com/windowsvista/articles/447226.aspx
 
Odgovor na temu

camp
Ne mogu da trijangulisem!

Član broj: 8291
Poruke: 79
168.120.17.*



+3 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor09.10.2006. u 09:12 - pre 213 meseci
ja planiram da pocenm da ucim dx9, studiram trenutno, ima li smisla uciti ga ako ce dx10 da izadje i verovatno ce biti drasticnih izmena u sintaksi i principima "crtanja" linija na ekranu, dodavanje extra fx... i uopste toga sto je pisan iz pocetka, znaci li to da ce sve biti drugacije i da bi trebalo da sacekam dx10 tutorijale i knjige ili? jer planirao bih da naucim to, ali ne bih da gubim vreme sa necim sto ce biti obsoletno posto bih mogao da naucim neke druge stvari koje bi mi mogle koristiti vise, itd?
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor09.10.2006. u 11:22 - pre 213 meseci
Šta god da naučiš, imaće svoju primenu kasnije. To je neki generalni savet...
DX9? Možeš da ga učiš, biće koristan ako budeš učio DX10. U stvari, možeš da učiš i DX8 pa i starije...
API postaju moćniji u smislu što omogućavaju da se urade stvari koje su ranije bile nemoguće na
isti/sličan način. DX10 će ti omogućiti da napraviš efekte koji nisu bili mogući sa DX9 i ranijima, ali
to ti nije ni malo bitno ako ne razumeš teorijsku osnovu tih efekata.
Dakle slobodno uči šta god ti padne pod ruke :)
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
195.252.89.*



Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor12.10.2006. u 10:20 - pre 213 meseci
Jel moze neko da kaze kako se DX10 snalazi u SLI modovima? Da li postoji podesavanje GPU afiniteta? Npr.. da li je moguce da biram koje cu draw pozoive da radim na GPU1, a koje na GPU2. Ovo bi moglo korisno za rendering shadow mapa scene dok drugi GPU renderuje ostatak.

 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor12.10.2006. u 11:34 - pre 213 meseci
Nisam siguran koliko je to ok rešenje. Shadow mapa će se, sve jedno, izrenderovati drastično brže od ostatka scene.
Budući da si hteo da radiš rendering scene i shadow mape paralelno, pretpostavljam da je shadow mapa jedan frejm unapred?
Ako je to slučaj, već imaš optimalno rešenje za shadow mapu. Generalno će GPU morati da čeka da se rendering
shadow mape završi da bi je bindovao kao teksturu i tu nastaje stall. Sa renderingom senke unapred možeš mnogo
ubrzati stvari, meni je zbog ovakvog scenarija FPS jednom skočio tri puta i aplikacija je iz GPU prešla u CPU bound!
Dakle stari dobri double buffer je zakon :)
SLI bih ostavio da sam "mozga" šta treba da radi, stvari počinju preterano da se komplikuju sa svim tim inovacijama hardware-a...
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.dynamic.sbb.co.yu.



Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor12.10.2006. u 12:13 - pre 213 meseci
Ovo sa shadow mapom je samo jedan od primera. To moze da se koristi i u druge svrhe...

Ovo me interesuje jer NVidia planira da izbaci OGL extenziju koja regulise GPU afinintet tako da mozes da balansiras load GPU-a iz aplikacije. Obzirom na to da je SLI/Crossfire vec dugo na sceni cudi me da DX10 tim nije uzeo i ovo u obzir.
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
67.151.201.*

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor14.12.2006. u 18:39 - pre 211 meseci
December 2006 DirectX SDK Downloads
http://msdn.microsoft.com/directx/sdk/


 
Odgovor na temu

[es] :: 3D programiranje :: izlazi DX10 i poteze neka pitanja na koje bih zeleo odgovor
(TOP topic, by reject)
Strane: 1 2

[ Pregleda: 21143 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.