Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [Software] DirectX (https://forum.scholieren.com/showthread.php?t=840768)

WillKillForSex 15-05-2004 19:30

[Software] DirectX
 
Ok, ik weet dus ongeveer wat DirectX is, software die je videokaart optimaal laat werken, maar ik zou graag in nederlandse en duidelijke taal nou eens precies willen weten wat DirectX nou in houdt. Wat doet het, waar bestaat het uit, hoe doet het wat het moet doen en wat maakt het zo baanbrekend dat het door alles gebruikt wordt :)

Alvast bedankt

Marcus 15-05-2004 19:54

Had je dit niet beter op software kunnen plaatsen? :p

Bliep 15-05-2004 20:08

Precies zoals je al zegt.... het optimaliseert de videokaart voor games (niet voor alles hoor). Een 'versneller' dus voor een bepaald gedeelte; een soort turbo.

DirectX bestaat uit een aantal interfaces. Dit zijn de meest gebruikte:

DirectDraw
Direct3D
DirectSound
DirectMusic
DirectInput
DirectPlay

de meeste spreken wel voor zich. DirectDraw is voor 2d animaties en DirectPlay voor netwerken. De rest lijkt me wel duidelijk.

WillKillForSex 16-05-2004 01:54

maar dan is mijn vraag, hoe versneld het dan al die aspecten van je videokaart of is dat te technisch? :)

Enlightenment 16-05-2004 07:11

-> Software & Multimedia

Enlightenment 16-05-2004 07:19

DirectX is een software library. Een bibliotheek die andere programma's kunnen gebruiken. Iedereen heeft wel eens een .dll bestand gezien, dat is een library (Dynamic Link Library is de afkorting). Een software library is een pakket of bestand dat niet zichzelf kun uitvoeren, maar wat wel uitvoerbare componenten bevat die door een ander programma gebruikt kunnen worden. Concreet: een spel als Farcry gebruikt de DirectX library voor zijn 3D functionaliteit.

DirectX is geen versneller, het is een manier om de videokaart direkt aan te sturen en biedt een uitgebreide API (een soort 'instructieset', wat je er allemaal mee kunt doen). Bijvoobeeld: je kunt stipjes (pixels) op een scherm zetten, maar ook circels weergeven. Dat soort functies zitten allemaal in DirectX, zodat je ze zelf niet hoeft te schrijven in je programma/spel.

Als we naar het verleden kijken, had ieder spel zijn eigen 3D engine en werd elke keer opnieuw code geschreven om de videokaart aan te sturen. Bij elk spel moest het spreekwoordelijke wiel opnieuw uitgevonden worden. Met de komst van Windows, werd DirectX populair. Het was een eenvoudige manier om grafische beelden te produceren zonder alles zelf te hoeven schrijven. Voor DirectX is er een SDK (Software Development Kit), een kit voor programmeurs zodat zij de functies van DirectX kunnen gebruiken.

Kort gezegd: DirectX is een manier om functies van de videokaart te gebruiken, zonder deze zelf te hoeven schrijven (wat ingewikkeld en tijdrovend is).

DirectX is niet de enige op dit gebied. OpenGL gooit hoge ogen en wordt door veel spellen gebruiken. OpenGL is Open Source en een open standaard, in tegenstelling tot DirectX wat closed source is en proprietary software van Microsoft. Mijn voorkeur gaat uit naar OpenGL. DirectX 10 en OpenGL 2.0 zullen vergelijkbaar met elkaar zijn, voor zover ik weet. Beide zijn echter nog wel een paar jaartjes verwijderd.

Beantwoordt dit je vraag? :)

freyk 16-05-2004 09:37

* gebruikt even de help functie van Windows xp *
(start -> hulp en ondersteuning, zoeken op: directx)
En daar lezen we bij directx overzicht:
Citaat:

Wat is DirectX?
Windows ondersteunt DirectX 8.0, een voorziening waarmee de multimediamogelijkheden van een computer worden uitgebreid. DirectX biedt toegang tot de mogelijkheden van de video- en audiokaart, waardoor programma's realistische driedimensionale (3D) afbeeldingen en indrukwekkende muziek en geluidseffecten kunnen weergeven. DirectX bestaat uit een reeks low-level API's (Application Programming Interfaces) die krachtige, geavanceerde, door hardware ondersteunde multimediavoorzieningen biedt ten behoeve van Windows-programma's.

Dankzij DirectX kan het programma op eenvoudige wijze vaststellen wat de hardwaremogelijkheden van uw computer zijn en vervolgens de programmaparameters hieraan aanpassen. Daardoor kunnen multimediaprogramma's worden uitgevoerd op elke Windows-computer die hardware en stuurprogramma's bevat die DirectX ondersteunen en kunnen deze multimediaprogramma's optimaal gebruik maken van de mogelijkheden van geavanceerde hardware.

DirectX bevat een reeks API's waarmee toegang kan worden verkregen tot geavanceerde functies van de nieuwste hardware, zoals chips voor de versnelling van 3D-afbeeldingen en geluidskaarten. Via deze API's worden basisfuncties aangestuurd, zoals versnelling van tweedimensionale (2D) afbeeldingen, ondersteuning voor invoerapparaten zoals joysticks, toetsenborden en muizen, het mengen van geluid en geluidsproductie. Deze basisfuncties worden ondersteund door de volgende onderdelen van DirectX:

Microsoft DirectDraw

Via de API Microsoft DirectDraw is zeer snelle toegang mogelijk tot de geavanceerde hardwarefuncties van de videoadapter van een computer. Deze API ondersteunt standaardmethoden voor de weergave van afbeeldingen via alle videoadapters, en daarnaast ook methoden voor snellere, meer directe toegang wanneer versnelde stuurprogramma's worden gebruikt. DirectDraw is een apparaatonafhankelijke voorziening voor programma's, zoals spelletjes en tweedimensionale (2D) grafische pakketten, en voor systeemcomponenten van Windows, zoals digitale videocodecs, die deze programma's en componenten toegang verschaft tot de voorzieningen van specifieke weergaveapparaten, zonder dat de gebruiker informatie hoeft te verstrekken over de mogelijkheden van deze apparaten.

Microsoft Direct3D

De API Microsoft Direct3D fungeert als interface voor de 3D-weergavefuncties die zijn ingebouwd in de meeste nieuwe videokaarten. Direct3D is een low-level API voor 3D-functies waarmee softwareprogramma's in staat worden gesteld op efficiënte en krachtige wijze te communiceren met alle apparaten die beschikken over versnellingsfunctionaliteit. Direct3D biedt ondersteuning voor gespecialiseerde CPU-instructiesets en versnellingsfuncties voor nieuwere computers.

Microsoft DirectSound

De API Microsoft DirectSound fungeert als koppeling tussen programma's en de functies voor het mengen, afspelen en opnemen van geluid van een audioadapter. Dankzij DirectSound kunnen multimediaprogramma's beschikken over functies voor mengen met weinig vertraging, hardwareversnelling en toegang tot audioapparaten. De API is echter ook compatibel met bestaande apparaatstuurprogramma's.

Microsoft DirectMusic

De API Microsoft DirectMusic is de interactieve audiocomponent van DirectX. In tegenstelling tot de API DirectSound, waarmee digitale audiofragmenten worden opgenomen en afgespeeld, werkt DirectMusic zowel met digitale audio als met muziekgegevens in de vorm van berichten die worden geconverteerd naar digitale audio door de geluidskaart van de computer of door de ingebouwde softwaresynthesizer. De API DirectMusic biedt ondersteuning voor invoer in MIDI-indeling (Musical Instrument Digital Interface) en ondersteunt zowel gecomprimeerde als ongecomprimeerde indelingen voor digitale audio. DirectMusic stelt softwareontwikkelaars in staat indrukwekkende, dynamische soundtracks te maken die reageren op uiteenlopende veranderingen in de softwareomgeving. Een goed voorbeeld hiervan is directe gebruikersinvoer.

Microsoft DirectInput

De API Microsoft DirectInput is verantwoordelijk voor de verwerking van geavanceerde invoer voor spelletjes die afkomstig is van joysticks en andere invoerapparaten, zoals de muis, het toetsenbord en spelbesturingen met torsiekoppeling (force-feedback).

Microsoft DirectPlay

De API Microsoft DirectPlay ondersteunt verbindingen ten behoeve van spelletjes via een modem, het Internet of een LAN. Met DirectPlay wordt de toegang tot communicatieservices vereenvoudigd en kunnen spelletjes met elkaar communiceren, onafhankelijk van het protocol of de on line service. DirectPlay biedt communicatieservices waarmee een spelletje met meerdere spelers eenvoudiger kan worden gestart. Bovendien ondersteunt DirectPlay betrouwbare communicatieprotocollen die ervoor zorgen dat belangrijke spelgegevens niet verloren gaan op het netwerk. Nieuw in DirectPlay 8.0 is ondersteuning voor gesproken communicatie via het netwerk, waardoor het spelen van teamspelletjes met meerdere spelers aanzienlijk eenvoudiger wordt. Dit voegt een extra dimensie toe aan sociale spelletjes doordat spelers nu met andere spelers kunnen praten.

Microsoft DirectShow

De API Microsoft DirectShow biedt geavanceerde voorzieningen voor het opnemen en afspelen van multimediabestanden die zich op uw computer en op Internet-servers bevinden. DirectShow ondersteunt een groot aantal audio- en video-indelingen, waaronder ASF (Advanced Streaming Format), AVI (Audio-Video Interleaved), DV (Digital Video), MPEG (Motion Picture Experts Group), MP3 (MPEG Audio Layer-3), WMA/WMV (Windows Media Audio/Video) en WAV. DirectShow maakt het opnemen van videobeelden, het afspelen van dvd's, het bewerken en mengen van videobeelden, het decoderen van videobeelden met geavanceerde hardware en het afstemmen van verzonden analoge en digitale televisiesignalen mogelijk.
In iedere windows versie (behalve 3.0 & 3.11) staat die uitgebreid in de helpfunctie beschreven.
Dus voor de volgende keer: iets verder zoeken dan je neus lang is. :p

WillKillForSex 16-05-2004 17:27

bedankt Enlightment, dat is precies wat ik wilde weten :)

Nu je net over OpenGlide begon kan ik me ineens weer van vroeger herrineren dat de ene helft van de videokaarten toendertijde OpenGL waren en de andere Direct3D (Dit waren geloof ik de kaarten van 3dfx en Nvidia)

Uiteindelijk is er door iedereen toch voor DirectX gekozen (Direct3D kreeg dus de overhand?)

Waarom is er toender tijd voor DirectX gekozen? Want wat ik eruit op maak is OpenGL een hele goede tegenhanger :)

kweet niet of ik nou onzin blaat hierboven :o

Preaper 16-05-2004 17:41

Citaat:

Hardstylesage schreef op 16-05-2004 @ 18:27 :

Waarom is er toender tijd voor DirectX gekozen? Want wat ik eruit op maak is OpenGL een hele goede tegenhanger :)

kweet niet of ik nou onzin blaat hierboven :o

OpenGL moet strijden met Microsoft, en zoals je weet is dat geen eerlijke strijd. Door de standaard integratie van directx in windows kwam OpenGL een beejte op de achterbank terrecht.


Alle tijden zijn GMT +1. Het is nu 00:05.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.