PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# und DirectX 10


Crazy_Chris
2009-07-21, 15:32:24
Spricht eigentlich abgesehen von einer eventuell etwas schlechteren Performance gegenüber C++ etwas gegen C# für Grafikanwendungen?

Will mich mal langsam etwas damit beschäftigen und habe aber nur Erfahrung mit C/C++ und der MFC. Ein wenig hab ich mich mit C# ja schon beschäftigt und ich bin schon etwas angetan was da alles einfacher geworden ist. Deshalb dachte ich mir das es sich vielleicht anbietet gleich DirectX und C# zu verbinden und erste Erfahrungen damit zu sammeln. Gut Idee? ;) Wie sind eure Erfahrungen zum Thema?

Demirug
2009-07-21, 15:37:40
Das Problem dabei ist nur das es von Microosft selbst keine offiziellen C# support für Direct3D 10 gibt. Du müsstest also eine der Open Source Bibliotheke benutzen.

Crazy_Chris
2009-07-21, 15:38:40
Das Problem dabei ist nur das es von Microosft selbst keine offiziellen C# support für Direct3D 10 gibt. Du müsstest also eine der Open Source Bibliotheke benutzen.

:eek: wtf? Ich bin entsetzt.

Warum machen die denn sowas?

Demirug
2009-07-21, 15:43:30
Die Nachfrage danach war zu gering. Für DX11 gibt es wieder C# support.

creave
2009-07-21, 16:52:07
Eventuell ist SlimDX (http://www.slimdx.org) etwas für dich, lässt sich leicht ins Visual Studio integrieren und ist bequem zu handhaben. DX9 und 10 werden voll unterstützt, DX11 hat beta-support.

Coda
2009-07-21, 17:21:33
Die Nachfrage danach war zu gering. Für DX11 gibt es wieder C# support.
In welcher Form? Gibt es da schon was im SDK?

Demirug
2009-07-21, 17:34:12
In welcher Form? Gibt es da schon was im SDK?

Die Sache ist kompliziert. Der Support kommt nicht von der XNA Gruppe sondern von einer .Net Gruppe die es sich zur Aufgabe gemacht hat alle nativen APIs von Windows 7 die nicht irgendwie durch das Framkework abgedeckt werden zu mappen.

Ich habe hier eine Beta Version davon und irgendwo müsste ich auch den Link für die inzwischen freigegebene public beta haben. Das ganze wird übrigens als Sourcecode zur Verfügung gestellt.

Monger
2009-07-21, 18:04:23
Die Nachfrage danach war zu gering. Für DX11 gibt es wieder C# support.
Was ist mit XNA? War da nicht der Plan, die DirectX Funktionen entsprechend zu kapseln? Ist etwa auch da das Interesse dermaßen niedrig?

Coda
2009-07-21, 18:09:11
XNA ist DirectX 9, weil es ja auch auf der Xbox 360 läuft.

Demirug
2009-07-21, 18:12:32
Was ist mit XNA? War da nicht der Plan, die DirectX Funktionen entsprechend zu kapseln? Ist etwa auch da das Interesse dermaßen niedrig?

XNA ist der Oberbegriff für alles was mit Spielen zu tun hat. Was du meinst ist der XNA Framework und das XNA Game Studio. Da beides auf auf dem PC und der XBox laufen muss wird nur die Schnittmenge von DX9 und der XBox unterstützt. Im Allgemeinen ist das Interesse an der PC Site auch nicht sonderlich groß. Das hängt natürlich auch damit zusammen das es für den PC keine Vertriebsplattform für die damit erstellen Spiele gibt.

Monger
2009-07-21, 18:42:21
Hrm. Gibt es denn ÜBERHAUPT langfristig Pläne, die Spieleentwicklung in den gemanagten Sprachen voran zu treiben? Ich dachte, MS fährt ohnehin den Support für C++ stark zurück?!

Gemessen daran, dass die .NET Umgebung ja eigentlich imho immer als großes Steckenpferd der Softwareentwicklung verkauft wird, passiert für mein Gefühl im Bereich Multimedia und Spiele irgendwie zu wenig.

Demirug
2009-07-21, 18:56:16
Hrm. Gibt es denn ÜBERHAUPT langfristig Pläne, die Spieleentwicklung in den gemanagten Sprachen voran zu treiben? Ich dachte, MS fährt ohnehin den Support für C++ stark zurück?!

Gemessen daran, dass die .NET Umgebung ja eigentlich imho immer als großes Steckenpferd der Softwareentwicklung verkauft wird, passiert für mein Gefühl im Bereich Multimedia und Spiele irgendwie zu wenig.

Wiederstände bei den Spieleentwicklern. Sie gehören traditional zur letzten Gruppe die auf eine höhere Sprache wechseln. Zudem hängen leider auch meistens die Tools bei den Konsolen hinter denen für den PC. Versuch mal von Sony eine managend Umgebung für die PS3 zu bekommen.

Coda
2009-07-21, 21:00:54
Hrm. Gibt es denn ÜBERHAUPT langfristig Pläne, die Spieleentwicklung in den gemanagten Sprachen voran zu treiben? Ich dachte, MS fährt ohnehin den Support für C++ stark zurück?!
Tun sie nicht. VC++ 2010 bringt da wieder verstärkt Neues (Weitgehender C++0x-Support, bessere Optimierung des Codes, neues Intellisense, etc.) und 2008 hat C++/CLI eingeführt, was weitaus besser verwendbar ist als C++ .NET.

Demirug
2009-07-21, 21:09:37
Tun sie nicht. VC++ 2010 bringt da wieder verstärkt Neues (Weitgehender C++0x-Support, bessere Optimierung des Codes, neues Intellisense, etc.) und 2008 hat C++/CLI eingeführt, was weitaus besser verwendbar ist als C++ .NET.

C++/CLI gibt es seit dem 2005. managed C++ war im 2003.

Der XNA Framework wurde ursprünglich mit dem 2005er geschrieben während die ursprünglich managed DirectX Version (jetzt deprecated) noch mit dem 2003er entwickelt wurde.

Coda
2009-07-21, 21:30:02
Sorry, hab's durcheinandergebracht. Gut, dann hat 2008 wirklich wenig für C++ getan, aber 2010 wird wieder einiges bringen.

Monger
2009-07-21, 22:47:01
Tun sie nicht. VC++ 2010 bringt da wieder verstärkt Neues (Weitgehender C++0x-Support, bessere Optimierung des Codes, neues Intellisense, etc.) und 2008 hat C++/CLI eingeführt, was weitaus besser verwendbar ist als C++ .NET.
Naja, die bleiben alle nicht stehen. Auch an Sprachfeatures steht in .NET 4.0 sowohl für C# als auch VB.NET so einiges an (ko- und kontravariante generische Typen, optionale Parameter, dynamische Typen...), aber ich sehe nicht, dass Microsoft C++/CLI in irgendeiner Weise pusht. Wieso auch? Existiert ja fast ausschließlich aus Legacy Gründen.

Coda
2009-07-21, 23:09:27
Das existiert nicht nur aus legacy Gründen. Vor allem nicht native code C++.

Gast
2009-07-22, 00:29:46
Existiert ja fast ausschließlich aus Legacy Gründen.

Würde ich so nicht sagen. Unmanaged heißt ja nicht gleich Legacy, es werden ja auch viele unmanaged APIs konsequent weiterentwickelt. Mit C++/CLI kann man eben bessere Brücken schlagen. Und selbst in der managed Welt kann man mit C++/CLI mehr machen als mit C#/VB.NET.

Shink
2009-07-22, 08:15:17
Zudem hängen leider auch meistens die Tools bei den Konsolen hinter denen für den PC. Versuch mal von Sony eine managend Umgebung für die PS3 zu bekommen.
Sorry for OT aber: Könnte das der Grund sein warum EA bei Sims 3 Mono verwendet (wenn auch nur fürs Scripting)?

Demirug
2009-07-22, 08:49:45
Das spielte schon eine Rolle dabei. Die genauen Details kenne ich aber auch nicht da ich mit Maxis nicht so viel zun tun habe.

Hier ist übrigens noch der Link zu dem Microsoft Wrapper. Inzwischen haben sie auch die 10er Version integriert. http://code.msdn.microsoft.com/WindowsAPICodePack

Crazy_Chris
2009-07-22, 09:02:03
Na ich werde mich dann mal um Visual Studio 2010 Beta bemühen. :biggrin: Hab hier zwar noch das 2005er Professionell aber das wird sicher nicht vernünftig unter Windows 7 laufen. Naja...erstmal in C# reinfuchsen.

Gast
2009-07-22, 09:31:28
Na ich werde mich dann mal um Visual Studio 2010 Beta bemühen. :biggrin: Hab hier zwar noch das 2005er Professionell aber das wird sicher nicht vernünftig unter Windows 7 laufen. Naja...erstmal in C# reinfuchsen.

Habe die Beta von Win7 zwar noch nicht ausprobiert, aber das 2005er Studio läuft unter Vista problemlos (muss man ggf. als Admin starten). Also denke ich, dass es unter Win7 nicht schlechter laufen wird.

TheGamer
2009-07-22, 10:56:32
@demirug

Ist da Direct3D10 komplett gewrapped ohne Einschraenkungen? Oder wie laeuft dass?

Demirug
2009-07-22, 11:20:02
@demirug

Ist da Direct3D10 komplett gewrapped ohne Einschraenkungen? Oder wie laeuft dass?

Ich habe mir jetzt nicht die aktuelle Version angesehen aber Ziel ist auf jeden Fall alles zu wrappen. Allerdings nur die Core API. Bei D3DX ist die Sache noch etwas problematisch da es ja eigentlich keine Windows7 API ist.