Muss ich veraltetes DirectX 9 lernen?



  • Ich verwende für D3D9 das August 2008 SDK: http://www.microsoft.com/en-us/download/details.aspx?id=22508
    (Frag mich nicht wieso, hab einfach seit damals nimmer upgedated)

    Geht mit VS 2005 und VS 2008 super. dinput8.lib ist da auch noch dabei. dinput8.lib findet sich ansonsten aber auch in den neuen Windows SDKs (DirectInput wurde vom DX SDK ins Windows SDK übersiedelt).

    Neuere SDKs müssten aber genau so gut gehen, nur dann eben kombiniert mit einem ebenso neuen Windows SDK.

    Das letzte SDK mit DirectMusic Support scheint wohl das Summer 2004 Update zu sein (=das "DirectX 9.0c SDK"): http://www.microsoft.com/en-us/download/details.aspx?id=21416

    DirectMusic wurde von MS abgewürgt, keinerlei Support mehr. Ab besten nicht mehr verwenden. Sonst würde ich empfehlen trotzdem ein neueres SDK zu verwenden und einfach nur die paar benötigten DirectMusic Files aus dem Summer 2004 Update zu kopieren.
    (Einfachste Möglichkeit dranzukommen: Summer 2004 Update runterladen & installieren, DirectMusic Files suchen & rauskopieren, Summer 2004 Update wieder de-installieren)

    ps: nicht vom "Update" im Namen verwirren lassen, das ist schon ein vollständiges SDK



  • Direct3D ist so ziemlich das einzige, was von den historischen Teilen von DirectX noch üblich ist. DirectDraw, DirectPlay, DirectInput, DirectSound, DirectMusic, ... gibts alles nicht mehr (bzw. sind bestenfalls deprecated). Verwend ein aktuelles SDK, konzentrier dich auf Direct3D und vergiss den anderen Kram einfach.



  • mach ich was ich eig wissen wollte wie ersetz ich die dmusicii so das die auf den aktuellen sdk laufen ich hab gelesen das DirectXAudio die header enthält aber das neue sdk hat die header nicht wie ersetz ich die, mit was ? Wer enthält jetzt die funktionalität?

    LOL wartet mal wenn das letzte SDK 2004 DirectMusic enthält... Warum kann ich es mit August 2007 kompilieren und warum sind die dmusicii.h und dmusic.h da noch vorhanden?



  • Hi Leute,

    ich möchte mich jetzt in meiner Ausbildung zum Fachinformatiker
    mit der 3D-Programmierung in C++ beschäftigen und suche seit Tagen
    ein gutes Buch zu DirectX 9 oder 11. Aber zu DirectX 11 finde ich
    kein gutes Lesewerk (das Buch zu DirectX 11 von Susanne W. soll laut
    den Rezessionen nur eine schlechte Kopie der Doku sein...), jedenfalls
    habe ich mich bisher auf das Buch (http://goo.gl/N6GHU) von
    David S. fixiert, da viele sagen, es sei gut. Nur hätte ich ein paar
    Fragen zum Buch, bevor ich es mir kaufe.

    1. Lohnt sich der Einstieg in DirectX 9 im Jahre 2012 noch?
    2. Sie Beschreibung zum Buch ist auf einigen Seiten unterschiedlich,
    mitunter ist die Rede vom Bau einer eigenen Game-Engine "TriBase" oder
    es wird beschrieben das man die "TriBase" Game-Engine nutzt und somit
    von dieser abhängig ist. Programmiert man nun im Buch eine eigene
    Game-Engine oder lehrt der Autor stattdessen seine eigene (was für mich
    ein No-Go wäre)?

    P.S.: Sorry, dass ich mich hier einfach einmische und euch mit Fragen löchere.



  • Werri schrieb:

    LOL wartet mal wenn das letzte SDK 2004 DirectMusic enthält... Warum kann ich es mit August 2007 kompilieren und warum sind die dmusicii.h und dmusic.h da noch vorhanden?

    Vermutlich weil ich mich getäuscht habe, und das Summer 2004 Update doch nicht das letzte SDK ist wo DirectMusic drin ist 😃

    Werri schrieb:

    mach ich was ich eig wissen wollte wie ersetz ich die dmusicii so das die auf den aktuellen sdk laufen ich hab gelesen das DirectXAudio die header enthält aber das neue sdk hat die header nicht wie ersetz ich die, mit was ? Wer enthält jetzt die funktionalität?

    Die Funktionalität von DirectMusic gibt's soweit ich weiss gar nirgends mehr. MS hat wohl entschieden dass es ein Schuss ins Ofenrohr war.



  • dot schrieb:

    Direct3D ist so ziemlich das einzige, was von den historischen Teilen von DirectX noch üblich ist. DirectDraw, DirectPlay, DirectInput, DirectSound, DirectMusic, ... gibts alles nicht mehr (bzw. sind bestenfalls deprecated). Verwend ein aktuelles SDK, konzentrier dich auf Direct3D und vergiss den anderen Kram einfach.

    Ach geh so kann man das net sagen.

    Mag sein dass DirectDraw, DirectSound und DirectInput deprecated sind, aber es gibt sie auf jeden Fall noch, und zwar als Teil des Windows SDK.
    Bei den dreien sehe ich auch keine Gefahr dass MS den Runtime-Support in absehbarer Zeit einstellen wird, die sind einfach immer noch viel zu weit verbreitet.

    Bei DirectPlay und DirectMusic sieht die Sache dagegen etwas düster aus.



  • Es muss doch irgendwas geben was die funktionalität die directmusic geboten hat ersetzt. Ein anderes Interface eine andere Komponente, was hat den genau DirectMusic gemacht MIDI abgespielt? Dann muss doch irgendwas geben mit der ich das im Quellcode ersetzen kann es handelt sich um dieses Listing http://download1.pearsoned.de/download/download.asp?fileID={049F7C37-5C52-4FDE-98C7-FBEC7B7D5054}



  • Es muss doch irgendwas geben was (...)

    Nein, muss es nicht. Wieso sollte es das müssen?



  • hustbaer schrieb:

    Mag sein dass DirectDraw, DirectSound und DirectInput deprecated sind, aber es gibt sie auf jeden Fall noch, und zwar als Teil des Windows SDK.
    Bei den dreien sehe ich auch keine Gefahr dass MS den Runtime-Support in absehbarer Zeit einstellen wird, die sind einfach immer noch viel zu weit verbreitet.

    Ja, DirectSound und DirectInput gibt es aus Kompatibilitätsgründen noch. DirectSound wird ab Windows Vista in Software emuliert und der einzige Grund, um noch DirectInput zu benutzen, sind wohl Joysticks mit Force Feedback, da es in dem Fall keine Alternative gibt. Was Maus und Tastatur betrifft, rät die MSDN selbst von DirectInput ab und verweist auf Windows Messages oder RAW Input...



  • Ja, ich sag ja nicht dass man das unbedingt verwenden soll.

    Ich sehe aber auch keinen Grund bestehenden Code jetzt unbedingt zu portieren. Seis nun Code den man selbst geschrieben hat, oder auch Code aus einem Tutorial.

    Jetzt noch eine dieser APIs zu lernen wenn man sie noch nicht kann halte ich auch für sinnfrei. Ausgenommen man hat gute Gründe, wie z.B. man muss in der Arbeit grössere Wartungsarbeiten an Programmen machen die eine dieser APIs einsetzen.

    So war das gemeint.



  • dot schrieb:

    hustbaer schrieb:

    Mag sein dass DirectDraw, DirectSound und DirectInput deprecated sind, aber es gibt sie auf jeden Fall noch, und zwar als Teil des Windows SDK.
    Bei den dreien sehe ich auch keine Gefahr dass MS den Runtime-Support in absehbarer Zeit einstellen wird, die sind einfach immer noch viel zu weit verbreitet.

    Ja, DirectSound und DirectInput gibt es aus Kompatibilitätsgründen noch. DirectSound wird ab Windows Vista in Software emuliert und der einzige Grund, um noch DirectInput zu benutzen, sind wohl Joysticks mit Force Feedback, da es in dem Fall keine Alternative gibt. Was Maus und Tastatur betrifft, rät die MSDN selbst von DirectInput ab und verweist auf Windows Messages oder RAW Input...

    du scheinst sehr viel ahnung zu haben, es wäre echt cool wenn ich mich mit dir austauschen könnte! Gehst du in dein msn im benutzerprofil auch mal on oder so??? ich kann dir imm forum keine pm schicken`? Wäre echt cool!



  • Kann ich auch hilfe zu DirectX bekomen dot? ich verstehe die doko nicht...



  • @Werri
    Ich hab kein MSN, du musst mich mit jemandem verwechseln.
    Falls du in die Links in meiner Signatur geschaut hast, die Projekte sind von einem Freund von mir.
    Bei Lichttools hab' ich lediglich den Windows-Port beigesteuert, und beim anderen steht sogar extra dabei "Sehr cooles ASCII Spiel (leider nicht von mir)" um Misverständnissen vorzubeugen.

    PM schicken geht hier tatsächlich nicht, aber man kann Emails an Mitglieder schicken - und das funktioniert auch.

    Private Hilfe per Skype/Chat/... gebe ich auch nicht gerne, da es einfach sehr störend bzw. aufwendig ist. Es mag zwar für den Hilfesuchenden so aussehen als wären das nur ein paar Fragen nebenbei und nicht so schlimm, aber ich weiss aus Erfahrung dass sich Erklärungen zu gewissen Themen oft über Stunden hinwegziehen.



  • nein das verlange ich nicht ich beschäftige mich zwar schon lange mit c++ und jetzt auch mit windows nur das problem ist das ich nirgendswo finde wie ich die funktionalität von directmusic ersetzt directmusic hat glaube midis abgespielt das muss doch mit directx9.0c auch gehen wenn es kein directmusic mehr gibt und es wäre toll wenn jemand der erfahrungen mit den alten directx version hat vielleicht er muss mir keine step by step hilfe geben es reicht mir wenn ich ein englisches tutorial finde ode rhabe was mir die genauen änderungen der versionen damit meine ich in quelltext form nicht wie in msdn geben kann dann würde ich weiter kommen!



  • und ich nicht, nur weil ich türke bin? -.-"



  • Werri schrieb:

    nein das verlange ich nicht ich beschäftige mich zwar schon lange mit c++ und jetzt auch mit windows nur das problem ist das ich nirgendswo finde wie ich die funktionalität von directmusic ersetzt directmusic hat glaube midis abgespielt das muss doch mit directx9.0c auch gehen wenn es kein directmusic mehr gibt und es wäre toll wenn jemand der erfahrungen mit den alten directx version hat vielleicht er muss mir keine step by step hilfe geben es reicht mir wenn ich ein englisches tutorial finde ode rhabe was mir die genauen änderungen der versionen damit meine ich in quelltext form nicht wie in msdn geben kann dann würde ich weiter kommen!

    Zum MIDIs spielen kannst du das uralte MCI verwenden, das wird immer noch unterstützt.
    DirectMusic konnte soweit ich weiss aber wesentlich mehr, und dafür gibt es soweit ich weiss keinen Ersatz.

    Aber spiel doch einfach MP3s? Wieso versteifst du dich darauf dass es unbedingt DirectMusic/MIDI/... sein muss? Ein MIDI File kannst du auch mit nem Software-Synthi als WAV rausrendern und dann nach OGG/MP3/... konvertieren.



  • Emre Yildirim schrieb:

    und ich nicht, nur weil ich türke bin? -.-"

    😕
    Stell mal konkretere Fragen...

    Edit: Ich frage mich, wieso man nicht eine Engine (Irrlicht, Ogre, usw.) zum 3D-Programmieren nimmt.


Anmelden zum Antworten