Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 69 reacties
Bron: ExtremeTech, submitter: Silverado_NL

In een stevig interview met twee Microsoft-medewerkers schetst ExtremeTech een beeld van DirectX 10, de API waarmee gameprogrammeurs op gestandaardiseerde wijze de hardware van een computer voor hun spellen kunnen benutten. De opvolger van DirectX 9, die in Microsoft Vista zijn debuut zal beleven, biedt talloze nieuwe features, die echter niet allemaal even transparant zijn. Klopt, zegt ontwikkelaar David Blythe: 'De belangrijkste vernieuwing is dat er meer en complexere graphics mogelijk worden. Meer gras, mooiere begroeiing, meer rotsen, meer bomen.' Een van de uitgangspunten bij het bouwen van DirectX was de hoeveelheid ontwikkeltijd die spellenmakers aan de toegenomen complexiteit kunnen besteden: om de kosten in de hand te houden is het uiteraard belangrijk dat niet elk grassprietje apart geprogrammeerd moet worden.

DirectX 10-logo In samenwerking met IHV's en ISV's werden heel wat tekortkomingen van DirectX 9 aangepakt. Een consistente featureset is belangrijk: om DirectX 10 zo snel en zo breed mogelijk geaccepteerd te krijgen, moeten er niet elke week updates met nieuwe trucjes verschijnen. Er zijn maar drie zaken die aan de hardwarefabrikanten worden overgelaten, vertelt Blythe: het aantal samples voor multisample antialiasing, het blenden van 32bit floating-point render targets of color buffers, en het texture-filteren van 32bit texture formats, want het is erg duur om daar hardware bij te bouwen. De rest ligt vast in de specificaties, maar hoe de kaartenmakers de features implementeren is weer niet voorgeschreven. Er blijft dus genoeg speelruimte voor de IHV's over om zich van de concurrentie te onderscheiden.

Vernieuwingen als de nieuwe geometry shaders en een integer-instructieset zijn in eerste instantie onzichtbaar voor de consument, maar bieden wel een hoop nieuwe mogelijkheden - en moeilijkheden. Grafische kaarten worden in hoog tempo sneller, maar de hoeveelheid data die per seconde naar de gpu gestuurd kan worden blijft daarbij achter. Blythe geeft als voorbeeld dat HDR-data voortaan veel compacter kan worden opgeslagen. Daardoor zullen meer ontwikkelaars HDR-verlichting in hun games aanbrengen, hoopt hij. Zulke veranderingen ziet de consument wél, net als bijvoorbeeld de betere soft shadows die door de geometry shaders mogelijk worden gemaakt.

Crytek DirectX 10-demo Chris Donahue, die de zakelijke ontwikkeling van Microsofts spellenafdeling beheert, vertelt dat er ook met softwaremakers druk overlegd wordt: 'Met DirectX 9 zijn al spectaculaire resultaten te behalen - kijk maar naar Crysis. Met de nieuwe DirectX-versie zouden ze nog mooiere games kunnen maken, en voor anderen wordt het gemakkelijker om hetzelfde resultaat neer te zetten.' Verder wordt er steeds meer rekenwerk door de cpu uitbesteed aan de gpu en aan de nieuwe ppu's. Ook hier speelt de geheugenbandbreedte een grote rol: dankzij deze gespecialiseerde processors wordt functionaliteit toegevoegd die vroeger domweg te veel verkeer van en naar de cpu vergde.

Opmerkelijk is dat Microsoft zich met name op de veelzijdigheid van de gpu concentreert. Physics-kaarten zouden geen rol van betekenis in de DirectX-machine krijgen, al hoeven fabrikanten als Ageia niet direct te wanhopen. Tenslotte hebben zij al een bruikbaar product met bijbehorende API op de markt, terwijl DirectX 10 pas begin volgend jaar verschijnt. Bovendien is de kans dat DirectX 10 voor andere besturingssystemen verschijnt bepaald klein: veel van de functionaliteit van de nieuwe API werd ontsloten door het nieuwe drivermodel van Vista, en kan niet naar bijvoorbeeld XP geport worden zonder features te slachtofferen. Het valt mede daarom nog maar te bezien hoe lang het zal duren voordat games niet alleen gebruikmaken van de nieuwe mogelijkheden, maar ook niet meer werken zonder DirectX 10. Donahue verwacht dat het geen twee jaar meer zal duren voordat de eerste DX10-only-producten verschijnen. Opmerkelijk genoeg zou juist de consolemarkt als rem kunnen werken, zegt hij: 'Dat zijn DirectX 9-machines. Zodra iemand een spel voor meer platformen dan alleen de pc wil uitbrengen, moet hij dus al een DirectX 9-variant uitbrengen. Maar er zullen altijd jongens als die van Crytek blijven, die het onderste uit de kan willen krijgen. Als de hardwaresupport eenmaal op schot is, volgt DirectX 10-software vanzelf.'

DirectX 10-showcase: cube map, particles, instancing, shadow volume en displacment mapping

Lees meer over

Gerelateerde content

Alle gerelateerde content (28)
Moderatie-faq Wijzig weergave

Reacties (69)

ERGENS houd backwards compatibility op lijkt me. Ik vind het dan ook wel OK dat bij een nieuw OS een nieuwe DirectX uitkomt. Hoewel het natuurlijk niet de ontwikkeling van DX10 spellen bevorderd hebben we bij toekomstige versies er alleen maar profijt van dat DX10 nu zo rigoreus aangepast is.
DX10 is waarschijnlijk gewoon backwards compatible met alle voorgaande DX versies hoor. Je kan dus gewoon je oude spellen blijven spelen. DX is alleen niet forwards compatible, je kan dus geen DX10 spellen spelen als je DX9 geinstalleerd hebt. (tenzij de maker van het spel daar rekening mee houdt natuurlijk)
Wat Luuk bedoelt is dat dx10 niet backwards compatible is tov de hardware. Het zal onmogelijk zijn DX9 hardware werkend te krijgen onder de DX10 API, zoals dat momenteel nog wel mogelijk is met DX8 hardware onder de DX9 API.
Dus je beweert dat van alle videokaarten die nu op de markt zijn, geen enkele onder Vista DX10 werkend te krijgen is?

Volgens mij kun je straks gewoon met je DX9 kaartje Vista met DX10 draaien, alleen zal je in games die gebruik maken van bepaalde DX10 features deze features niet aan kunnen zetten bij de opties van dat spel, waardoor je niet meer met maximale kwaliteit en effecten kan spelen.
Dus je beweert dat van alle videokaarten die nu op de markt zijn, geen enkele onder Vista DX10 werkend te krijgen is?
Ja, Vista zal daarom gewoon DX9 supporten. Het is simpelweg niet mogelijk om DX10 met DX9 hardware te emuleren. DX10 ondersteunt SM 4.0, en aangezien je niet eens meer kunt opvragen met DX10 welke SM er door de hardware ondersteunt wordt schrijf je je code ook gewoon in SM 4.0 (als je DX10 draait heb je immers ook DX10 hardware). Dus leuk voor je dat je dat gelooft, maar het is gewoon niet zo :)
Wat een nonsense is dat. Met een cpu kun je ALLES emuleren.
Het kost misschien wel veel rekenkracht om die code uit te voeren met een oude gpu of veel tijd om zo'n emulator te schrijven, maar het is echt absolute onzin dat er ook maar iets niet geemuleerd zou kunnen worden.

Het zou dus best kunnen dat dergelijke emulatoren niet geschreven gaan worden, maar dat lijkt me eigenlijk nog veel duurder voor de samenleving als geheel en economisch gezien een bar slechte keuze.
Er gaat een fabeltje rond dat DirectX die dingen kan emuleren die je hardware niet ondersteunt. Dat gaat maar tot een bepaald niveau efficient (geometry en vertexshaders zijn goede voorbeelden). Een hogere pixelshader versie emuleren (zeker met 4.0) kan alleen als je -ALLES- op de CPU uitvoert en je de GPU dus compleet buiten spel zet. Je gebruikt je videokaart dan alleen nog om de data naar je monitor te sturen. Dat is nou niet bepaald de emulatie waar mensen op zitten te wachten, en daar gaat het uiteindelijk om.

Conclusie: DX9 hardware zal dus niet draaien onder een DX10 API!
weljah, je vergeet refrast... :+
De flitsende dx10 emulator
weljah, je vergeet refrast...
De flitsende dx10 emulator
Maar die zit alleen in de developer runtime, dus normale gebruikers kunnen die niet eens gebruiken... niet dat je dat zou willen, overigens.
Ik sprak daar een tijdje terug over met Mikko Kallinen van FutureMark. Die zei dat ze een screenshot van 3DMark wilden maken met refrast, maar dat ze na een uur renderen nog geen 1 frame af hadden, dus hebben ze het maar afgekapt.
Met refrast kun je dus eigenlijk bijna niks meer, behalve een stukje special-case code schrijven en daarmee een probleemgeval analyseren. Een complete hedendaagse 3d-scene draaien is onmogelijk.
EN nog een vorm van non-backwardscompatibiliteit:
Je kan DX10 niet op XP installeren...
Ja, alles is te emuleren.
Maar wanneer het op 1/100ste van de gewenste snelheid draait, dan heb je er niet veel aan....

In de praktijk betekent dat dus gewoon dat het NIET werkt.
Nee dat is dus niet het geval, DirectX 10 is niet backward compatible.. je kunt wel directx9 naast directx 10 installeren..
Groot gelijk. Maar je moet ook de mogelijkheid geven om een oudere versie er naast te blijven gebruiken.
Waarom zou je niet gewoon directx9 en directx10 op je systeem kunnen hebben.
Maar niemand beweert ook dat dat niet kan hoor :). En tot nu toe waren alle directx versies backwards compatible in de zin dat je gewoon een dx8 interface kunt gebruiken terwijl dx9 geinstalleerd is. Dat zal met dx10 ook gewoon zo zijn.
Dat is dus niet zo. Er zijn behoorlijk wat spellen die niet goed functioneren met een nieuwere directx. Het zijn vaak maar kleine dingetjes die niet goed meer werken. Maar vaak wel heel irritant.
DX9 (en lager) gaat in DX10 via een emulatie laag, en in de meeste gevallen zal dat gewoon zonder problemen werken.
de meeste van de huidige bugs/foutjes zullen er wel uit gehaald worden, dan wel uit de emulator dan wel uit de game, dan wel uit de drivers
en ik denk eigenlijk vooral dat laatste, aangezien het driver model radical anders is en de ontwikkeling van vista gfx-drivers nog niet zo heel lang bezig is.

ik denk ook dat je daar de schuldige moet zoeken el_muerte, en niet persee bij DX10's emulatie laag.
Dat is dus niet zo. Er zijn behoorlijk wat spellen die niet goed functioneren met een nieuwere directx. Het zijn vaak maar kleine dingetjes die niet goed meer werken. Maar vaak wel heel irritant.
Dat zijn problemen in de driver.
Voor zover ik weet, zit er gewoon letterlijk dezelfde code voor oude interfaces in de nieuwe DirectX als toen die oude interface de 'nieuwe DirectX' was.
De nieuwe DirectX-versie wordt ernaast gebouwd.
Zeker bij de nieuwere versies is dat heel duidelijk, iedere versie heeft een eigen DLL. Als je DX9 installeert, krijg je dus ook gewoon de DX8-DLL erbij, en die is hetzelfde als wanneer je DX8 zou installeren.
Als jij mij een computer kan aanwijzen die een direct x 8 EN een direct x 9 videokaart werkend in de opstelling heeft. Dan ben jij de eerste die een reden heeft om direct x 9 & 10 tegelijk in je systeem te proppen ;)
DX10 (eigenlijk D3D10 voor de puristen ;) ) is inderdaad een superset van DX9. Het kan alles wat DX9 kan en nog veel meer, dus alle spellen blijven in principe speelbaar (alhoewel Vista misschien wat roet in het eten zou kunnen gooien, heb gehoord dat het app-compat team van MS het er druk mee heeft).

Mocht iemand er behoefte aan hebben, dan vind je in deze paper van MS de technische details van D3D10 en wat er allemaal verbeterd wordt :9 Geeft ook wel redelijk aan waarom DX9 hardware niet met D3D10 overweg kan.
Opmerkelijk is dat Microsoft zich met name op de veelzijdigheid van de gpu concentreert
Daarom heet het officieel ook D3D10, het is alleen een upgrade van de grafische component van DirectX. Beetje voorbarige speculatie over PPU's hier :P
Ik vind Direct-X2 eigenlijk gaver staan :*)

Ik vind HDR trouwens helemaal niet zo tof. Ik heb de lost coast demo gespeeld maar alles wordt er vager door. Ben nog niet overtuigd...
als alles er vager door word gaat er iets niet goed,
wat HDR vooral doet is overbelichting simuleren, en dat ziet er vaak heel mooi uit vind ik.
Ziet er mooi uit maar is juist een nadeel.
'n tactiek van combatanten is om de zon in je rug te hebben. Je vijand dus overompelen met HDR. wat dus niet lukt als die zo'n budged ding gebruikt zonder HDR.

Je veel mooier en realistisch tegen licht maar je gaat daardoor ook avker dood. Omdat je de enemy niet goed of te laat ziet.
als je het hele artikal leest zal je zien dat ze met "de veelzijdigheid van de GPU" zeker niet alleen PPU bedoelen.
ze willen dat de GPU veel meer zelfstandig kan doen zonder dat het daarbij aan de CPU hoeft te vragen hoe en of iets gedaan moet worden.

dat zou voor minder vertraging zorgen, lagere cpu belasting en de noodzaak van veel bandbreedte voor de GPU verminderen.
DirectX heb ik al vanaf het prille begin niks gevonden; het was een manier om voor een vendor lock-in te zorgen, hetgeen blijkbaar goed is gelukt.

(of heeft iemand al DX9 games native draaien op Linux/Solaris/True64Unix/osX/etc.:?)
Maar waar zijn de open source tegenhangers dan?? Ik ben er niet ein gespecialiseerd maar volgens mij kan opengl niet het geen wat directx kan.

Begrijp me goed ik had liever ook keuze gehad tussen directx en opengl maar die keuze is er nu gewoon niet.
Irrlicht is bijvoorbeeld al een begin.....
irrlicht is een engine, geen 3d rendering API.
Volgens mij was het zo dat je alleen de features van je videokaart kan gebruiken die door DX worden ondersteund. Dus telkens als er weer videokaarten met nieuwe features op de markt komen die niet meer door het huidige DX worden ondersteund, moet er een nieuwe DX versie worden geschreven.

OpenGL staat daarentegen open voor nieuwe features. Maar die nieuwste features (in OpenGL extensies genoemd) zijn dan vaak niet makkelijk te programmeren en dan moet er vaak nog met stukken assembly gewerkt worden.

Correct me if I'm wrong
DirectX specs wordt in samenwerking met de videokaart producenten gemaakt, en lopen hand-in-hand wat betreft de features. Er zijn weinig situaties waar hard- en software specificaties én de applicaties zo harmonieus in elkaar overvloeien.

m.b.v. DirectX is er een grote verandering gekomen in de bouw van videokaarten. I.p.v. bergen proprietaire shit, zijn er mooie gestandaardiseerde shaders gekomen, die door door alle kaarten uitgevoerd kunnen worden.

Videokaarten zijn volwassen geworden door DirectX.
Directx is inderdaad iets om het monopolie van MS te behouden. Je ziet ook dat Games een van de weinige dingen is waar linux moeite mee heeft. Ik zal daarom alleen opengl games kopen, ookal doen ze iets onder voor directxgames.
Als console's zo een rem zijn voor de game developers, waarom begint MS dan niet gelijk voor implentatie in de Xbox360 met DX10 ? Ze willen toch game developers tegemoet komen met DX10 in Vista :? Of gaan we gewoon +/- 4 jaar wachten op de next gen console ?

Verder vind ik de Crytek2 engine een mooi stukje werk, als je hun demo's met DX10 al ziet dan kan het me niet snel genoeg gaan. Denk dat andere gerenomeerde engine's, zoals Unreal of John Carmack himself, niet gauw een antwoord hierop hebben. Crytek gaat een zonnige toekomst tegemoet, of ze brengen zelf steeds games uit of kunnen hun engine in licentie verkopen. Overigens wel verdiend, want het is de eerste engine bouwer die werkelijk de hardware features maximaal benut.

FarCry, was, is en blijft een mooi spel. Zelfs de HL2 engine kan hier niet aan tippen, veel te statisch.
waarom begint MS dan niet gelijk voor implentatie in de Xbox360 met DX10 ?
Omdat de xbox360 hardware dat niet ondersteunt misschien?
als je hun demo's met DX10 al ziet dan kan het me niet snel genoeg gaan
Nou weet ik niet precies over welke demo's je het hebt, maar de demo's die ik tot nu toe gezien heb waren DX9. Logisch, er is ook nog geen DX10 hardware.
Waar JC zicht richt op donkere sfeer. richt Crysis zich op goeie jungle rendering.

super vet griezelig erg donker gerendere griezels is niet mijn ding.
Mooie interactieve flora fauna is veel mooier en dan komen realistische render technieken door zonlicht beter tot hun recht. Ipv zaklam licht zo realistisch te renderen in ene of ander lelijke gebouw.

Iets afgrijzelijks vs iets moois. Goed en realistisch renderen.

JC is meer de donkere zombi specialist. In donkere omgevingen.

Ja die Crytek2 engine zie ik dus ook wel zitten.
Doe mij toch maar UE3, dat vind ik er nogsteeds het mooist uitzien. En ook erg mooi die DX9 demo's van Crytek hoor, niet verkeerd. Overigens, over de Doom3 engine gesproken, ga die demo van 'Prey' eens spelen, lang zo donker niet als Doom3 en zo gefreaked als hell :P, prachtig spel vind ik. Laat maar weer eens zien wat voor kunsten ze in die engine gebakken hebben die tijdens het spel 'Doom3' nooit naar voren zijn gekomen. Carmack denkt in allerlei dimensies en geeft het woord zwaartekracht een andere betekenis!, daarnaast ontwikkelen ze ook engines met toekomstvisie, alleen kijkt de wat beperkte 'gamer' alleen naar het spel Doom3, das alleen maar een verkoopmiddel, showcase noem ik het.

Maar ik ben het er wel mee eens dat buiten in de bossen wel wat anders is als claustrofobische gangetjes. Doe mij maar die gangetjes :) Ik hield ook van Descent1 en Doom1, ben met zulke spellen opgegroeid en vond het altijd doodeng, maar dat maakte het ook zo goed.
Een beter engine is niet mooier. Een beter engine doet dingen die de ander niet kan. De content en jouw smaak bepaald hoe mooi het is.

Far Cry richtte zich misschien op de Jungle. Maar er is niet jungle-specifiek aan de engine.

Daarnaast gebruikt Far Cry wel een aantal truukjes die je het idee geven dat de engine meer kan dan het eigenlijk kan.

Voorbeeld: de enige lampen die je kunt laten bewegen (inclusief shaduw) vind je in kale afgesloten ruimtes.

Voorbeeld2: physics objecten hebben geen shaduw

Voorbeeld3: het aantal polygonen lijkt veel hoger dan ze eigenlijk zijn. Ze hebben een (nogal innovatieve) techniek ontwikkeld, waarbij ze een hoog-polygoon model op een laag-polygoon model mappen en gebruik maken van normal-maps, om dus meer detail toe te kennen. Dat is dus een truukje dat je zelfs als mod-bouwer voor de HL2 engine zou kunnen gebruiken. Het is niet een onderdeel van de engine.

Voorbeeld4: ze hebben geen volumetric lightning, maar faken wel overbelichting als je in de zon kijkt. Hier komt licht niet 'om de hoek' zoals het hoort, maar wordt de totale brightness van je scherm aangepast.

Voorbeeld5: de vegatie is niet 3d gerenderd. Het zijn 2d textures.

Voorbeeld6: het water is niet 3d gerenderd. Het zijn 2d textures. En waar is de weerspiegeling zoals je die wel in Half-life2 of de Doom engine ziet?

Natuurlijk ziet er daardoor op een screenshot enzo errug mooi uit, maar de bewering van sommige hier dat die
engine superieur was aan de HL2 lijkt me nogal stug.

Waar is de volumetric lightning? Waar is de echte overbelichting? Waar zijn de soft-shadows in de grote open ruimtes? Waar zijn de soft-shadows op de physics objecten? Ze zijn er niet! De enige shaduw die in outdoors gerenderd wordt is die van models (en dan ook alleen on de grond, niet eens op een gebouw, nog op de vegetatie (wat ook niet kan omdat het 2d is)).

Zelfs in de nieuwe video's van de Crysys engine is goed te zien dat de schaduw van 't gebouwtje waaropin ingereden wordt opeens 'uitstaan' wanneer de auto het gebouwtje raakt. Je wordt genept waar je bij staat.

Mijn punt: wat technisch een goeie engine is, en wat slim tweaken + level design is, is een ander verhaal. Toen ik in de Far Cry level editor zag dat je shaduwen per object kon aan en uit zetten, ging er spontaan een lampje branden. Ook de voorbereking van shaduwen van de zon vallen op.
Hou er ook eens rekening mee dat HL2 en Doom 3 al een hele periode uit zijn. Het is oneerlijk om deze engines te vergelijken omdat de Crytek2 engine zelf nog niet eens volwaardige games heeft uitgebracht.

Plus kan voor een develloper toppertjes zoals HL2 of Doom 3 een schoolvoorbeeld zijn voor hun eigen ontwikkeling. Het team van de Crytek2 engine zal wel genoeg lessen getrokken hebben uit andere ontwikkelingen...

Als laatste kan ik je enkel zeggen dat Far Cry (1) mijzelf helemaal niet zo veel kon beroeren als initieel werd verkondigd. De AI was er gewoon niet, de console was een complete Quake 1 rip off (oud) en de commando's die je daarin kon typen waren beperkt tot één A4tje... Geef mij maar een vet ontwikkelde engine zoals die van HL 2. ;) Far Cry was enkel leuk als single player ervaring.
Is de race met open GL nu helemaal gelopen? Of is er nog hoop voor andere game bouwers (op andere platforms).
OpenGL zou van de ARB overgedragen worden op de Khronos groep, die eerder al het relatief succesvolle OpenGL ES specifieerde. De hoop is dus dat dit de ontwikkeling zal versnellen. Ook zijn er geruchten voor een OpenGL 3.0 dat achterwaartse compatibiliteit zou breken ten voordele van een betere architectuur.

Dus hoewel Direct3D duidelijk een sprong voorwaarts neemt denk ik niet dat daarmee OpenGL uitgeteld is. Ze gaan er wel een beetje vaart achter mogen zetten om gamen op andere platforms ook aantrekkelijk te houden...
OpenGL heeft weinig last van vernieuwingen op hardwarevlak. Van zodra er nieuwe drivers uitkomen met nieuwe features kan je er al mee aan de slag. Dus wachten op OpenGL 3 heeft niet zoveel zin, tenzij je met standaard functies wil werken ipv vendor specifieke functies (extensions).
Hmm is OpenGL niet makkelijker te gebruiken als je nieuwe stuff in je engine wil gebruiken? IPV telkens die DX
nee eigenlijk niet. je moest steeds je eigen openGL extentions schrijven, en elke game had weer andere extentions nodig en niet alle drivers werkte even goed met alle extentions. tot openGL 2.0 was het wat dat betreft echt een chaos omdat openGL zo veer archter liep kwa vaste specificaties.
en nu dreigt weer het zelfde tegebeuren tenzijn openGL sneller word met hun ontwikkeling.
Als ik Direct-X 10 volledig wil benutten, hoef ik dan alleen de videokaart+OS te vervangen?

@.oisyn (Hieronder)

Met die software bedoel je de games? Een nieuwe videokaart en windows Vista lijkt me nog wel te doen namelijk.
Nee, je moet daarnaast ook nog eens software hebben die volledig van de nieuwe API gebruik maakt :)

.edit:
Met die software bedoel je de games?
bijvoorbeeld :)
Ik denk wat oisyn bedoeld is meer native voor DX10 programeren. Dus geen slap Dx9 aftrekesel in 'n dX10 jasje. In DX9.0C kan je ook de DX8.1 PS1,4 shaders gebruiken. Als Dx8.1 hardware gedetecteerd wordt bv 'n 8500. De game Project is dan compiled onder en ook daarvoor geinitialiseerd met Dx9.0C SDK Maar de Game path is DX8.1 wat gebruikt wordt.
Detecteerd De game 9.0c hardware dan kunnen dit ook bijvoorbeeld 'n beetje voor 2.0 Optimised 1,4 shaders routines zijn. Dus niet effecten puur bedacht om 'n uniek shader effect waarvoor je toch echt shader SM2.0 nodig hebt. en alles uit de kast trekt.

Dit is dus het idee van Crysis. 'n puur DX9 game met optimalisaties voor DX10 maar geen pure/native DX10 game.
Iig dat idee geven ze dan wel.

DirectX versies ondersheiden zich door com interfaces. Zelfs bij optimalisatie en zeker bij feature extensie worden er 'n nieuwe interface geintruduceerd.Voor de volgense DX component. De initialisatie enumureerd welke interfaces beschikbaar zijn en pakt dan de hoogste bekendste waar er voor 'n beschikbare path voor beschikbaar is in code verderop.

Er wordt dus niet gesleuteld aan de vorige maar die wordt uitgebreid en die uitbreiding is toegankelijk via een nieuwe interface. iig ging dat zo ergens van DX2 t/m 6
DX8/9 is Directdraw gescraped.Maar steeds beschikbaar via de Dx6 Directdraw interfaces.

Daarom zie DX nr 6 nodig of hoger. Aangezien de nieuwe Dx de oude in zich heeft. Dus met DX9 loopt 'n Dx6 ook.

Vista heefd dus ook Dx9 in zich alleen die draaide dan via een wrapper op de nieuwe kernel.

Als het goed is kan je ook met 'n hogere SDK 'n lagere DX initialiseren. Aangezien ik 'n tijde met 'n DX2 tutorial zat te klooien terwijl de SDK al Dx6 was.Waar MSVC5.0 mee gelinkd was.
"alleen maar", Nee je moet ook nog software hebben die er gebruik van kan maken. Net zo goed als directx 8.1 niet de directx 9.0c feature gebruikt. Eigenlijk moet je dus gewoon alles vervangen.
"Verder wordt er steeds meer rekenwerk door de cpu uitbesteed aan de gpu en aan de nieuwe ppu's"

"Opmerkelijk is dat Microsoft zich met name op de veelzijdigheid van de gpu concentreert. Physics-kaarten zouden geen rol van betekenis in de DirectX-machine krijgen"

tegenstrijdig??
nee hoor, een PPU praat met de game engine, en niet direct met het videorendering gedeelte van de DX API.
er is dus geen reden voor DX daar iets mee te doen.

en met de veelzijdigheid van de GPU bedoeld MS geen PPU, of iniedergeval niet presee alleen maar dat.
uhmm... HDR=High Definition Rendering??? misschien dat het aan context ligt hoor, maar ik ben van 3DMAX altijd gewend dat HDR voor High Dynamic Range staat...

edit: overbodig? ik vraag om uitleg
Klopt, HDR staat idd voor High Dynamic Range, en heeft ermee te maken dat je niet meer vast zit aan de 0 tot 1 range voor kleurcomponenten.
HDR geeft eienlijk alleen maar aan dat je meer geheugen per pixel gebruikt.
In welke ranges dat zich uit boeit op zich niet.
'T zou net zo goed kunnen dat de hele kleurenrange alsnog tussen 0 en 1 valt alleen heb je een veel hogere precisie.
Hoe je dat extra geheugen aanspreekt hangt dus van de implementatie in de api af.
Juist; ik kan me nog herinneren van de dx9 sdk dat bij HDR maximaal 128bit kleuren kunnen worden gebruikt terwijl standaard 32bits rgba of lager wordt gebruikt. Hierdoor wordt het mogelijk om "natuurlijk" kleurverloop te maken.
Sorry maar dan heb je geen zak van HDR begrepen. HDR is er juist om overbelichting goed te modelleren. Traditionele rendering gebruikt (0, 0, 0) voor zwart en (1, 1, 1) voor wit. Maar echt licht heeft helemaal geen bovengrens, dat kan zo fel zijn als je maar wilt. Een witte zon is een stuk feller dan een witte lamp, terwijl het beide toch wit is. Door de zon een veel hogere waarde dan die (1, 1, 1) te geven, en achteraf de gehele buffer terug te converteren naar een 0..1 range (dmv tone mapping), krijg je een veel realistischer effect omdat je ogen simpelweg ook zo werken (als er veel licht is vernauwen je pupillen waardoor ze minder licht doorlaten. iets dat dan donker is zal er veel donkerder uitzien tegen een felle achtergrond dan als die felle achtergrond er niet zou zijn).

Hoe je dat vervolgens mapt op je pixelspace boeit geen ene flikker, of je nou 8, 16 of 32 bits fixed- of floatingpoint per component gebruikt, het gaat erom dat je (1, 1, 1) niet als 'maximaal wit' modelleert. Het loont uiteraard wel om een hogere precisie te hebben, vooral floating point buffers zijn uitermate geschikt omdat ze niet lineair schalen.

En voor het geval je mij niet gelooft (zal niet de eerste keer zijn), lees dan wat artikelen:
http://www.bit-tech.net/g...4/hl2_hdr_overview/1.html
http://en.wikipedia.org/wiki/High_dynamic_range_rendering
http://download.nvidia.co...gues/6800_Leagues_HDR.pdf
Je zou toch maximaal zichtbaar wit kunnen definieren als (0.02 , 0.02 , 0.02) en dan de bovenrange gebruiken als 'headroom' voor over-wit?
Of zit hier een nadeel aan?
Het erge is dat ik het eerder fout heb gedaan en daar niks van geleerd heb :P maar het is aangepast hoor :)

Post is overigens correct overbodig gemod omdat zulke discussies in Frontpage Algemeen thuishoren.
ik vroeg me af of HDR in de context gaming/game-development een andere betekenis had gekregen, niet of het een fout van jou was, daarom vond ik het raar.
(voor diegene die hem nog niet gezien hebben )
14min video demo van Crysis door Art Director Micheal Khaimzon van Crytek
http://video.google.com/v...ocid=-3502375929069803475 :9~
Er zijn toch wel heel veel pakketten om games mee te maken die met open gl werken. Zie www.gamesmaken.startpagina.nl zoals bijvoorbeeld Torque, waarmee je games kan maken voor zowel PC, MAC, linux of xbox360 (zal dus ook wel directx ondersteunen naast open GL).

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True