3D-Grafikprogrammierung



  • Moin, moin.

    3dfx rulez! schrieb:

    freecrac schrieb:

    Für die 3dfx-Voodoo-GPUs gibt es ein meterlange Liste von Portadressen, wo zwar dahinter kurze Stichwörter als Erklärung stehen, aber eine Anleitung wie man nun vorgehen muss fehlt.
    (Bitte korregieren wenn ich mich irren sollte.)

    Ja, gibt es.

    Guck hier:
    http://www.vogons.org/viewtopic.php?t=25606

    Aaah, danke schön. Leider habe ich schon seit einigen Jahren selber gar keine Voodoo-Karte mehr.

    Dirk



  • freecrac schrieb:

    Moin, moin.

    3dfx rulez! schrieb:

    freecrac schrieb:

    Für die 3dfx-Voodoo-GPUs gibt es ein meterlange Liste von Portadressen, wo zwar dahinter kurze Stichwörter als Erklärung stehen, aber eine Anleitung wie man nun vorgehen muss fehlt.
    (Bitte korregieren wenn ich mich irren sollte.)

    Ja, gibt es.

    Guck hier:
    http://www.vogons.org/viewtopic.php?t=25606

    Aaah, danke schön. Leider habe ich schon seit einigen Jahren selber gar keine Voodoo-Karte mehr.

    Dirk

    Brauchst du ja auch nicht.

    Mit der DOSEMU Voodoo Emulation kannst du ja problemlos in Assembler auf diese HW Emulation der Voodoo 1 zugreifen, ganz ohne GLIDE API & CO, das ist ja der Clou.

    Insofern steht deinem Vorhaben nichts im Wege und zur Voodoo 1 findest du alle Informationen die du brauchst.



  • Das Nutzen eine Emulators widerspricht dem Wunsch, keine Performance einzubuessen. Desweitern kann heutzutage nichtmehr direkt auf Hardware im allgemeinen bzw. GPUS im speziellen aus einem Userprogramm zugegriffen werden, wenn es beispielsweise um 3D geht.



  • knivil schrieb:

    Das Nutzen eine Emulators widerspricht dem Wunsch, keine Performance einzubuessen.

    Das tut er nicht.
    Da heute 3d Grafikkarten schneller sind als eine Voodoo 1 und die Voodoo 1 HW Emulation letzten Endes auf der Host Seite sowieso OpenGL verwendet, ist
    sein Programm auf alle Fälle schneller.

    Desweitern kann heutzutage nichtmehr direkt auf Hardware im allgemeinen bzw. GPUS im speziellen aus einem Userprogramm zugegriffen werden, wenn es beispielsweise um 3D geht.

    Das ist richtig, ein Grund mehr, dass er dafür die DOSBOX mit der Emulation verwendet, denn DOS stellt ihm da keine Hürden in den Weg.



  • 3dfx rulez! schrieb:

    knivil schrieb:

    Das Nutzen eine Emulators widerspricht dem Wunsch, keine Performance einzubuessen.

    Das tut er nicht.
    Da heute 3d Grafikkarten schneller sind als eine Voodoo 1 und die Voodoo 1 HW Emulation letzten Endes auf der Host Seite sowieso OpenGL verwendet, ist
    sein Programm auf alle Fälle schneller.

    Desweitern kann heutzutage nichtmehr direkt auf Hardware im allgemeinen bzw. GPUS im speziellen aus einem Userprogramm zugegriffen werden, wenn es beispielsweise um 3D geht.

    Das ist richtig, ein Grund mehr, dass er dafür die DOSBOX mit der Emulation verwendet, denn DOS stellt ihm da keine Hürden in den Weg.

    Was für ein Schwachsinn!



  • Mitnichten.

    1. Es ist nunmal Fakt, dass eine moderne GPU schneller ist, als eine inzwischen über 15 Jahre alte Voodoo 1.

    2. Es ist auch Fakt, dass ein modernes OS keinen direkten Zugriff auf die HW durch ein Programm zuläßt, dass im Userspace läuft.
    Damit ein Programm direkt auf die HW zugreifen darf, braucht es die entsprechenden Privilegien und die hat es in der Regel nicht, dafür sind Treiber da, die haben das.



  • 3dfx rulez! schrieb:

    Es ist auch Fakt, dass ein modernes OS keinen direkten Zugriff auf die HW durch ein Programm zuläßt, dass im Userspace läuft.

    Deswegen Benutz man die entsprechende API in einer nativen Anwendung, und nicht irgend einen Emulator 💡



  • Moin, moin.

    Regt euch ab Mädels, jeder darf es machen wie er es gerne möchte und es gibt keinen ernsthaften Grund einen Glaubenskrieg darüber zu führen.

    Ich selber hätte aber wenig Lust dazu überhaupt einen Treiber dafür zu verwenden, wenn ich so hardwarenah wie möglich programmieren möchte. Die Anwendung sollte dann auch selber gebootet werden können und keinesfalls emuliert werden. Das ist aber nur meine eigene Meinung darüber und diese möchte ich auch keinen Menschen aufzwingen wollen. Wenn es eine Nachahmung findet dann freue ich mich, wenn nicht, dann ist das auch völlig in Ordnung. Für mich ist es kein Wettbewerb, sondern allenfalls ein eigenes Training, um die grauen Zellen bei Laune zu halten. Nicht mehr und nicht weniger.

    Dirk



  • freecrac schrieb:

    Die Anwendung sollte dann auch selber gebootet werden können und keinesfalls emuliert werden.

    Quasi eine Demo die man ins CD-Laufwerk oder sonst was schiebt und den Rechner davon bootet? Wär früher vielleicht interessant gewesen, würde aber heute keiner mehr benutzen. Ich starte meinen Rechner z.B. nur sehr ungern neu und würde mich über sowas nur ärgern und es nicht tun, wenn es keinen trifftigen Grund dafür gibt.



  • TrollHunter schrieb:

    3dfx rulez! schrieb:

    Es ist auch Fakt, dass ein modernes OS keinen direkten Zugriff auf die HW durch ein Programm zuläßt, dass im Userspace läuft.

    Deswegen Benutz man die entsprechende API in einer nativen Anwendung, und nicht irgend einen Emulator 💡

    Dummerchen, der TS hat doch gesagt, dass er mit den Registern der GPU direkt rumspielen will und das geht eben nur durch die HW Emulation der Voodoo 1,
    denn die Voodoo 1 ist die einzige GPU, zu der ausreichend Informationen zur Verfügung stehen und wenn er keine Voodoo 1 hat, dann muss er die HW Emulation nehmen.



  • freecrac schrieb:

    und es gibt keinen ernsthaften Grund einen Glaubenskrieg darüber zu führen.

    Dummerchen hat Unrecht.

    Die Anwendung sollte dann auch selber gebootet werden können und keinesfalls emuliert werden.

    Das kann sie, wenn sie in der Emulation läuft, dann läuft sie auch auf echter HW. Da du dich weigerst die Emulation zu nehmen, mußt du eben eine Voodoo 1 kaufen.



  • Der letzte vernuenftige Post in diesem Thread:

    Direkt die HW ansprechen zu wollen basiert auf der falschen Annahme, dass durch eine API wie DirectX oder OpenGL Performance eingebuesst wird. Aber im Vergleich zu DirectX oder OpenGL ist eine Voodoo-1-Emulation die schlechteste Wahl, wenn es um Performance geht. Sie kann garnicht Features moderner Grafikkarten nutzen.



  • knivil schrieb:

    Der letzte vernuenftige Post in diesem Thread:

    ...mit Senfsosse...

    Direkt die HW ansprechen zu wollen basiert auf der falschen Annahme, dass durch eine API wie DirectX oder OpenGL Performance eingebuesst wird. Aber im Vergleich zu DirectX oder OpenGL ist eine Voodoo-1-Emulation die schlechteste Wahl, wenn es um Performance geht. Sie kann garnicht Features moderner Grafikkarten nutzen.

    Nö, du täuscht dich hierbei grundlegend, es geht mir weniger um die Performance, oder den Verlust davon, als vielmehr so weit wie möglich unabhängig zu sein. Eine Emulation, DirectX und auch OpenGL ist eine Abhängigkeit auf die ich selber so gut es geht und im weiten Umfeld gerne verzichten möchte. Nur wenn ich z.B. mein eigenes Freecrac-DirectX programmieren würde, dann wäre meine Unabhängigkeit bewahrt. Alles andere sind für mich nur fremde Sterne die allenfalls sonderbar funkeln und sonst gar keinen Reiz auf mich ausüben können. Was spielt es da denn noch für eine Rolle, ob die Performance doppelt so hoch ist, wenn es gar nicht meine eigene Schöpfung ist. Der Wert so etwas zu erschaffen liegt bei mir nur in der eigenen Arbeit selber und der Weg zum Ziel. Ist das Werk vollbracht, dann ist das Spiel und auch der Spaß daran doch schon wieder zu Ende. Ehre, Ruhm und Anerkennung ist für mir selber nur sehr wenig, bis gar nichts wert. Über einen solchen Personenkult kann ich allenfalls nur lachen, so kindisch und unreif kommt er mir vor.

    ...

    Auch habe ich es eigentlich selber nicht vor jemals wieder eine Voodoo-Karte zu verwenden und zu kaufen schon gar nicht, weil so wichtig finde ich es nun auch wieder nicht und meine damalige Voodoo2 und Voodoo3 habe ich nicht ohne Grund verschenkt, weil ich solche Karten selber nicht mehr verwenden möchte und dabei bleibe ich mir selber auch treu. Na klar hat jede Entscheidung seine Vor- und auch seine Nachteile und ich kann damit Leben. 🙂

    Dirk



  • Du laberst einen Muell zusammen ...



  • knivil schrieb:

    Du laberst einen Muell zusammen ...

    Dann habe ich also diesen Nerv mitten ins Zentrum getroffen!!! Hehehe. 🕶
    Das habe ich mir doch gleich gedacht, dass so ein Verständniss hier noch nicht so ganz durchgedrungen ist. Tut es noch doll weh, soll mal ich pusten?

    Ich wünsche Dir gute Besserung, das wird schon wieder heilen, mache dir bloss keine Sorgen, alles wird gut.

    Dirk



  • Ich nehme an, du arbeitest auch ausschließlich nur mit dem von dir selbst gebauten Assembler und dem von dir selbst geschriebenen Betriebssystem!?



  • dot schrieb:

    Ich nehme an, du arbeitest auch ausschließlich nur mit dem von dir selbst gebauten Assembler und dem von dir selbst geschriebenen Betriebssystem!?

    Ganz so ehrgeizig war ich selber aber dann doch noch nicht. Aber die Richtung stimmt sonst und Rom wurde ja auch nicht an einem Tag gebaut.....und was noch nicht ist, das kann noch werden. Ich habe ja keine Eile und der Weg ist das Ziel.

    Ist das denn wirklich so schwer zu verstehen?

    Dirk



  • freecrac schrieb:

    Ist das denn wirklich so schwer zu verstehen?

    Absolut nicht, ich bin ja selbst auch so drauf...

    Aber auch wenn der Weg das Ziel ist, musst du zumindest entlang des Wegs entscheiden, in welche Richtung der Weg erstmal gehen soll. Willst du 3D Grafik an sich verstehen? Dann beschäftige dich mit der Theorie dahinter und schreib deinen eigenen Software Renderer. Das allein ist potentiell eine der interessanten Übungen überhaupt. Dafür brauchst du auch nicht mehr, als eine Möglichkeit, Bilder auszugeben...



  • knivil schrieb:

    Direkt die HW ansprechen zu wollen basiert auf der falschen Annahme, dass durch eine API wie DirectX oder OpenGL Performance eingebuesst wird. Aber im Vergleich zu DirectX oder OpenGL ist eine Voodoo-1-Emulation die schlechteste Wahl, wenn es um Performance geht. Sie kann garnicht Features moderner Grafikkarten nutzen.

    Der TS möchte aber sein Assemblerwissen vertiefen, also etwas dabei lernen und direkt an den Registern der GPU herumspielen und das geht eben über die APIs wie DirectX und OpenGL nicht und für moderne GPUs gibt's keine ausreichenden Infos, also hat er keine andere Wahl, als zur Voodoo 1 zu greifen und da ist es dann zum entwickeln am besten, wenn man das über die Emulation macht, wovon die von Dosbox die einzigste ist.

    PS, man Beachte:
    Das Voodoo Zeugs ist noch nicht im offiziellen DOSBOX Repo.



  • freecrac schrieb:

    Nö, du täuscht dich hierbei grundlegend, es geht mir weniger um die Performance, oder den Verlust davon, als vielmehr so weit wie möglich unabhängig zu sein. Eine Emulation, DirectX und auch OpenGL ist eine Abhängigkeit auf die ich selber so gut es geht und im weiten Umfeld gerne verzichten möchte.

    Eine Emulation ist keine Abhängigkeit, denn wie ich bereits sagte,
    was auf der Emulation läuft, läuft auch auf echter Hardware.

    Dein fertiger Binärcode ist auch nicht abhängig von der Emulation, wie es
    bei einer API DirectX oder OpenGL der Fall wäre, du kannst das Maschinencode Compilat nehmen und in eine echte HW stecken und es wird laufen.

    Die Abhängigkeit die du dir einbaust ist lediglich die Abhängigkeit zu einer ganz bestimmten GPU eines ganz bestimmten GPU Herstellers.

    Auch habe ich es eigentlich selber nicht vor jemals wieder eine Voodoo-Karte zu verwenden und zu kaufen schon gar nicht, weil so wichtig finde ich es nun auch wieder nicht

    Na wenn du das so siehst, dann kannst du ja gerne mal AMD und NVidia Fragen, ob sie dir die notwendigen Informationen die du zum Programmieren brauchst, schicken. MEGALOL 😃

    Tipp:
    Wenn du eine NDA unterzeichnest, dann steigen deine Chancen um ein paar wenige Prozenztpunkte, wenn du dann noch GPU Chips in > 1 Mio Stückzahlen dazu bestellst, dann dürftest du sogar ne echte Chance haben.

    und meine damalige Voodoo2 und Voodoo3 habe ich nicht ohne Grund verschenkt,

    Wie kann man nur so etwas wertvolles verschenken, die Könige der GPUs, auch wenn sie schon alt sind, so haben sie alle Sammlerwert.
    Schließlich ist eine Voodoo 2 keine popelige TNT2.

    weil ich solche Karten selber nicht mehr verwenden möchte

    Für so etwas baut man Retrorechner.


Anmelden zum Antworten