[ isatche @ 29.04.2006. 16:16 ] @
http://news.softpedia.com/news...X-10-and-so-it-ends-7762.shtml

1. Sta ovo sada znaci?
2. Na visti ce se sve dosadasnje igre igrati preko emulatora?
3. Ako bi sada neki tim hteo da napravi igru, mora prvo da radi DX10 engine (posto ih nema u prodaji koliko znam)?
4. Zasto bi iko radio DX9 igru od sada?
5. Ako i nabavim DX10 igru, da li ce mi trebati i neka DX10 kartica?
[ reject @ 29.04.2006. 19:42 ] @
Pa dobro, to se jednom moralo desiti. :)
U svakom slucaju, bice zanimljivo sta ce se desavati dalje...
[ bkaradzic @ 29.04.2006. 21:04 ] @
Citat:
3. Ako bi sada neki tim hteo da napravi igru, mora prvo da radi DX10 engine (posto ih nema u prodaji koliko znam)?

Pa radiš DX9 dok ne izađe DX10, pa posle portuješ na DX10 ako ti je to jako bitno. Tranzicija sa DX7 na DX8 je bila prilično jednostavna, sa DX8 na DX9 veoma jednostavna, sa DX9 na DX10 će verovatno biti praktično neprimetna.
Citat:
4. Zasto bi iko radio DX9 igru od sada?

Zato što će tranzicija na Vistu trajati najmanje 3-4 godine pa ima smisla podržavati XP i DX8-DX9.
[ isatche @ 30.04.2006. 00:51 ] @
Citat:
sa DX9 na DX10 će verovatno biti praktično neprimetna.


Iskreno sumnjam s obzirom da su rekli da ova verzija nece biti kompatibilna ni sa jednom ranije, da je pisana potpuno iz pocetka i da se zove DirectX10 samo zbog tradicije, inace nema nikakve veze sa ostalim DX verzijama.
[ Filip Strugar @ 01.05.2006. 00:26 ] @
Citat:
isatche: Iskreno sumnjam s obzirom da su rekli da ova verzija nece biti kompatibilna ni sa jednom ranije, da je pisana potpuno iz pocetka i da se zove DirectX10 samo zbog tradicije, inace nema nikakve veze sa ostalim DX verzijama.


Normalno da nije tako - razlike uopste nisu toliko drasticne.

Uostalom, mozes skinuti novi DirectX SDK koji u sebi ima DX10 preview pa proceni sam.
[ Yu Raider @ 02.05.2006. 22:44 ] @
Emulator?

Da li to znaci 50% sporije?

Onda definitivno jednom i za svagda prelazim na Linux.
[ reject @ 02.05.2006. 22:52 ] @
Nigde ne pise da ce ista biti sporije, naprotiv.
[ Filip Strugar @ 03.05.2006. 12:12 ] @
Citat:
Yu Raider: Emulator?

Da li to znaci 50% sporije?

Onda definitivno jednom i za svagda prelazim na Linux.


Nesto si pobrkao? Kakav emulator?
[ Yu Raider @ 03.05.2006. 18:38 ] @
Citat:
isatche: http://news.softpedia.com/news...X-10-and-so-it-ends-7762.shtml

1. Sta ovo sada znaci?
2. Na visti ce se sve dosadasnje igre igrati preko emulatora?
3. Ako bi sada neki tim hteo da napravi igru, mora prvo da radi DX10 engine (posto ih nema u prodaji koliko znam)?
4. Zasto bi iko radio DX9 igru od sada?
5. Ako i nabavim DX10 igru, da li ce mi trebati i neka DX10 kartica?


Citat:


Filip Strugar: Nesto si pobrkao? Kakav emulator?


...
[ Filip Strugar @ 03.05.2006. 21:55 ] @
Ah sorry. :)

Ne, nema nikakvog 'emulatora', ne treba se uzbudjivati oko takvih stvari - pa nisu blesavi da izbace novi operativni sistem koji bi puštao igre primetno sporije od prethodnog... Tamo na zapadu moraš makar tolko da poštuješ kupca jer će da ti vrati CD u prodavnicu pa se ti posle slikaj.

Ukratko, svi zaključci to sa tog spiska i iz teksta sa navedenog linka su preterivanje - neće se desiti ništa spektakularno, nego ljudi eto vole da preteruju.
[ Boris Sundic @ 04.05.2006. 00:43 ] @
Mada je moguce da ce biti problema sa portovanjem ako bude nekih revolucionarnih promjena kao sto je bilo sa DirectDrawom u, ne sjecam se dobro ali mislim da je bio DX7 na DX8 (ili mozda 8 na 9 ali nije bilo tako skoro), kada su ubacili DirectGraphics i 2d nisi mogao bez 3d moda da radis ili sta li vec, znam samo da sam odustao od portovanja.
[ isatche @ 05.05.2006. 18:07 ] @
S obzirom na to da nemam utisak da ste procitali tekst sa linka koji sam ostavio i da pricate napamet, moracu malo da citiram...

- Zbog ovog dela nisam siguran da ce tako lako da ide konverzija i da ce biti potrebna neka vrsta emulatora.
"Microsoft has decided that backward compatibly with DirectX 9,8,7 isn't really necessary as there will probably will be even less compatible with Vista"


Citat:
Filip StrugarNe, nema nikakvog 'emulatora', ne treba se uzbudjivati oko takvih stvari

- Sto se tog dela o emulaciji starih DX verzija tice:
"Some sort of “compatibility” will be available through a software layer (probably some emulation) which will have its price in system resources, as it will run much slower."

Znaci da NECE brze raditi stare igre, nego bi DX10 brze radio na visti nego sto bi radio na XP koliko sam ja shvatio.
[ Filip Strugar @ 06.05.2006. 08:51 ] @
Citat:
isatche: S obzirom na to da nemam utisak da ste procitali tekst sa linka koji sam ostavio i da pricate napamet, moracu malo da citiram...


Trazio si necije misljenje a ne prepev tog teksta (koji je, btw, necije rekla-kazala). Ako te ne interesuju druga misljenja, zasto postavljas pitanje?

U svakom slucaju, Microsoft nece sebi pucati u nogu i izbaciti novi operativni sistem na kome neces moci da se igras skoro isto dobro kao i na starom. (Naravno, nista ga ne sprecava da slabo podrzi Dx10 pod WinXP-om da bi korisnike postepeno naterao na prelazak na Vistu)

Sto se programiranja tice - ako se titlovi portuju sa xbox-a na ps, gde je razlika drasticna, zasto se ti uzbudjujes oko porta Dx9->Dx10, gde je razlika minimalna?

Kako god, vec je neko rekao, prelaz na Vistu ce ici postepeno i trajati godinama, vise nego dovoljno da se svaki developer snadje.

evo i jedan informativni link: http://en.wikipedia.org/wiki/DirectX
[ isatche @ 06.05.2006. 23:02 ] @
Dobro de, sta si se uzbudio, sve je u redu... dishi... polako... eto sada je bolje :D
Zanima me odakle ti informacija da je razlika izmedju DX9 i DX10 minimalna, posalji mi neki konkretan link gde si to saznao, bio bih ti zahvalan.
[ Filip Strugar @ 07.05.2006. 10:54 ] @
Citat:
isatche: Dobro de, sta si se uzbudio, sve je u redu... dishi... polako... eto sada je bolje :D


:)

Citat:
Zanima me odakle ti informacija da je razlika izmedju DX9 i DX10 minimalna, posalji mi neki konkretan link gde si to saznao, bio bih ti zahvalan.


Kao sto rekoh

Citat:
Uostalom, mozes skinuti novi DirectX SDK koji u sebi ima DX10 preview pa proceni sam.


Da li te zanimaju razlike iz developer's ili gamer's perspektive?
[ bkaradzic @ 31.05.2006. 05:27 ] @
Interesantan članak za sve koje zanima kako će "starije" (čitaj: XP) igre raditi na Vista-i.

Citat:
Will Vista Run Your Games?

We feel that Beta 2 is the appropriate time to start looking at compatibility and performance issues in Vista, and that goes for gaming (one of the big selling points of Vista) as well. So we spent the better part of a week installing a bunch of modern, popular games on the upcoming OS, noting what works and what doesn't, and trying to find some simple workarounds.

http://www.extremetech.com/article2/0,1697,1968995,00.asp
[ tosa @ 31.05.2006. 06:01 ] @
Dakle nikakvi problemi.. Problemi slilčne prirode su bili tu i kada je izašao XP.
Starforce je definitivno pukao ;)
[ Filip Strugar @ 31.05.2006. 09:21 ] @
Pa normalno. Nego ljudi vole senzacije tipa 'Novi zli operativni sistem, nista tu nece raditi to je zavera microsofta da te natera da kupis novi hardver bla bla'..

cudno mi je ovo iz teksta:
Citat:
It varies from game to game, but it seems as though turning on anti-aliasing and anisotropic filtering cause the biggest performance problems.


zasto bi takav gpu-only feature uticao na performance na visti? mislim da su reviewer-i nesto pobrkali. bilo bi lepo da su uporedili fps izmedju xp-a i viste.
[ Reljam @ 07.06.2006. 06:01 ] @
Ok, posle malo duzeg odsustva sa ESa, taman sam se odlucio da se ponovo aktiviram i eto bas se nadje dobar topic :)

Ja sam inace development lead jednog od dva tima koji sacinjavaju Direct3D. Zadnje dve i po godine radim na DirectX-u 10.

Dakle: DX10 je pisan ispocetka, sam API je dosta brzi od DX9, ali zahteva DX10 kartice koje se jos uvek nisu pojavile na trzistu. Sam API je, kao i hardver, potpuno drugaciji od onoga sto imamo sada (DX9). Ovo ne znaci da Vista nece moci da startuje DX9: DX9 ce paralelno sa DX10 biti podrzan u Windowsu Visti. DX9 igre ce koristiti DX9, a nove DX10 igre ce koristiti DX10. Ni jedan ni drugi API nisu podredjeni niti emulirani, vec rade maksimalnom brzinom koja je moguca. Ono sto jeste drugacije u Visti je to da se sada i graficki hardver virtualizuje (do sada su, izmedju ostalih, CPU, memorija i disk bili virtualizovani, a sada je red i na GPU), ali igre ce i dalje raditi.

Sto se performansi i kompatibilnosti tice, na tome i dalje dosta radimo, tako da Betu 2 treba shvatiti upravo tako - kao Betu 2, a ne kao konacnu verziju.

Znaci: nema zavere, sve ce i dalje da radi kako treba, a ono sto trenutno ne radi u beti 2, to pokusavamo da sredimo. Nove DX10 igre kao one o kojima se pricalo na E3-u ce uskoro poceti da se pojavljuju.
[ Filip Strugar @ 08.06.2006. 16:49 ] @
Wow, odgovor iz prve ruke - ne moze direktnije! :)

Ajde, ako te ne mrzi, reci nam koje su najvece razlike izmedju 9ke i 10ke, sa developer's perspective, i u kom pravcu se krecu stvari (ako ti je, jelte, uopste dozvoljeno da o tome pricas)?

Na primer, konkretno, ako sam dobro razumeo jedna od glavnih stvari 10ke treba da bude jeftiniji batch-evi - sta to konkretno znaci, sta je jeftinije (a sta, ako nesto, skuplje)? Da li ce promene shejdera, textura, stejtova biti jeftinije? Da li ce dynamic vertex buffer writes biti jeftiniji, (npr za instancing), ili ce register writes biti jeftiniji, dynamic texture, itd?

Kako ce se u buducnosti resavati potreba za kompleksnijim shaderima - da li ce se koristi fragment linker, ili ce branching biti isplativiji, ili nesto trece (neki shader-lib-functions-calls)? - dakle, kako se menja balans cena, ako se menja, i u kom pravcu treba razmisljati - deferred shading ili per/object ili mozda neki per/light rendering sistemi?

Da li unified shader architecture treba samo da izbalansira iskoriscenje hardvera izmedju ps-intensive i vs-intensive programa ili je rec o necemu vecem?

Generalno, da li se ocekuje neka drasticnija promena sa engine design perspektive?


Ee, da, najbitnije pitanje: Kada izlazi hardver koji ce podrzavati DirectX10 i koliko je masivan? Kada se, na primer, ocekuje da intel izbaci integrisane kartice koje to podrzavaju? Da li postoji neki fallback za stariji hardver (pretpostavljam ne) ili _mora_ da se pise i DirectX9 drajver za njih?
Da li ce DirectX10 raditi na Xbox-u 360?

Koliki je otprilike ocekivani transition time - 2-5-10 godina - za neki mainstream PC market?


Eto, mnogo pitanja...
[ Reljam @ 08.06.2006. 17:57 ] @
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… :)
[ Filip Strugar @ 08.06.2006. 22:16 ] @
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? ;)
[ Reljam @ 08.06.2006. 22:53 ] @
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.
[ Filip Strugar @ 12.06.2006. 21:28 ] @
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?
[ Reljam @ 12.06.2006. 22:18 ] @
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.
[ bkaradzic @ 27.06.2006. 18:51 ] @
The People Behind DirectX 10—Part 1: Microsoft
http://www.extremetech.com/article2/0,1697,1982041,00.asp
[ isatche @ 29.06.2006. 22:57 ] @
Relja, hvala ti MNOGO na vise nego opsirnom odgovoru!
[ bkaradzic @ 18.08.2006. 06:12 ] @
DX10 hype:
http://blogs.technet.com/windowsvista/articles/447226.aspx
[ camp @ 09.10.2006. 09:12 ] @
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?
[ tosa @ 09.10.2006. 11:22 ] @
Š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 :)
[ yooyo @ 12.10.2006. 10:20 ] @
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.

[ tosa @ 12.10.2006. 11:34 ] @
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...
[ yooyo @ 12.10.2006. 12:13 ] @
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.
[ bkaradzic @ 14.12.2006. 18:39 ] @
December 2006 DirectX SDK Downloads
http://msdn.microsoft.com/directx/sdk/