ich habe mal kräftig gegoogelt, um rauszufinden, ob man die Bullet-Engine unter Pascal benutzen kann. Die Ergebnisse sind deprimierend, das größte Hindernis scheint zu sein, dass Bullet strikt OOP-programmiert ist. Ich bin übrigens der Meinung, dass man eine Library schlicht und ergreifend als Funktionssammlung anbieten sollte, das Verpacken in Klassen ist dann Sache des Anwenders. Der kann dann seinen individuellen Stil reinbringen.
Wie dem auch sei, ich werde wohl auf Newton ausweichen. Heruntergeladen habe ich den aktuellen Header (danke Sascha) und die SDKs für Windows und Linux. Aber nun stecke ich fest. Ich habe 0,00 Ahnung, wie man unter Lazarus mit einer C++-Library umgeht. Was muss ich installieren? Wohin?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Man muss dazu nichts installieren. Du musst nur den Header in deinem Projekt einbinden und die zu deinem System passende .dll / .so irgendwo hinpacken wo die Anwendung (oder das OS) sie findet. Sprich unter Windows einfach die newton.dll ins Anwendungsverzeichnis und fertig.
Danke. Wenn ich mir's recht überlege, habe ich mich wohl etwas dumm angestellt. Ich bin ja ganz bestimmt kein Anfänger, aber meine Umgebung war halt Linux, und da wird alles per Paketmanager installiert und im Schlund von /usr/lib usw. begraben. Es ist einfach da. Doch so langsam stellt sich das Feeling für Delphi/Lazarus ein.
Gut auch der Hinweis auf Saschas Webseite. Im Grunde ist das eine Fundgrube, und ich denke, da noch oft reinzuschauen. SDL ist mir von C her gut vertraut (einschließlich SDL_mixer und SDL_joystick). Ich mag diese schlichten Libraries, die nur das können, was wirklich gebraucht wird, dann aber verlässlich. Es ist Code, der irgendwann so gut wie fertig ist, und dann spielt es keine große Rolle, wenn es jahrelang nicht mehr weiter geht.
Da ich schon dabei bin, gleich zwei weitere Fragen:
1. Welche Graphik-Library bietet sich an? Sie muss bmp, png, targa und jpg laden und speichern (!) können.
2. Eine große Unbekannte in dem Projekt, das ich vorhabe, ist das Terrain-Rendering. Unter C habe ich einen ziemlich alten Quadtree von Ulrich Thatcher benutzt, der aber nur wenig Texturen in einem Gelände erlaubte. Da suche ich was Neues. Es muss auf jeden Fall ein Algorithmus mit Multi-Tiling sein; das Verfeinern mit Detail-Maps o.ä. auf einer einzigen großen Textur kommt nicht in Frage. Nun fand ich bei den Terrain-Tutorials hier auf DGL einen LOD-Algorithmus von Delphic. Der Code kommt mir relativ schlicht und kurz vor. Trotzdem meine Frage: Ist der Algorlithmus praxistauglich oder eher als Designstudie zu verstehen?
Registriert: Fr Aug 26, 2011 09:26 Beiträge: 25
Programmiersprache: FreePascal
Ein wenig OT, aber doch iwie passend:
erin hat geschrieben:
ich habe mal kräftig gegoogelt, um rauszufinden, ob man die Bullet-Engine unter Pascal benutzen kann. Die Ergebnisse sind deprimierend, das größte Hindernis scheint zu sein, dass Bullet strikt OOP-programmiert ist.
Darüber stößt wohl jeder, der sich über Physik-Engines für Delphi / Pascal erkundigt Vllcht. hilft es, die Bullet-Entwickler hier ein wenig zu motivieren
Eine mögliche Lösung wäre Swig. Es gibt einen funktionierenden Wrapper für Python (= prinzipiell möglich). Auch gibt es ein (inoffizielles) Modul für Delphi (klick), das allerdings in einem eher desolaten Zustand ist und eigentlich neu geschrieben werden müsste. Ein Versuch das iwie zu verbessern startethier. Noch keine Commits, hab es aber lokal schon in compilierbarem Zustand, sieht aber fast so aus, als ob die Änderungen Swig 2.0.8 -> 2.0.10 das Delphi-Modul entgültig unbrauchbar gemacht haben.
Ganz nebenbei: Für PhysX gibt es auch einen funktionierenden Python-Wrapper, ein Delphimodul wäre also echt gut Vllcht. hilft "uns" (= Leute die Pascal programmieren) ja auch dieses GSoC.
Zu Newton: Nette Library, für den Anfang echt gut zu gebrauchen, allerdings ist offizelle Dokumentation eher rar (deshalb: Dank @Sascha) Die Entwicklungsweise des / Kommunikation mit dem Entwickler ist eher "seltsam". Die aktuelle Version (Core300) lässt sich seit einiger Zeit nicht für Linux kompilieren [hab auch (mangels Zeit) aufgehört Patches für Makefiles / GCC-Anpassung zu senden...]
Registriert: Fr Aug 26, 2011 09:26 Beiträge: 25
Programmiersprache: FreePascal
erin hat geschrieben:
Welche Graphik-Library bietet sich an? Sie muss bmp, png, targa und jpg laden und speichern (!) können.
Um auch noch was zum Thema beizutragen: Diese Library hat bisher alle meine Anforderungen erfüllt. Die genannten Datentypen können auf jeden Fall geladen werden (z.B. auch dds mit Mipmaps +1), ich bin mir sicher, dass speichern auch funktioniert (will darauf aber nicht wetten).
Die Imaging-Lib scheint genau das zu sein, was ich suche, danke.
Was Bullet betrifft, ich glaube nun nicht mehr daran, dass die Lib irgendwann nach Pascal portiert wird. Dazu ist sie zu mächtig geworden, und wie gesagt, die strikte OOP-Ausrichtung würde eine zweistufige Transformation voraussetzen: 1. Isolierung der Funktionen, 2. Codetransformation. Nein, ich werde mich wohl an Newton wenden, obwohl Bullet um Größenordnungen schneller ist.
Bleibt noch der Render-Algorithmus. Hat noch niemand den Alg. von Delphic ausprobiert? Oder hat jemand einen anderen Vorschlag? Es geht um große (sehr große) Außenterrains, in denen man sich schnell bewegt. Jetzt bitte keinen Hinweis auf vterrain.org. Die Seite ist gut, wenn man beabsichtigt, sein weiteres Programmierleben mit raffinierten LOD-Algorithmen zu füllen. Dafür habe ich weder Zeit noch Lust noch (wahrscheinlich) Können; ich möchte einfach nur schnell Landschaften rendern.
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.