TriangleVertex > CountVertices - wie kann das sein ?!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Ava

Gast

Betreff: TriangleVertex > CountVertices - wie kann das sein ?!

BeitragFr, Sep 12, 2008 1:47
Antworten mit Zitat
Code: [AUSKLAPPEN]
If   TriangleVertex ( SURFACE , TRIANGLE,  0 ) > CountVertices ( SURFACE ) ...

Wie kann es sein, dass diese Bedingung gelegentlich (sogar relativ häufig) erfüllt wird ??
( die Variable TRIANGLE liegt jeweils im Bereich von 1 bis CountTriangles )

Ich schreibe gerade an einem Exporter und stiess dabei auf dieses seltsame Phänomen (und zwar, das eben gelegentlich Triangles auf Vertices zugreifen, die eigentlich - laut Rückgabewert von CountVertices - nicht in ihrer Surface vorhanden sind!)

Schon mal jemandem aufgefallen? Confused
 

BIG BUG

BeitragSa, Sep 13, 2008 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Triangle-Index geht von 0 bis CountTriangles-1... Sollte aber eigentlich im Debugger angemeckert werden.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Ava

Gast

BeitragSa, Sep 13, 2008 10:37
Antworten mit Zitat
Jap, das weis ich doch.

Es geht hierbei eher um Indexwerte von TriangleVertex = 769 bei einem CountVertices von = 430 ect...

Goodjee

BeitragSa, Sep 13, 2008 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
kommt vermutlich vom löschen von vertices, ich weiß ja nicht wie blitz das handhabt, aber bei types sind die handles ja zum beispiel nicht durchgehend.
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Noobody

BeitragSa, Sep 13, 2008 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schätze, das liegt daran, dass du irgendwo in deinem Code 'ClearSurface True, False' verwendest.
Dabei werden alle Vertices gelöscht, nicht jedoch die Triangles - wenn du also weniger Vertices hinzufügst, als vor der Löschung in der Surface waren, ist es sehr wahrscheinlich, dass einige Triangles mit Vertices verbunden sind, die gar nicht existieren.
 

Ava

Gast

BeitragSo, Sep 14, 2008 18:17
Antworten mit Zitat
Nein, ich tue nichts der gleichen. Ich lade ein Mesh, zähle die Surfaces, gehe sie durch, zähle die Vertices, gehe sie durch, zähle die Triangles, gehe sie durch.

Naja, was solls... irgndwann schreib ich mir nen richtigen Exporter, ohne B3D dazu zu missbrauche. Rolling Eyes *g* Und bis dahin arrangiere ich mich mit den teilweise durch Ausklammern von Triangles, deren Vertices sich nicht ermitteln lassen, entstehenden Löchern. Confused

*hmpf*

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Sep 14, 2008 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie Goodjee bereits versucht hat anzudeuten stimmt der Index-Wert eines Vertex(den man mit TriangleVertex ermittelt) anscheinend nicht unbedingt mit der "Nummer" desselben überein(Nummer im Sinne von der Erstellungsreihenfolge der Vertices), wenn du verstehst was ich meine.

Wüsste allerdings nicht, wo das zu Problemen führen sollte.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Sep 14, 2008 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ava hat Folgendes geschrieben:
Nein, ich tue nichts der gleichen. Ich lade ein Mesh, zähle die Surfaces, gehe sie durch, zähle die Vertices, gehe sie durch, zähle die Triangles, gehe sie durch.


Gleich nach dem ersten Post habe ich ein paar Versuche angestellt und bei mir ging alles richtig. Ich kann mir auch nicht vorstellen, dass soetwas überhaupt möglich sein ohne dass es vorher jemanden aufgefallen wäre. Ich würde daher auf ein fehlerhaft abgespeichertes Mesh setzen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

BIG BUG

BeitragMo, Sep 15, 2008 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
die Variable TRIANGLE liegt jeweils im Bereich von 1 bis CountTriangles
^ Hatte mich auf diese Aussage hier bezogen. Es geht von 0 bis CountTriangles-1.

Die Befehle funktionieren definitiv korrekt, habe selbst einen MD2-Exporter geschrieben. Vielleicht ist echt was am Mesh vermurkst.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group