13.01.2019, 17:43
0
Nochmal ein Status Update zu 3DFX unter DOSBox.
@Andi
Das ist auch so ein Ding. Niemand entwickelt die Sources zu 3DFX weiter.
DOSBox-X, ECE nicht. Daum und Gulikoza machen auch seit jahren nichts mehr.
Die Original Sources kommen von Aaron Giles. Einem Mame Autor. Selbst PcEM
x86Box etc. haben die Entwickler die Sources 1 zu 1 übernommen. Mit änderungen
natzürlich um sie an den eigenen Emu anzupassen. Wenn mame die Voodoo Sources
update kann man also auch unter PcEm mit einem Update rechen.
@All
Auflösungen können skaliert werden. Standard Auflösungen unter Voodoo sind ja
512x384 bzw. 640x480. Nun lässt sich 99% jedes Spiel in 'HD' Spielen. Man kann
also die Auflösungen ins unermessliche pushen ohne das die 3D Grafik pixelig
verdoppelt wird.
99%?. Ausser Blood. Dazu weiter unten.
Beispiel PYl aka Dust 3DFX. Das Spiel hat ein festgesetze grösse von 640x480:
Fullscreen Exklusiv Desktop (1920x1080) (Wenn der desktop 4k ist, dann in 4K )
Das Stretching ist aber gar nicht schön. Deshalb gibt es eine kleine Berechnungs Routine
für Auflöungen die dann denn Aspect für Widescreen Auflösungen berichtigt.
Lässt sich über die Config ein und Auschalten: (voodoo_aspect = true)
Die schwarzen Balken sind auch wieder nervig. Diese sind aber fest verbaut. Deshalb habe
ich mir ne art zoom Modus eingebaut. Diese lässt sich, seperat für die Höhe und Weite,
mit Postiven oder Negativen Zahlen über die Config Steuern.
ZoomScreen_Width = 0
ZoomScreen_Height = 45
Jetzt könnte man natürlich noch die Weite ein wenig herauskitzeln.
Probleme mit grösseren Auflöungen Beseitigt. Beim hochskalieren entstehen hässliche Transparente
Bilder. Beseitigt habe ich das problem mit glPointsize und einer Berechnugs Routine für die
Aktuelle grösse. Lässt sich über die Config steuern. Mit dem wert True wird das problem
behoben. Das problem haben wiederum nicht alle games. Deshalb auch das Einstellen über
die Config.
Weiteres Problem Beseitigt: Feste.. verdammte festgesetzte Auflösung. Das Problem mit dem Viewport
kann man umgehen wenn man den Wert glScissor_flag von True auf False setzt. Dann umgeht
DOSbox die berechnung und nutzt eine andere. Ich habe das im Linken bild mal markiert.
Das ist der einzige Bereich der sich anständig verhält. Alles andere Flackert nur
Weiteres Problem Beseitigt: Um so höher die Auflösung, um so weiter in ferne werden objekte entfernt.
Hier in Pyl. Dort haben die Entwickler wohl die Entfernung der Objekte an die
Auflösung gekoppelt. Ist mit bisher nur bei diesen Game aufgefallen.
Umgehen konnte ich das, wenn man im Source von DOSbox den glOrtho und die Fliesskomma Zahlen
werte ändert. Das lässt sich über die Config steuern. Standard ist immer 0.0 und -1.0.
Blood 1 3DFX, Alpha Port
Es läuft. Allerdings nur auf 512x384, 640x480 und 800x600. Alles was grösser ist bricht mit einem
Blood Screen.cpp, "Standard Videomode not found" ab. Es ist bisher das Einzige 3DFX Game was
dermassen rumzickt. Sobald sich die Interne Skalierung erhöht ist schicht im schacht. Aber auch die
Geschwindigkeit lässt zu wünschen übrig. Da wo Half Life 1 quasi Rennt geht die FPS bei Blood 3DFX
runter. Selbst bei QDosFX (Quake 1 3DFX) oder Q2Dos (Quake2 3DFX) habe ich 45-75 FPS)
Aber die Die Filterung funktioniert endlich auch. Dazu muss aber im ATI/nVidia Control Panel
die Anisotropische Filterung ausgeschaltet werden. Trilineare Filterung funktioniert auch nicht.
Habe ich im Coee schon getestet.
Um die Auflösung von 800x600 zu bekommen. Muss aber auch die selbe auflösung in der Blood.cfg
drin stehen.
Ungefiltert/ Gefiltert
PS: Bei den ganzen Fixes von Problemen bin ich schon ein wenig stolz auf mich.
Lässt sich mit mein Fork nun auch ohne die Hilfe eines Wrappers DOS und Win9x 3DFX games
in hohen Auflösungen Spielen dazu bleibt noch die kompatibilität zu Windows9x 100% bestehen.
Nun beschäftige ich mich mit weiteren Filterungen ...... gibt ja noch Mipmap etc..
@Andi
Das ist auch so ein Ding. Niemand entwickelt die Sources zu 3DFX weiter.
DOSBox-X, ECE nicht. Daum und Gulikoza machen auch seit jahren nichts mehr.
Die Original Sources kommen von Aaron Giles. Einem Mame Autor. Selbst PcEM
x86Box etc. haben die Entwickler die Sources 1 zu 1 übernommen. Mit änderungen
natzürlich um sie an den eigenen Emu anzupassen. Wenn mame die Voodoo Sources
update kann man also auch unter PcEm mit einem Update rechen.
@All
Auflösungen können skaliert werden. Standard Auflösungen unter Voodoo sind ja
512x384 bzw. 640x480. Nun lässt sich 99% jedes Spiel in 'HD' Spielen. Man kann
also die Auflösungen ins unermessliche pushen ohne das die 3D Grafik pixelig
verdoppelt wird.
99%?. Ausser Blood. Dazu weiter unten.
Beispiel PYl aka Dust 3DFX. Das Spiel hat ein festgesetze grösse von 640x480:
Fullscreen Exklusiv Desktop (1920x1080) (Wenn der desktop 4k ist, dann in 4K )
Das Stretching ist aber gar nicht schön. Deshalb gibt es eine kleine Berechnungs Routine
für Auflöungen die dann denn Aspect für Widescreen Auflösungen berichtigt.
Lässt sich über die Config ein und Auschalten: (voodoo_aspect = true)
Die schwarzen Balken sind auch wieder nervig. Diese sind aber fest verbaut. Deshalb habe
ich mir ne art zoom Modus eingebaut. Diese lässt sich, seperat für die Höhe und Weite,
mit Postiven oder Negativen Zahlen über die Config Steuern.
ZoomScreen_Width = 0
ZoomScreen_Height = 45
Jetzt könnte man natürlich noch die Weite ein wenig herauskitzeln.
Probleme mit grösseren Auflöungen Beseitigt. Beim hochskalieren entstehen hässliche Transparente
Bilder. Beseitigt habe ich das problem mit glPointsize und einer Berechnugs Routine für die
Aktuelle grösse. Lässt sich über die Config steuern. Mit dem wert True wird das problem
behoben. Das problem haben wiederum nicht alle games. Deshalb auch das Einstellen über
die Config.
gl_PointSize_use = false > gl_PointSize_use = true
Weiteres Problem Beseitigt: Feste.. verdammte festgesetzte Auflösung. Das Problem mit dem Viewport
kann man umgehen wenn man den Wert glScissor_flag von True auf False setzt. Dann umgeht
DOSbox die berechnung und nutzt eine andere. Ich habe das im Linken bild mal markiert.
Das ist der einzige Bereich der sich anständig verhält. Alles andere Flackert nur
glScissor_flag = true > glScissor_flag = false
Weiteres Problem Beseitigt: Um so höher die Auflösung, um so weiter in ferne werden objekte entfernt.
Hier in Pyl. Dort haben die Entwickler wohl die Entfernung der Objekte an die
Auflösung gekoppelt. Ist mit bisher nur bei diesen Game aufgefallen.
Umgehen konnte ich das, wenn man im Source von DOSbox den glOrtho und die Fliesskomma Zahlen
werte ändert. Das lässt sich über die Config steuern. Standard ist immer 0.0 und -1.0.
gl_ortho_zNear = 0.0 > gl_ortho_zNear = 0.1111111
gl_ortho_zFar= -1.0 > gl_ortho_zFar= -9.5555555
Blood 1 3DFX, Alpha Port
Es läuft. Allerdings nur auf 512x384, 640x480 und 800x600. Alles was grösser ist bricht mit einem
Blood Screen.cpp, "Standard Videomode not found" ab. Es ist bisher das Einzige 3DFX Game was
dermassen rumzickt. Sobald sich die Interne Skalierung erhöht ist schicht im schacht. Aber auch die
Geschwindigkeit lässt zu wünschen übrig. Da wo Half Life 1 quasi Rennt geht die FPS bei Blood 3DFX
runter. Selbst bei QDosFX (Quake 1 3DFX) oder Q2Dos (Quake2 3DFX) habe ich 45-75 FPS)
Aber die Die Filterung funktioniert endlich auch. Dazu muss aber im ATI/nVidia Control Panel
die Anisotropische Filterung ausgeschaltet werden. Trilineare Filterung funktioniert auch nicht.
Habe ich im Coee schon getestet.
Um die Auflösung von 800x600 zu bekommen. Muss aber auch die selbe auflösung in der Blood.cfg
drin stehen.
Ungefiltert/ Gefiltert
PS: Bei den ganzen Fixes von Problemen bin ich schon ein wenig stolz auf mich.
Lässt sich mit mein Fork nun auch ohne die Hilfe eines Wrappers DOS und Win9x 3DFX games
in hohen Auflösungen Spielen dazu bleibt noch die kompatibilität zu Windows9x 100% bestehen.
Nun beschäftige ich mich mit weiteren Filterungen ...... gibt ja noch Mipmap etc..