Microsoft geeft ontwikkelaars vooruitblik op Direct3D 10

Microsoft heeft op zijn website de meest recente versie van de DirectX Software Development Kit (SDK) geplaatst. Het voornaamste nieuwe onderdeel van deze release van de SDK is het referentiemateriaal, conceptuele content, ontwikkellibrary's, tutorials en stukken voorbeeldcode voor Direct3D 10. Om deze code te draaien, is de Community Technology Preview van december 2005 van Windows Vista benodigd, die aan MSDN-gebruikers beschikbaar gesteld zal worden. Op dit moment is er nog geen hardware te koop met ondersteuning voor de nieuwe functies in Direct3D 10 en er zal daarom teruggevallen worden op softwarerendering voor het geval de benodigde hardware afwezig is. Een bijgewerkte feature van de DirectX SDK is Microsoft Cross-Platform Audio Creation Tool (XACT Beta). Dit stukje software dook voor het eerst op in de oktoberrelease van de DirectX SDK en kan gebruikt worden om geluiden en geluidseffecten te creëren voor gebruik in games.

Microsoft DirectXEen ander bijgewerkt onderdeel van de Software Development Kit is de verbeterde ondersteuning voor het gebruik van versie 2.0 van het .NET Framework in combinatie met managed DirectX-code. Verder zorgt de installatie van deze update ervoor dat enkele nieuwe features van het .NET Framework, zoals generics, ook in managed DirectX-code gebruikt kunnen worden. Verder biedt deze release van de DirectX SDK de mogelijkheid om de functionaliteit van de Windows Vista Game Explorer ten volle te benutten. Met behulp daarvan kan een updatefunctie voor games geschreven worden en kunnen 'parental controls' aan games toegevoegd worden. Daarnaast is PIX, een tool dat gebruikt kan worden om de prestaties van Direct3D-applicaties te monitoren en te verbeteren, bijgewerkt met een tweetal workflowverbeteringen. De DirectX SDK kan vanaf deze pagina gedownload worden.

Door Harm Hilvers

Freelance nieuwsposter

14-12-2005 • 23:06

25

Bron: Microsoft

Reacties (25)

25
25
10
1
0
11
Wijzig sortering
Voor de proggers onder ons, op het GameDev.net forum loopt er een thread waar ook een link naar deze pagina te vinden is:

Vertexbuffers in DX10

Waar duidelijk de verschillen in de vertexbuffer interfaces aangekaart worden.
waarom terug vallen op software rendering en niet naar een soort emulatie van dx9 zodat je iig hardwarematig bezig kan blijven
edit:
en/of je huidige DX9 kaart nog ff kan blijven gebruiken
? Lijkt mij dat dat ten alle tijden sneller is dan softwarematige rendering of zie ik dat verkeerd....:?
Hoe wil je dat doen dan? Een scène eerst hardwarematig renderen met de DX9 functies, en dan softwarematig om de nieuwe DX10 functies er overheen te trekken?

Dit is IMHO onmogelijk.
edit@catfish:

Ja, emuleren, maar dat is nog altijd via een software driver, zodat de CPU al het rekenwerk verricht.
Fallback.

Dit is feitelijk wat de meeste games nu zelf doen.

Ondersteund de GPU DX-10 functionaliteit?
Indien niet; ondersteund de GPU equivalente DX-9 functionaliteit?
Indien ook niet: doe dan maar softwarematig.

Je zoekt gewoon naar de best mogelijke functionaliteit die nog door de GPU ondersteund wordt en gebruikt die.

Nadeel als DX dit doet is dat DX niet met zekerheid kan zeggen of bepaalde DX-9 functionaliteit ook daadwerkelijk equivalent is aan DX-10 functionaliteit voor élke bestaande grafische kaart.

Wat je tegenwoordig ook vaak ziet is dat de grafische drivers dit werk al uit handen nemen door zélf een dergelijk fallback mechanisme af te handelen, aangezien de producenten van de drivers slechts met hun eigen hardware te maken hebben. De driver maakt dus de keuze hoe (via hardware, software of een combinatie) de DX-10 functionaliteit wordt ondersteund voor elk afzonderlijk GPU type.
Onzin, veel features die niet door hardware worden aangeboden kunnen niet zomaar door software afgehandeld worden. Denk hierbij aan pixelshaderversies die niet worden ondersteund, FSAA, anisotropic filtering, floating point buffers, etc.. Het enige dat softwarematig afgevangen kan worden is het transformeren van vertices (oftewel de vertex shaders)

Over het algemeen heb je de keuze tussen óf alles in hardware, óf alles in software, en daar alles in software natuurlijk rete-langzaam is wordt die optie ook niet geboden in games.
Op dit moment is er nog geen hardware te koop met ondersteuning voor de nieuwe functies in Direct3D 10 en er zal daarom teruggevallen worden op softwarerendering voor het geval de benodigde hardware afwezig is.
Je maakt een nieuwe versie van een stuurprogramma omdat je dingen wilt toevoegen.
De hardware van nu kan omgaan met Pixelshader 3 maar als in DX10 mogelijkheden komen voor versie 4 dan is het niet mogelijk omdat hardware matig te doen.
Dus zolang de hardware het niet kan moet het softwarematig!
Dit gebereurt nu trouwens ook nog best vaak. Als je bij sommige kaarten kijkt zie je dat de DX8 of 9 compatible zijn. Dit wil zeggen dat er een aantal zaken zijn die niet door de hardware kan worden gedaan om dat het te duur is omdat in te bakken. Dan laten ze die specifieke berekeningen door de CPU doen.
Hierdoor ben je wel compatible, je voert de berekeing uit, maar hebt het niet in de hardware zitten.

Volgens mij doen ze het hier net zo. Alles wat ondersteund wordt in de hardeware en de rest door de software.
incorrect.

wanneer een game detecteert dat je een directx8 compatible kaart hebt en het is een directx9 gebaseerd spel, dan zal het OF niet draaien, OF de dx9 functies worden uitgeschakeld en/of vervangen door de dx8 varianten, die meestal een mindere beeldkwaliteit opleveren.

een CPU kan geen "stukjes" van je frame nemen en die bijwerken, dit zou veel te veel latency opleveren.

wat natuurlijk wel kan is dat de CPU meteen alles voor zijn rekening neemt, maar dit levert uiteraard belachelijk lage framerates op. (denk aan 3dmark CPU tests)
Anoniem: 87832 @simen15 december 2005 14:42
@simen:

Lulkoek.

Veel functionaliteit op grafische kaarten hebben niet direct toegang tot de framebuffer nodig. Het is prima mogelijk om bepaalde wiskundige handelingen te offloaden naar CPU. Ook kan je textures in CPU bewerken (ter vervanging van bepaalde shaders) en het eindresultaat hiervan aan de GPU aanbieden.
Niet élke operatie zal geschikt zijn om zo afwisselend door CPU/GPU te worden uitgevoerd, maar het is absoluut niet zo dat je óf volledig software óf volledig hardware rendering moet doen.
Anoniem: 62215 @simen15 december 2005 16:16
[mode offtopic]

Iemand zich ooit af durven vragen waar het woord "Lulkoek" vandaan komt? :z
[/mode offtopic]
.oisyn Moderator Devschuur® @simen15 december 2005 17:45
mwvdlee: en heb je enig idee hoe langzaam dat is? Denk het niet, anders poste je het hier niet :)
dat gaan ze ook doen
intern werkt Vista met DX10, welke nieuwe functies heeft, maar daarboven draait een schil die DX9 kan emuleren zodat we ook (oude) games kunnen draaien

huidige kaarten werken uiteraard ook met DX10, alleen ondersteunen ze niet alle functies
Microsoft doet er wel echt alles aan om game developers te verleiden tot het ontwikkelen van Windows-Only (TM) games. Ze bieden zelfs een audio developers kit (Zou mij niet verbazen dat die geluiden alleen op DirectX werken) ... Alsof de spellen fabrikanten niet hun eigen software hebben om geluideffecten mee te maken... :?

Hopelijk blijven nieuwe spellen ook een OpenGL rendering backend aanbieden.
en wie hield open gl in leven toen de zaak bijna dood was?
Juist ja...
MS heeft belang bij openGL zodat er een alternatief is. Maar openGL mag niet "te" successvol zijn. Ze willen het in leven houden maar het liefst in kunstmatige coma.

Deze strategie kun je ook zien met Apple, linux etc..
onderdrukken maar niet doodmaken is het beste als je jezelf wilt kunnen indekken tegen "monopolisme"
Want nu kunnen ze nog zeggen .. kijk maar alternatieven zat! (dat door MS en de consuments toedoen de alternatieven niet realiseerbaar/praktisch/efficient zijn doet er niet toe)
en wie hield open gl in leven toen de zaak bijna dood was?
Geen idee, de paashaas?
nouja het zou toch een flinke poos duren voordat er werkelijk DX10 kaartjes te krijgen zijn plus DX10 spellen.

ik denk at 3dmark06 of 07 het eerst gebruik zal maken van de nieuwe features (en dan heeft merendeel van de gamers nog lang geen dx10 kaart)
de G80 stond voor volgend jaar gepland toch? ik verwacht eigenlijk dat het erg snel zal gaan.
Zolang Vista er niet is hebben we niks aan dx10 kaarten.
Anoniem: 154705 14 december 2005 23:12
Zo zo. Ik zie SM 4.0 steeds dichterbij komen. Ben benieuwd wat voor shaderfuncties ze daar weer me uit kunnen persen. Kan niet wachten op zoiets als een photon-based lightningshader. Mocht dat met shader te programmeren zijn uiteraard.
Dit gaat om de SDK, niet om DX10 zelf (ietwat verwarrende titel)
Dient de SDK dan niet om shaders mee te programmeren voor spellen of andere grafische programma's, of zit ik daar mis?
in deze SDK zitten nieuwe functies voor DX10 en aangezien je ook moet kunnen testen wat je maakt zit er een soort DX10 in (die, zoals in het artikel staat, software redering gebruikt indien nodig)

je kan er idd dus nieuwe effecten mee maken/testen/ZIEN
Ik hoop deze nieuwe direct X nu wel snel in games zal worden toegepast ivm. met de oudere DirectX emulatie in Vista. Na de introductie van DirectX 9 duurde het mij veels te lang.
volgens diverse blogs zal er geen Direct X 10 uit komen voor XP of 2000, alleen Vista. Spelmakers zullen dus nog wel even op Direct X 9 blijven omdat die markt het grootst is.
Een ander bijgewerkt onderdeel van de Software Development Kit is de verbeterde ondersteuning voor het gebruik van versie 2.0 van het .NET Framework in combinatie met managed DirectX-code.
En weer is de kans kleiner geworden dat er games op linux komen (voor mij de enige reden dat ik nog window$ draai).
Mss een beetje off-topic, maar mijns inziens is een van de belangrijkste redenen dat linux nog niet "mainstream" is, is dat er (zo goed als) geen games voor zijn.

just my 0.02$

Op dit item kan niet meer gereageerd worden.