Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Hallo!
Ich habe zur Zeit folgendes Problem, das ich einfach nicht lösen kann:
Ich hab mir selber einen kleinen 3ds Importer geschrieben (naja, mehr oder weniger von C nach Delphi übersetzt ), den ich auf meine Wünsche angepasst hab. Er kann eigentlich alle 3ds-Modelle fehlerfrei importieren. Sobald ich aber die Modelle texturiere und dann mit der Kamera um das Objeckt herumfahre, zeigen sich ganz komische "Effekte". So werden Kugeln, die eigentlich hinter etwas anderem liegen, einfach sichtbar. Fährt man mir der Kamera weiter, rücken sie wieder in den Hintergrund und sind nicht mehr sichtbar, was immer so weiter geht. Auch wenn ich das ganze in eine Displaylist lade, "flattern" die Polygone immer noch so komisch.
(Folgendes Bild: Im roten Kreis sollte eigentlich die untere Kugel unter der darüber sein)
Das ganze erinnerte mich ganz stark an Culling, das aber ausgeschaltet ist. Es schaut mir irgendwie so aus, als würde hier so was wie ein Z-Test die Irritationen verursachen!?
Vielen Dank schon mal!
Ciao,
La_Boda
PS: Bitte keine Antworten wie: "Nimm doch einfach mal den ... 3ds-Loader von ...", weil ich glaube, das Problem ist schon ein bisschen essentieller und ich möchte das gerne klären!
PPS: Hier ein Link zu meinem 3ds Tester: http://laboda.delphigl.com/problem/3dsTest.exe !
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Ich tippe mal ganz konkret darauf dass du einfach vergessen hast den Tiefentest zu aktivieren oder in falsch gesetzt hast. Also probiers mal mit glEnable(GL_DEPTH_TEST) und glDepthFunc(GL_LESS).
P.S. : Deine Anwendung kann ich nicht testen, da du sie ohne Packages kompiliert hast.
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Danke,
werds mal ausprobieren (kann ein bisschen dauern, sitze gerade an einem anderen PC).
La_Boda
PS: S***, das passiert mir immer wieder, du kannst dir gar net vorstellen, wie nervig das is, wenn man die packages vergisst
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Vielen, vielen Dank, es funzt jetzt!
Ich hab deinen Tipp aber noch mit einem glScale-Befehl kombinieren müssen, da das Objekt so groß war, dass es über den Far-Clipping-Wert hinausgegangen ist.
Nochmals vielen Dank,
La_Boda
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Hab jetzt das ganze Progg ein bisschen weiter entwickelt, werde es bald veröffentlichen.
Nun hat sich aber wieder dieser unschöne Effekt bemerkbar gemacht, wie ich ihn oben schon beschrieben habe. Zur veranschaulichung habe ich nochmal zwei Screens:
So schauts aus der Nähe aus. Je weiter man sich von dem Objekt entfernt, desto größer werden die "Stufen":
Deaktiviertes AA sollte es nicht sein, die Bilder entsprechen der Originalgröße, und ich habe ehrlich gesagt noch nie so große (1 cm !!!) in einem Spiel gesehen. Bitte kann mir jemand helfen...
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Definitiv ein Tiefenpufferproblem im Zusammenhang mit dessen Auflösung. Du verteilst den bestimmt sehr ungünstig (sehr kleine nahe Schnittfläche und sehr weit entfernte ferne Schnittfläche), dadurch entstehen solche Kanten. Also teil den Z-Puffer besser auf und das Problem sollte verschwinden.
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Öhem... ... wie macht man das?
Habe mich mit sowas noch ned beschäfigt, aber wahrscheinlich ist das eine Einstellung im Pixelformat?
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Die letzten beiden Parameter bei gluPerspective. Near sollte man so weit wie möglich rausschieben, und far so nahe wie möglich bringen, damit die beste Z-Puffer-Auflösung gewährleistet wird. near=1 und far=2048 ist z.B. besser als near=0.1 und far=512.
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Vielen, Vielen Dank das hat endlich geholfen!
Hab jetzt near bei 1 und far bei 8192, weil ich ein sehr weitläufiges Terrain habe.
Habe immer gedacht diese zwei Variablen repräsentieren nur "die Sichtweite", Objekte hinter far werden einfach ausgeblendet, das das auch noch eine Auflösung darstellt, habe ich nicht erwartet...
Auf jeden Fall hast du was gut bei mir,wenn du mal Urlaub im bayr. Wald machen willst, kann ich dir freie Logis anbieten
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.