Seite 1 von 2

[assimp] C#–Bindings

Verfasst: 22.05.2010, 14:17
von Seraph
Huhu,

fuer unser in .net geschriebenes Projekt liebaeugeln wir gerade mit der Benutzung von Assimp. Dazu haben wir uns die C#-Bindings aus dem SVN-Repo von Assimp etwas naeher angesehen, nur leider befinden die sich im Moment wohl in keinem nutzbaren Zustand. Gibt es denn schon eine aktuellere nutzbare Version? Waere schoen etwas von euch zu hoeren. :)

Re: [assimp] C#–Bindings

Verfasst: 23.05.2010, 20:19
von Aramis
Der C#–Port ist in Matthias Gubisch' Obhut. Zum Einsatz kommt SWIG um einen Teil der Bindings zu automatisieren, wie weit das aktuell fortgeschritten ist, und wie lange es wohl noch bis zu einer produktiv nutzbaren Version dauern wird, kann wohl nur er sagen.

Re: [assimp] C#–Bindings

Verfasst: 25.05.2010, 10:02
von Matthias Gubisch
Hallo Serpah

Eine aktuellere Version gibt es schon, allerdings genausowenig nutzbar.
Beim generieren und complieren der Bindings taucht eine Linkerwarnung auf dass die Klasse BaseImporter nicht verlinkt werden kann.
Aller wahrscheinlichkeit ist das die Ursache warum man in C# keine Instanz des Importers erstellen kann.
Leider habe ich noch keine Loesung dafuer gefunden, und kann die Bindings somit leider nicht mal testen :(

Gruesse
Matthias

Re: [assimp] C#–Bindings

Verfasst: 25.05.2010, 13:15
von Seraph
Hey Matthias,

wenn Du magst, kannst Du mir die neuere Version mal zeigen, dann seh ich mir das auch mal mit an. Vielleicht findet man ja 'gemeinsam' den Fehler. :)

Aber danke erstmal fuer eure Antworten. :)

Re: [assimp] C#–Bindings

Verfasst: 26.05.2010, 12:44
von Matthias Gubisch
Kann ich gerne machen
werd mal meine aktuelle Version heut nachmittag bissal aufräumen und ins Repo hochladen.

Das Problem ist im moment eine System.AccessViolationException beim Aufruf von Importer.ReadFile();

Ich sag dann hier bescheid sobalds hochgeladen ist.

Grüße
Matthias

Re: [assimp] C#–Bindings

Verfasst: 26.05.2010, 14:13
von Seraph
Supi, danke Dir. :)

Re: [assimp] C#–Bindings

Verfasst: 26.05.2010, 20:31
von Matthias Gubisch
Verzögert sich leider noch, muss jezt dann weg und habs noch nicht geschafft des Projekt aufzuräumen
so will ich es nicht hochladen

aber spätestens zum WE sollts klappen

Re: [assimp] C#–Bindings

Verfasst: 26.05.2010, 20:58
von Seraph
Yoyo, nur nichts ueberstuerzen. :)

Re: [assimp] C#–Bindings

Verfasst: 27.05.2010, 20:34
von Matthias Gubisch
So habe gerade meine aktuelle Version der Bindings hochgeladen.

Folgendes Verhalten:
Instanz des Importers erstellen funktioniert
Beim Aufruf von ReadFile wird beim Aufruf der Methode mit const char* immer eine System.AccesViolation geworfen
Die ReadFile(std::string pFile, uint pFlags) benutzt ja intern die methode mit const char)
Hab ein paar andere Methoden des Importers getestet und konnte sie problemlos aufrufen

Grüße
Matthias

EDIT: Ich hab langsam die vermutung dass das in irgendeinerweise mit dem String zu tun hat

Re: [assimp] C#–Bindings

Verfasst: 28.05.2010, 09:08
von Seraph
Cool, danke. Wir oder zumindest ich werden es uns in den naechsten Tagen mal ansehen.

Re: [assimp] C#–Bindings

Verfasst: 28.05.2010, 12:03
von Seraph
Mal ein kurzer Zwischenstand. Musste es erstmal zum builden bringen, also neue Boost-Version und SWIG besorgen, Verzeichnisse hinzufuegen/leicht anpassen, etc.

Das Ergebnis soweit ist, dass er alle moeglichen Dateiformate problemlos einliest, soweit es erkennbar ist. Sprich aiScene ist mit ein paar Werten und internen Strukturen gefuellt, keine AccessViolation, kein Crash, er geht sauber durch soweit. Ob die internen Strukturen wirklich mit sinnvollen Daten gefuellt sind, kann ich noch nicht sagen, da ich mir dazu erstmal Assimp naeher ansehen muesste und mir dazu gerade die Zeit fehlt.

Ich werde es mir wahrscheinlich am Wochenende dann nochmal ansehen.

Re: [assimp] C#–Bindings

Verfasst: 28.05.2010, 13:12
von Matthias Gubisch
Das ist ja echt interessant
beim mir stuertz er leider immer noch beim Aufruf der ReadFile methode mit Accesviolation weg.

@Seraph:
Kannst du mir deine Projektfiles mal geben? vielleicht liegt ja da irgendwo das Problem bei mir

Gruss
Matthias

Re: [assimp] C#–Bindings

Verfasst: 28.05.2010, 13:45
von Seraph
Habe Dir die beiden Assimp.NET-Project-Files per Mail geschickt. Die Aenderungen im Form bezogen sich lediglich auf das zu ladene File und den Versuch mehr mit der Szene zu machen.

Re: [assimp] C#–Bindings

Verfasst: 28.05.2010, 14:08
von Matthias Gubisch
Danke werd ich mir daheim mal ansehen

Waer nicht schlecht wenn noch jemand das ausprobieren koennte ob das Verhalten nachvollziebar ist...

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 10:24
von Matthias Gubisch
Also an meinen Projekteinstellungen liegt es nicht, da es mit Seraphs Projektdateien das gleiche verhalten zeigt.

Auch mit VS2010 und .NET 4.0 kommt das gleiche verhalten zum vorschein

Hat vielleicht noch irgendjemand eine Idee warum der aufruf von ReadFile immer fehlschlägt bei mir?

Gruss Matthias

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 11:06
von Schrompf
Wo crasht es denn? Kannst Du die Assimp-Lib debuggen, wenn Du sie von .NET aus aufrufst?

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 11:10
von Seraph
Nutzt Du die gleichen Versionen der Bibliotheken die ich genutzt habe? Also die letzte Version von Boost und die Dev-Version (nicht Stable) von SWIG?

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 11:12
von Matthias Gubisch
Jup habs gestern extra nochmal neu upgedatet dass ich sicher die aktuellste version hab...

Was nutzt du denn als Betriebssystem?

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 11:14
von Seraph
Leider immer noch Vista 64.

Re: [assimp] C#–Bindings

Verfasst: 02.06.2010, 11:41
von Matthias Gubisch
Ich nutze WIN7 64

werds aber vielleicht die Tage mal auf meinem alten XP Rechner probieren.
Irgendwie muss das problem ja einzugrenzen sein.

Re: [assimp] C#–Bindings

Verfasst: 22.07.2010, 19:05
von Seraph
Gibt es hier irgendwelche Neuigkeiten? :)

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 08:54
von kimmi
Schau mal in die Mailingliste, da gibt es recht viele Neuigkeiten.

Gruß Kimmi

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 10:18
von Seraph
Habe ich schon und da gibt es keine Neuigkeiten bzgl. der C#-Bindings soweit ich es erkennen konnte, deshalb fragte ich hier nach. :)

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 10:24
von kimmi
Hm, ich habe dir die aktuelle Diskussion mal geforwarded. Ich habe da leider noch nicht alles auf Platte, ich muß mich da erst mal einlesen, bevor ich da was zu sagen kann.

Gruß Kimmi

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 10:30
von Seraph
Yo, habe schon geantwortet. *g* Habt ihr mehr als eine Mailing-Liste?

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 10:36
von Matthias Gubisch
Nein eigentlich nicht
Anfangs war die Diskussion zwischen Adam und mir und mit der Zeit sind immer mehr Leute als CC dazugekommen ;)
Aber and die Mailinglist hat iwie keiner so recht gedacht.

Bei fragen kannst dich einfach melden.
Ich werde wohl naechsten Mittwoche wieder dazukommen der Exception auf meinem Rechner auf den Grund zu gehen...

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 11:34
von kimmi
Deswegen ist das immer gut, solche Diskussionen auf der offitiellen Mailingliste bzw. im Board auf der Projektwebsite zu führen *Klugscheiß* ... ;).

Gruß Kimmi

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 18:15
von klickverbot
Ich würde euch auch bitten, mir den Stand eurer Diskussionen mitzuteilen, weil ich in den nächsten Tagen die SWIG-Anpassungen für die C#-Bindings mal wieder nach port/swig zurückkopieren und einmal ein bisschen aktiver an den D-SWIG-Bindings arbeiten will. (Mir schwebt ein kleiner Port von AssimpView nach D/Qt/OpenGL vor).

Ursprünglich war ja meine Idee, das Verzeichnis port/swig für die Interface-Files aller SWIG-basierenden Bindings zu verwenden, weil ja ziemlich viel identisch sein wird (die paar sprachspezifischen Anpassungen kann man über die von SWIG definierten Präprozessor-Konstanten SWIGCSHARP, SWIGD, ...) regeln. Leider habe ich das wohl nie wirklich kommuniziert, worauf die Anpassungen vor einiger Zeit einfach ins C#-Verzeichnis kopiert wurden.

Bezüglich der oben erwähnten Exception: Ich weiß zwar nicht, worum es geht, aber ich würde vermuten, dass dir der GC irgendein Objekt zerstört, dass auf der C#-Seite nicht mehr referenziert wird, dessen C++-Destruktor aber noch gebrauchte Daten zerstört (z.B. aiScene).

Re: [assimp] C#–Bindings

Verfasst: 23.07.2010, 20:43
von Matthias Gubisch
Wenn du mir deine e-mail addy zukommenlässt leite ich dir die Diskussion gerne weiter
und Weiterdiskutieren können wir ja dann auf der Mailingliste...

Bezüglich der Exception: Sie Tritt bereits beim Aufruf von ReadFile auf also zu einen Zeitpunkt an dem von mir noch gar keine aiScene referenziert wird...

Wir konnten es so wie es aussieht auf Win7 x64 eingrenzen. Ich werde mich am Mittwoch da nochmal dransetzen in der Hoffnung was lauffähiges hinzubekommen

Re: [assimp] C#–Bindings

Verfasst: 24.07.2010, 15:45
von klickverbot
Danke kimmi fürs Weiterleiten an die Mailing List.
Meine E-Mail-Adresse findest du übrigens auch unter http://assimp.sourceforge.net/main_contact.html, Matthias. ;)