Ein paar Fragen zu ODE
-
Hallo,
ich habe jetzt endlich meine ersten Programme mit Code::Blocks kompiliert
Allerdings habe ich ein Problem mit ODE. Ich will es neu kompilieren damit ich am Ende eine "libODE.a" habe.
Die Strukutur "dBase" scheint allerdings zu fehlen, daher kann der Compiler auch nichts mit "struct dObStack : public dBase" anfangen.
Ich habe die Verzeichnisse durchsucht, aber niergends die Definition von "dBase" gefunden.
Was soll ich machen? Hat schonmal jemand mit ODE gearbeitet?
-
Arbeitet hier denn Niemand mit ODE??
Auf dieser Seite: http://www.irrlicht3d.org/wiki/index.php?n=Main.GettingStartedWithODE habe ich gelesen wie man das machen soll, aber es funktioniert bei mir nicht so ganz. Ich finde die besagte Struktur nicht: "dBase"
In welchem Header ist die denn?
-
Ich hab's jetzt immer hin schonmal geschaft ODE zu kompilieren und im Programm zu starten.
Aber leider kommt eine Fehlermeldung (eine Nachrichtenbox) von ODE wenn mein Prgoramm an foglender Code-Stelle ist:
space = dHashSpaceCreate(0);
Die Fehlermeldung lautet:
ODE INTERNAL ERROR 1 assertion "bNormalizationResult" failed in _dNormalize4() [..\..\include/ode/odemath.h]
Kann mir jemand sagen was ich da noch falsch mache?
Ohne den "space" in ODE funktioniert die ganze Kollisions-Geschichte nicht
-
dInitODE(); world = dWorldCreate(); space = dHashSpaceCreate(0);
Das sind die ersten drei Zeilen mit ODE Code und bei der dritten kommt die Fehlermeldung.
Kann mir denn wirklich niemand helfen??
-
wenn du den source und einen debugger hast, wieso schaust du nicht nach wieso das assert anschlaegt?
-
Das habe ich ja schon getan. Und wie ich es mir gedacht hatte, ist ein Vektor nicht normalisiert, also die Länge eines Vektors ist null.
Aber ich weiß nicht welcher das sein soll. Oder welche Funktion ich noch vorher dafür aufrufen müsste.
-
So ins Blaue geraten hast Du evtl degenerierte Polygone in Deinem Mesh.
-
Okay, ich hab jetzt herausgefunden warum bei der Funktion eine Fehlermeldung kam.
Da vertrug sich meine Engine noch nicht ganz mit ODE ^^Aber jetzt habe ich natürlich schon wieder ein neues Problem, was ich mit Hilfe eines guten Tutorials aber hinbekommen sollte.
Das mit den Kollisionen, bzw. "dCollide" ist mir noch nicht ganz klar.
Ich kannte ODE vorher nur aus Blitz3D, da hat mir die PhysicEngine sehr gut gefallen, weil sie so einfach war.
Aber in C++ sieht das ganze natürlich schon wieder ganz anders ausKennt jemand von euch ein gutes Tut? Ich finde irgendwie immer nur halbe Sachen, nie einen kompletten Code.
(Auf der Seite der Irrlicht Engine funktioniert der Link zum Runterlkaden des Codes des OODE Tuts bei mir nicht.)
-
Endlich habe ich es geschafft
meine erste ODE Anwendung in C++ Hurra!!! ^^Aber ich habe noch eine Frage zur Lizenz von ODE:
diese hat ja die "LGPL", darf ich dann trotzdem die von mir kompilierte ODE Version mit "libODE.a" als Download auf meiner Website veröffentlichen, oder nicht??
-
ist die nicht BSD licensiert? da steht auch haar genau was du machen darfst.
-
Kann man ODE eigentlich auch als KollisionsSystem verwenden ohne gleich PhysikSimulationen zu verwenden?
-
ich glaube ode nutzt ICollide als collision lib, die kann man ohne ODE nutzen.
-
Ich hab' npchmal ne Frage zu ODE:
wie kann man ein "TriMesh" (3D Modell mit beliebigen Dreiecken) in ODE erstellen, sodass dieses TriMesh die Welt darstellt, es soll also nicht herunter fallen aber andere Objekte sollen damit kollidieren.