Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
nachdem ich ein paar Modelle in mein Programm geladen haben, ist mir aufgefallen, dass es teilweise doch sehr starkes Kanrenflimmern gibt.
Jetzt wollte ich einfach mal fragen ob man dieses Flimmern irgendwie weg bekommt?
Um die Modelle zu laden benutze ich die TriBase Engine, durch 8x Multi-Sampling habe ich zwar schon ein schöneres Ergebnis bekommen, leider aber nicht Perfekt.
Wodurch kommt dieses Flimmern eigentlich? Bei GTA IV ist mir damals das Flimmern schon sehr stark aufgefallen und da hatte ich mich schon gewundert, dass eine so große Firma wie Rockstar dieses Problem nicht in den Griff bekommt. Liegt das Flimmern an Tribase, DirectX, der Hardware oder doch am Programmierer?
Ich freue mich über jede Information, hier auch nochmal ein Bild von meinem Problem:
Das ist ein sehr grundlegendes Problem der Informatik, welches auf der endliche Darstellung von nicht endlichen Gegebenheiten basiert.
Nennt sich Aliasing. Dagegen macht man Antialiasing.
Da gibts eigentlich genug Stoff im Netz zu finden, darum erklär ich das jetzt hier nicht breit.
Ja stimmt, Anitaliasing sagt mir ja eigentlich was.
Da es aber bei der Tribase Engine im Configdialog keine entsprechende Option gibt, muss ich es mir wohl selbst schreiben bzw. erstmal drüber informieren.
Naja danke drakon!
Edit:Moment Multisampling ist doch Antialiasing oder? O.o
Ich glaube in Deinem Fall würde eine vernünftige Textur mit korrekter Kontur schon reichen, da muss kein Antialiasing her. Die Streifen und Kreise sind ein typisches Problem bei Farb-Übergängen mit nur wenigen Bits Unterschied. Ob das ebenfalls an Deiner Textur oder an der Beleuchtung liegt, das kann ich hier aber nicht entscheiden. Mit vernünftiger Textur dürfte sich aber auch das Problem verabschieden.
Da meine nächste Frage zum Thema passt stell ich sie gerade mal hier.
Und zwar wundert mich gerade etwas an meiner Skybox, also meine SkyBox besteht aus einem .dds Format mit 32 Bit, dieses .dds Datei wurde mit der Hilfe des DirectX Texture Tools aus 3 Bilder erstellt. Die 3 Bilder waren alle 32Bit und lagen im .hdr Format vor.
So nun zu meinem Problem, im Fenstermodus sieht die Sykbox wunderschön aus, keine Streifen oder sonst etwas. Im Vollbildmodus kommt mir die SkyBox allerdings so vor, als würde sie nur in 8 Bit Format vorliegen, da es extreme Streifen gibt.
Also laut Windows ist der Bildschirm auf 32Bit eingestellt, ich weiß nicht ob das Programm diese Einstellung manipulieren kann, denke aber nicht.
Sowieso kommt es mir so vor, als ob der Vollbildmodus von der TriBase Engine sehr verbuggt ist. Zum Beispiel werden bei mir die Texturen von Modellen nach dem Minimiren des Fensters nicht mehr geladen.
Naja, bei der TriBase Engine sollte man ja sowieso nicht zu lange bleiben, aber zum Üben find ich sie doch recht gut.
Noch eine Idee woran es liegen kann ? :/
Edit: Hier der Vergleich, Bild 1 im Vollbildmodus und Bild 2 im Fenster. Beide mit den gleichen Einstellungen. Der Unterschied ist meiner Meinung nach enorm.
1
Hm, vielleicht hast du DX komisch initialisiert. Das Stichwort zu dem Problem mit dem minimieren ist übrigens Lost Device, es werden alle Ressourcen gelöscht und du musst sie selber neu laden. Dazu sollte es im Buch auch ein Kapitel geben, meine ich. Ist kein Bug, eher ein "Feature" von DX.
Ja, dass mit dem Lost Device weiß ich, ich lade ja auch das Model neu, aber irgendwie läd er zwar das Model an sich, aber nicht die Textur.
Hm, vielleicht habe ich etwas übersehen, da muss ich nochmal nachschaun.
Und was heißt DirectX komisch initialisiert? Durch den Configdialog von TriBase kann man ja nicht soo viel falsch machen.
Aber gut ich werd nochmal drüber schaun :/