Toon posts:

[.NET] Managed directX (9) een optie?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil eens wat anders gaan doen dan standaard winform programmaatjes bouwen (al is dat ook best leuk). Ik kwam laatst de SKD van directX 9 tegen. Nu heb ik eigenlijk geen weet hoe dit in elkaar zit en daar wilde ik eigenlijk wat aan gaan doen.

Nu kwam ik na wat zoekwerk dit boek tegen (isbn = 0672325969). Op Amazon.com waren de lezers erg te spreken over dit boek dus die keus is snel gemaakt :) .

Wat ik eigenlijk wil weten:

Zijn er al mensen die wat met managed direct X hebben gedaan en wat zijn de ervaringen? Normaal gesproken hoor je alleen verhalen dat zoiets het best in C++ gedaan kan worden. Ik vraag mij af heeft het zin om dit met C# te doen (of welke managed taal dan ook). Is het bijvoorbeeld snel genoeg en heeft het voldoende potentie (is het geen eendagsvlieg)? Nu was ik nog niet van plan om gelijk een hele game in elkaar te zetten maar ik wil in de toekomst niet tegen beperkingen aan lopen.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 20 april 2004 @ 22:34:
Nu kwam ik na wat zoekwerk dit boek tegen (isbn = 0672325969). Op Amazon.com waren de lezers erg te spreken over dit boek dus die keus is snel gemaakt :) .
oooh dat boek 8)7
Titel, auteur, of iig een linkje naar het relevante boek zou wel handig zijn

Managed DirectX 9 Kick Start : Graphics and Game Programming, Tom Miller 2003

Je kunt met .net best leuke dingen doen hoor, maar een volledige full-blown game is wat anders :) De vraag is natuurlijk welke kant je op wilt. Als je alleen wat wilt prutsen zou ik gewoon bij C# blijven. Als je echt de gamedevelopment kant op wilt zal ik me maar zo snel mogelijk bekend maken met C++, wat daar kom je hoe dan ook niet omheen :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Ik wilde eigenlijk niet een bepaalde commerciële site de voorkeur geven (al gaf ik als hint wel amazon :P ).

Maar wat ik lees, is dat het managed iets langzamer gaat. Het grote voordeel zit hem dan weer in het feit dat C# een toegankelijke taal is en de GC :) .

Voor de rest ben ik nog niet tegengekomen dat je met C# minder kan dan C++. Daarnaast lees ik hier dat het met longhorn (al duurt dat nog even -> *Fate? denkt dat hij deze materie ook niet binnen een jaar volledig onder de knie heeft) waarschijnlijk alles managed geregeld wordt en dat het snelheidsverschil nihil zal zijn.

http://www.gamedev.net/co...topic.asp?topic_id=214322

Edit:

In eerste instantie wilde ik nog niet aan game development doen maar de toekomst is nog jong ;) . Het renderen van figuren met texturen staat in ieder geval op het lijstje. Ook wilde ik nog het één en ander met geluid gaan doen maar wat dat wordt en hoe moet ik nog bezien.

[ Voor 21% gewijzigd door Verwijderd op 20-04-2004 23:31 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
Ik vermoed dat je met managed DirectX zeker programma's van redelijk hoge kwaliteit kan schrijven, maar ik kan dat vermoeden niet met praktijkervaring onderschrijven. Waarschijnlijk zul je niet het onderste uit de kan kunnen halen zoals dat met C/C++ met stukjes assembly en geoptimaliseerde pixel shaders waarschijnlijk wel lukt, maar ik denk dat je toch al snel iets redelijk moois moet kunnen maken.

Bij veel grafische applicaties ligt het accent op bewerkingen die direct via DirectX calls uitgevoerd worden. Aangezien je een vergelijkbare API gebruikt als in een unmanaged taal, zullen dergelijke bewerkingen nauwelijks trager zijn en je verlies beperkt zich dan grotendeels tot de code die je zelf schrijft, maar zo ontzettend traag zal C# nou ook weer niet zijn.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 20 april 2004 @ 23:23:
Ik wilde eigenlijk niet een bepaalde commerciële site de voorkeur geven (al gaf ik als hint wel amazon :P ).
Och, het is voor de mensen alleen maar handig als ze snel het boek kunnen bekijken :)
Maar wat ik lees, is dat het managed iets langzamer gaat. Het grote voordeel zit hem dan weer in het feit dat C# een toegankelijke taal is en de GC :) .
GC is lang niet altijd een voordeel ;)
Voor de rest ben ik nog niet tegengekomen dat je met C# minder kan dan C++. Daarnaast lees ik hier dat het met longhorn (al duurt dat nog even -> *Fate? denkt dat hij deze materie ook niet binnen een jaar volledig onder de knie heeft) waarschijnlijk alles managed geregeld wordt en dat het snelheidsverschil nihil zal zijn.
Het zit 'm niet in wat C++ wel kan en wat C# niet kan, want dat zijn idd maar erg weinig dingen. In een game heb je te maken met enorme datasets waar je in een rap tempo doorheen moet kunnen gaan, "interpreted" languages met beveiligingen zoals array bounds checks zijn niet de aangewezen omgevingen om dat te bereiken. Een paar calls naar DirectX maken nog geen game, sterker nog, die paar calls zijn totaal niet boeiend vergeleken met de rest van een game. En een doorgewinterde gamedeveloper doet wel moelijk over een snelheidsafname van 7% ;)

Overigens, dat de longhorn api in .net gaat zijn zegt natuurlijk helemaal niets :)

Daarnaast, een PC is geen gameplatform ;)
Soultaker schreef op 20 april 2004 @ 23:31:
Waarschijnlijk zul je niet het onderste uit de kan kunnen halen zoals dat met C/C++ met stukjes assembly en geoptimaliseerde pixel shaders waarschijnlijk wel lukt, maar ik denk dat je toch al snel iets redelijk moois moet kunnen maken.
vertex en pixelshaders hebben weinig met C++ code te maken, dat is net zo goed te doen in C# aangezien het op de GPU draait :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
.oisyn schreef op 21 april 2004 @ 00:12:
vertex en pixelshaders hebben weinig met C++ code te maken, dat is net zo goed te doen in C# aangezien het op de GPU draait :)
Inderdaad; ik noemde het in de categorie low-level geneuzel om het onderste uit de kan te halen.

Er zijn trouwens al gigantische verschillen tussen echte high performance game engines (zoals bv. de Quake 3 engine was) en allerlei vage engines die bijvoorbeeld gebruikt worden om console games ook voor de PC uit te brengen. Engines van de tweede soort hebben vaak belachelijk hoge systeemeisen en zetten daar relatief weinig kwaliteit tegenover. Mensen die wel eens een platformgame spelen weten daar vast wel over mee te praten.

Je moet niet verwachten dat je met C# en managed DirectX een engine zult schrijven die kan concurreren op het allerhoogste nivo (en je kunt je ook afvragen hoe realistisch dat is als je in C/C++ werkt) maar het lijkt me toch zeker wel mogelijk als je goed thuis bent in de materie en het slim aanpakt, dat je de engines van spellenmakers die zich er 'makkelijk' (lees: goedkoop) vanaf hebben gemaakt met gemak kunt evenaren.

Een game engine is ook wel een erg veeleisende applicatie. Als je DirectX alleen wil gebruiken om controller input te verwerken of om 2D beeldverwerking mee te doen (beetje standaard animatie met wat schalen en alpha blending ofzo) dan denk ik dat je met C# perfect weg komt.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Messchien dat je even naar deze .NET Show kunt kijken. Hij gaat over Managed Direct X en sprak mij wel heel erg aan.

http://msdn.microsoft.com/theshow/Episode037/default.asp

Verwijderd

Topicstarter
Bedankt voor de reply's. :)

Dat filmpje is leuk gedaan + interessant. Wel een beetje erg pro MS (om de zoveel tijd wordt MS wel een keer genoemd). Maar ik denk dat er zeker wel toekomst (misschien niet voor de "cutting edge" markt) is voor managed directX. Zeker omdat het zo gebruiksvriendelijk is.

Daarnaast maakt die miller wel een eerlijke indruk :) . Samen met de goede reacties van de gebruikers van amazon en met mijn ideeën die ik wil proberen te visualiseren, ga ik binnenkort als ik het boek heb maar eens aan de slag.

Edit: Ik geef toe dat je bepaalde stukken wel moet skippen omdat het nergens op slaat. Het is qua niveau misschien wel laag maar als je nog niets weet is het precies goed. Zo heb ik dat ervaren dus in dat oogpunt denk ik dat het goed is opgezet. Een leuk opstapje dus.

offtopic:
Daarnaast moet je tegenwoordig alle media wel filteren want bijna alles is wel subjectief en/of afhankelijk. Enkele hoogstaande kranten en tijdschriften daargelaten.

[ Voor 46% gewijzigd door Verwijderd op 22-04-2004 22:59 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
offtopic:
Ik vond dat filmpje echt ontzettende amateuristische wannabe-professionele corporate propoganda en inhoudelijk nogal nietszeggend en traag. Ik had uiteindelijk maar de transcript geopend en die doorgebrowsed.

  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
kijk anders even op codeproject onder sectie General C# -> multimedia staan ook wat voorbeeld projectjes met managed directx.

of hier
of hier
of hier
of hier

[ Voor 53% gewijzigd door hopakee op 23-04-2004 15:44 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Graphics met .NET kunnen natuurlijk ook in openGL, zie Quake II.NET

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 25-05 20:56
Dat is geschreven in (grotendeels unmanaged) C++ en niet in C# zoals de topic starter wilde. Voor C# moet je wel in een managed omgeving werken.

Verwijderd

Topicstarter
MSalters schreef op 23 april 2004 @ 16:32:
Graphics met .NET kunnen natuurlijk ook in openGL, zie Quake II.NET
Ik zie niet zo snel wat de voordelen van OpenGL kunnen zijn met C#. Managed directX neemt je veel werk uit handen. Volgens mij heb je dat voordeel niet met OpenGL. Daarnaast heb ik met directX een hele toolset tot mijn beschikking. Zoals geluid, graphics en input.

Al met al een totaal oplossing. En dat OpenGL platform onafhankelijk is, zegt mij niet zoveel :+ .

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 23 april 2004 @ 17:02:
Managed directX neemt je veel werk uit handen. Volgens mij heb je dat voordeel niet met OpenGL.
OpenGL doet net zo veel als DirectX, dus wat je zegt is niet waar. Het is natuurlijk wel zo dat directx al gewoon door MS wordt aangeboden en hoef je dus niet op zoek naar 3rd party opengl bindings ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • riemerg
  • Registratie: Oktober 2003
  • Laatst online: 05-10-2021

riemerg

Intel inside ...

Om even aan te vullen : kheb voor mn univ een tutorial moeten maken, die iemand zonder enige 3d-kennis een 3 dimensionaal landschap laat maken. Hij staat hier online:

http://users.pandora.be/riemerg

Hierbij wordt gebruik gemaakt van C# icm Managed DirectX 9.

Idiot outside.


  • riemerg
  • Registratie: Oktober 2003
  • Laatst online: 05-10-2021

riemerg

Intel inside ...

Idiot outside.

Pagina: 1