Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hi ihr
Ich suche gerade nen Modelloader (Format beliebig, hauptsage 3dsmax kanns exportieren), der auch mitm FPC läuft (gl3ds tuts beispielsweise nicht).
Kennt da irgendwer was?
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Ich verwende MatRenos "WFObjLoader" unter FPC. Da es bei mir reines SDL sein sollte, habe ich alles mit easySDLTextures umgebaut. Der Umbau von glBitmap auf easySDLTextures geht fix. Allerdings löst das noch nicht Deine zweite Anforderung, die 3DSMax-Exportierbarkeit. Das Obj-Format, welches ich mit 3DS-Max exportiert habe, konnte der Loader nicht laden. Der Obj-Export mit Blender hingegen funktioniert problemlos.
Weiterhin habe ich noch vom AC3D-Loader gehört, allerdings habe ich den noch nicht probiert. Ich bin mir also nicht sicher, ob Du mit 3DSMax glücklich wirst, es sei denn Du machst es wie Sascha Willems, der in ein eigenes Format exportiert und dann seinen eigenen Loader nutzt.
Grüße, DNA
_________________ Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
hmm, easySDL benutze ich nicht und werde ich auch aus verschiedenen Gründen nicht benutzen, daher wirds bei mir wohl etwas mehr aufwand... Wenns WFObjLoader allerdings auch die glBitmap benutzt, kann ich auch bei gl3ds bleiben, das habe ich aus dem gleichen Grund abgelehnt..... Naja, wenn niemand anderes was findet, bleibt mir nichts übrig.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Schreib doch nen eigenen Modelloader, in der regel passt eh kein format auf das, was man selber braucht.
Für X-Dream hab ich eins gebaut und für Karmarama wird es auch wider eins geben.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Wenn ich mich recht entsinne, hat WFObjLoader Callbacks für den Fall, dass man die Texturen anders als per glBitmap laden will.
Readme hat geschrieben:
CALLBACKS: ########## You can use the callbacks to load and bind the textures manually. If you want to do so, you have to assign both callbacks before loading the mesh: - OnLoadTexture : Function(const Name: String): Integer; - OnBindTexture : Procedure(const ID: Integer);
Wenns WFObjLoader allerdings auch die glBitmap benutzt, kann ich auch bei gl3ds bleiben, das habe ich aus dem gleichen Grund abgelehnt..... Naja, wenn niemand anderes was findet, bleibt mir nichts übrig.
Die Verwendung von glbitmap kann man doch ganz fix beheben. Das wäre für mich kein Grund die unit zu verschmähen. 3DS (damit auch gl3ds) habe ich daher verworfen, weil die Modelle falsch dargestellt wurden (siehe http://www.2ndmoon.de/bilder/3ds/falsch.jpg). Dafür kann aber noeskas Loader nix, sondern eher das Format an sich. Das war für mich ein echtes Argument gegen 3ds.
Falls Du einen eigenen Texturmanager verwenden willst, dann kannst Du WFObjLoader bestimmt auch dahingehend modifizieren. Ansonsten kenn ich noch den AC3D-Loader (http://www.delphigl.com/do_download.php?f=602). Die Demo dazu sieht auch gut aus, allerdings kann kaum ein Programm dieses Format exportieren und die Quellen vom Loader waren (wenn ich mich recht erinnere) schon mohrenalt. Ich glaub nicht, dass da noch was gepflegt wird.
Dann eben doch einen eigenen Loader, siehe TAKs und Saschas Meinung? (Wobei ich meine Zeit lieber mit anderen Sachen vergeuden würde, als eigene Loader/Exportskripte für eigene Modellformate zu schreiben)
Grüße, DNA
_________________ Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
DNA hat geschrieben:
Dann eben doch einen eigenen Loader, siehe TAKs und Saschas Meinung? (Wobei ich meine Zeit lieber mit anderen Sachen vergeuden würde, als eigene Loader/Exportskripte für eigene Modellformate zu schreiben)
Zumal mir die entsprechenden Python/MaxScript kenntnisse fehlen... Dann bleibt mir wohl nichts anderes Übrig, als die WFObjLoader zu zerlegen...
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Alternativ kannst doch auch formate wie md3,md5 nutzen, dafür gibs exporter für max und blender.
Ich hab auch schon im netzt loader für delphi gefunden. Nehe hat z.B. ein md2 udn glaube md3.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Da so viele die glBitmap nicht nutzen wollen, habe ich mir gedacht, dass man den Einbau von glBitmap über $defines (heißt doch so??) löst. Da ich in dieser Richtung nicht wirklich Erfahrung habe, wird es noch ein Weilchen dauern, bis es fertig ist. Dann könnte man ganz einfach entscheiden, was man nutzen will.
Müsste doch eigentlich funktionieren, oder?
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
In Karmarama haben wir auch das Problem mit den Bibliotheken gehabt.
Unsere Lösung ist eigentlich einfach, eine Libdef.pas oder inc file anlegen und dann mit
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
MatReno hat geschrieben:
Da so viele die glBitmap nicht nutzen wollen, habe ich mir gedacht, dass man den Einbau von glBitmap über $defines (heißt doch so??) löst. Da ich in dieser Richtung nicht wirklich Erfahrung habe, wird es noch ein Weilchen dauern, bis es fertig ist. Dann könnte man ganz einfach entscheiden, was man nutzen will. Müsste doch eigentlich funktionieren, oder?
Was hast du denn vor als alternative anzugeben? Wenn man da dann SDL_image (ohne easySDL) verwenden könnte, wär das super! //Edit: Ich habe mir mal den WFObjLoader angeschaut. Könnte durchaus interessant sein, die sache mit den Callbacks. Jetzt muss ich nurnoch die glBitmap raushauen, die darf ich nichtmal in der Uses haben (braucht Windows.pas)
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Lord Horazont hat geschrieben:
Was hast du denn vor als alternative anzugeben?
Dachte, dass man entweder die glBitmap benutzt oder nur die Callbacks oder beides (so wie es momentan noch ist).
So wollte ich das auch einbauen.
Mit SDL_Image hab ich mich noch nicht beschäftigt... Auch würde eine 2te Image Library den Loader zu sehr aufplustern,
und ich müsste mich erstmal mit SDL_Image auseinander setzen...
Außerdem arbeiten Conan und ich bereits an einer Erweiterung mit einem eigenen Blender Export Script. Das Format ist dem Obj Format sehr ähnlich; einzige Ausnahme: Animationen sollen (neben statischen Objekten) direkt von Blender unterstützt werden.
In dem neuen Loader werden wir nur noch Callbacks für die Texturen einbauen. Somit kann man sich selbst aussuchen, wie und mit welcher Unit man das handelt.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Für X-Dream hatten wir SDL_Image in verwendung aber das ist eigentlich völlig unsinnig und bringt nur massig abhängikeiten.
Nun nutzen wir für Karmarama ein DDS Loader aus diesem Forum.
Man sollte mitlerweile schon auf DXT umsteigen, das ist kleiner, schneller zu laden und erhöht die FPS Rate.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Ich würde den loader selbst so schreiben, dass er nur callbacks nutzt. (Load,Unload,Bind)
Dann eine 2. Unit die glBitmap einbindet und diese Callbacks auf glBitmap basierend implementiert.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Das ist natürlich auch eine gute Möglichkeit.
Das werde ich wahrscheinlich beim aktuellen Loader nicht mehr einbauen, da es zu viel Zeit kosten würde,
aber beim nächsten Loader (siehe obigen Post) werde ich es in Betracht ziehen, da es sehr flexibel ist.
Danke für diesen Tipp
Für WFObjLoader werde ich es wohl über $defines machen. Müsste recht schnell implementiert sein.
Mitglieder in diesem Forum: 0 Mitglieder und 18 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.