Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
hab es jetzt ohne DX mit DelphiTimer kompatibel gemacht.
Die Löcher sind bei mir (GeForce 2 MX, Win XP, Det 40) auch da
selbst wenn alles glatt ist, treten löcher auf.... hm.....
Wolte gerade sagen: den dx - timer hatte ich nur drinne, um etwas schneller rendern zu können... hatte zu einem umbau zu threads oder einer anderen möglichkeit noch keine zeit.... wenn ihr keine dx - timer habt, dann nehmt einfach einen normalen: das ergebniss ist fast dasselbe... aber woher kommen diese merkwürdigen löcher?
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Zitat:
aber woher kommen diese merkwürdigen löcher?
Wenn man sich bewegt, verschwinden löcher und an anderer stelle tauchen neue auf.... schon seeehr komisch.... hmm... eigentlich machst du alles richtig... schon ein rätsel... de code kommt nicht zufällig aus Area 51, von den Pharaonen, aus dem Bermudadreieck, aus Venezuela, Papua Neuguinea, Loch Ness?!? Vielleicht aus einem Schwarzen Loch? Nein, da kommts nimma raus....
Ne, also aus Area 51 kommt der Code nicht... er kommt praktisch direkt aus meinem Delphi 5....
das witzige ist ja: es läßt sich so kein Fehler finden, aber dennoch läuft da wqas gänzlich falsch....
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
aha, habe mal ein Quad einfach so gezeichnet. Wenn ich mich davon weg bewege, verschwindet ab und an die hälfte vom quad als triangle.... das verkleinert den suchbereich (hoffentlich) noch mehr...
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Ich glaube es liegt an deinen rotations... wenn man sich nur nach links bzw. rechts bewegt, passiert nichts, bewegt man sich nach vorne oder hinten werden quads ausgeschnitten und bewegt man sich zur seite werden triangles ausgeschnitten. Obwohl da auch irgendwas nicht stimmen kann, da du ja für alle arten die gleiche methode verwendest.... *denk*
Registriert: Di Mai 14, 2002 21:07 Beiträge: 70 Wohnort: Heilbronn/Neckar
Hmm.. ich hab den Code grade mal ausprobiert, und es funktioniert einwandfrei.
Ich hab kein einziges Loch. Allerhöchstens ein paar Vertexüberlappungen, die haben aber mit dem Problem nix zu tun.
Hmm... ich verwende als Grafikkarte eine 3D Prophet 4500 also nen Kyro II Chip.. kurz gesagt, was ganz anderes als eine GF2...
Und ehrlich gesagt, hab ich auch nix gefunden :/
Du solltest vielleicht deine Variante überprüfen, wie du das Terrain erstellst.
Im Drahtgitter erkenne ich nämlich da ne ganze menge müllkoordinaten, die sicher nicht absichtlich so sind (Das zeigt meine graka mit hilfe von quer durch den Raum schießende Linien, die nur in einem bestimmten Winkel zu sehen sind und kein direktes Ziel zu haben scheinen 8) )
Müll - Koordianten? Welche Koordianten sollen denn Müll sein? Oder auch: was sind Müll - Koordinaten? Ich brauche doch alle, die ich berechne, oder wie ist das gemeint?
Bei mir Läuft es ja auch ohne Löcher, aber irgendwie auch nicht ganz astrein ...
Die Vertexüberlappungen sind klar: es liegen auf einem Punkt immer 4 Vertexe (da ja ein Punkt von 4 Quads verwendet wird)....
Sollte ich mal versuchen, das ganze mit Dreiecken zu rendern? einmal habe ich versucht einfach ein gl_quad_strip zu verwenden, aber da war dann urplötzlich gar nichts mehr zu sehen.......
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Müll - Koordianten? Welche Koordianten sollen denn Müll sein? Oder auch: was sind Müll - Koordinaten? Ich brauche doch alle, die ich berechne, oder wie ist das gemeint?
Unter Müllkoordinaten versteht man meistens Koordinaten, die nicht dort liegen wo sie hingehören, was meist auf einen Programmierfehler hindeutet. Manchmal ist der Fehler an ganz anderen Stellen als erwartet. Am besten sich vorher klarmachen, wo Koordinaten verwendet und erstellt werden, sich überlegen, wie sollte das Ergebnis tatsächlich sein und dann mit dem Debugger verschiedene Szenarien ausprobieren, um den Fehler finden zu können.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
So...hab mir grad mal deinen Source angesehen, und den Fehler direkt gefunden :
Code:
procedure TForm1.FormResize(Sender: TObject);
begin
...
gluPerspective(45.0, Width/Height, 0, 100); // Perspektive den neuen aßen anpassen.
...
end;
muss so aussehen :
Code:
procedure TForm1.FormResize(Sender: TObject);
begin
...
gluPerspective(45.0, Width/Height, 0.1, 1024); <-- Hier lag der Fehler
...
end;
Du machst dort den GROßEN FEHLER, die zNear-Clippingplane auf 0 zu setzen.Das darf man nicht machen, denn dadurch können unvorhergesehene und schwer zu findende Anzeigefehler wie bei dir auftreten.
Mitglieder in diesem Forum: 0 Mitglieder und 13 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.