3D-Grafikprogrammierung
-
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.
-
Es gibt zumindest von Intel und AMD Manuals, AMD ist zwar auch nichtmehr wirklich aktuell, aber auf jeden Fall aktueller als Voodoo. Abgesehen davon, gibt's Open Source Driver...
Rein prinzipiell ist es imo aber sinnvoller, erstmal zu versuchen, 3D Grafik zu verstehen, bevor man sich dran macht, die Hardware zu verstehen...
3dfx rulez schrieb:
Die Abhängigkeit die du dir einbaust ist lediglich die Abhängigkeit zu einer ganz bestimmten GPU eines ganz bestimmten GPU Herstellers.
Was natürlich wesentlich besser ist als die Abhängigkeit von OpenGL oder Direct3D, die auf allen möglichen Grafikkarten aller möglichen Hersteller laufen...
-
dot schrieb:
3dfx rulez schrieb:
Die Abhängigkeit die du dir einbaust ist lediglich die Abhängigkeit zu einer ganz bestimmten GPU eines ganz bestimmten GPU Herstellers.
Was natürlich wesentlich besser ist als die Abhängigkeit von OpenGL oder Direct3D, die auf allen möglichen Grafikkarten aller möglichen Hersteller laufen...
Der TS will ja genau diese Abhängigkeit zu einer ganz bestimmten GPU eines ganz bestimmten Herstellers.
Wenn es nach mir ginge, dann wäre der Thread hier kein Thema.
Denn ich würde nen SW Renderer schreiben oder OpenGL verwenden.
Aber der TS will ja auf Register in Assembler programmieren.Das Problem liegt an euch, weil ihr die Entscheidung des TS nicht akzeptieren wollt, während ich ihm eine Lösung anbieten kann, die seinem Wunsch entspricht, nur will er diese Lösung auch nicht womit ich zum Fazit komme, dass dem TS nicht zu helfen ist.
Er muss es halt dann ganz alleine auf die harte Tour lernen.
-
Guten Morgen.
3dfx rulez schrieb:
Eine Emulation ist keine Abhängigkeit, denn wie ich bereits sagte, was auf der Emulation läuft, läuft auch auf echter Hardware.
Es kommt wohl auch auf die Art der Emulation an und wie weit emuliert wird, ob Hardware, oder Software emuliert wird.
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.
Ich bevorzuge lieber Hardware ohne eine Emulation. Aber downgraden möchte ich meine Hardware auch nicht.
Die Abhängigkeit die du dir einbaust ist lediglich die Abhängigkeit zu einer ganz bestimmten GPU eines ganz bestimmten GPU Herstellers.
Ich bin noch nicht davon so überzeugt davon, das sich die GPUs von einem der beiden grossen Hersteller untereinander so gewaltig unterscheiden.
Ich vermute die Geforce 1 kann man ähnlich programmieren wie auch die neuesten Modelle von NVidia und das selbe vermute ich auch bei allen Radeons, auch wenn die ältesten Modelle nur einen kleinen Bruchteil von den Möglichkeiten als gemeinsamen Nenner davon zur Verfügung stellen.Das jede neue GPU sich grundlegend geändert hat was die Grundfunktione betrifft glaube ich zur Zeit nicht, sondern das es sehr viele Gemeinsamkeiten gibt wie man die Karten intern anspricht und das die Unterschiede dabei nur marginal sind bei den ersten Funktionen der ersten Modelle aus der jeweiligen Baureihe von Radeons und Geforce.
Damit gäbe es diese Abhängigkeit zu einer bestimmten GPU nur in Hinsicht auf die Anzahl der Funktionen die bei neueren Modellen hinzugekommen sind.
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
Dann aber nur ohne Stillschweigevereinbarung, weil ich nicht gewillt bin solche Informationen bei mir zu behalten, sondern diese Wissen dann selber verbreiten werde, wenn auch nicht in dem Umfang wie grosse Herstellen es können. Aber wenn die Herstellen so etwa beabsichtigt hätten, dann wären diese Informationen vermutlich schon seit geraumer Zeit bekannt gegeben worden.
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.Unterzeichen kann ich das gerne, nur halten würde ich mich an so einer Vereinbarung trozdem bestimmt nicht. In diesem Fall könnte es sich wie ein Lauffeuer ausbreiten, auch dann wenn ich als Brandstifter dafür büssen sollte.
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.
Ich selber sammel nur immaterielle Werte. Alles andere hat für mich beinahe gar keinen Wert.
Schließlich ist eine Voodoo 2 keine popelige TNT2.
Für mich selber sind solche Karten heute völlig wertlos, ich würde sie nicht einmal geschenkt nehmen. Allenfalls umn sie im DOS-Forum weiter zu verschenken.
weil ich solche Karten selber nicht mehr verwenden möchte
Für so etwas baut man Retrorechner.
Habe ich selber kein Interess daran. Ich erwerbe nur relativ neue Hardware, aber ich bin mir noch nicht sicher, ob ich mir erneut einen neueren PC mir anschaffen werde. Auch deswegen weil es damit möglicherweise Probleme geben könnte eigene Anwendungen zu booten. Ich habe z.B auch kein eigenes Auto, weil man an den neuen Auto von heute nicht mehr selber herumbasteln kann und ich eigentlich auch ohne ein eigenes Auto zu besitzen ganz gut in Hamburg zurecht komme und gar kein eigenes Auto in Wirklichkeit brauche. Wenn, dann kann ich mir ja eins ausleihen. Aber selber besitzen möchte ich solche modernen Autos nicht. Die Auto gefallen mir allesamt gar nicht mehr und deswegen möchte ich solche Autos nicht mal geschenkt haben.
Dirk