Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Apr 16, 2024 23:49

Foren-Übersicht » DGL » News
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [IOTW] Restless
BeitragVerfasst: So Dez 16, 2007 11:07 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3827
Wohnort: Tespe (nahe Hamburg)
Die beiden DGL-Mitglieder MatReno und Conan haben mir mal wieder ein (leider seltenes) IOTW zugeschickt, dass ich gerne an dieser Stelle veröffentlichen möchte:

Bild
Fliegt! Fliegt, meine Vögel und verbreitet die frohe Kunde: Das Restless-Projekt steht kurz vor seiner Veröffentlichung.
Nun ist es endlich soweit und es gibt, rechtzeitig zu Weihnachten, schonmal einen ersten Blick auf die Möglichkeiten, die dieses Projekt bietet.
Für diejenigen, die noch nicht wissen, worum es sich bei genanntem "Restless-Projekt" handelt:
Es geht um einen Animations-Loader, der die, in dem OpenSource-Model-Programm Blender erstellten, animierten Objekte 1:1 in eine eigene OpenGL-Anwendung transportiert.
Das Projekt umfasst einen Python-Exporter (der leider noch einer Überarbeitung bedarf), der die Animations- und Mesh-Daten aus Blender extrahiert und einen Loader (bestehend aus einer DLL-Datei, für die es einen Header für Delphi und, mit der Zeit, vielleicht auch andere Sprachen geben wird), der die Daten in die eigene Anwendung importiert.
Das Projekt unterstützt Bone- und Keyframe-Animationen, gewichtete Bone-Vertex-Transformation, einen linearen und einen Bezier-Animationsverlauf, eigene Zwischenanimationen zum weichen Übergang zwischen zwei verschiedenen Animationen, ...
Das Mesh an sich beinhaltet Materials und Texturen und das Rendern desselben ist komplett auf VBOs ausgelegt.
Die Steuerung der Animation wird komplett durch Callbacks realisiert.
Hier der Link zur Beispiel-Anwendung (Das Männchen wurde soeben mal schnell in Blender zusammengebastelt, ist also anatomisch nicht völlig korrekt)

Schaut's euch mal an, wir freuen uns auf Feedback.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 12:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
ich poste einfach mal hier :wink:

Sagt mal, wie siehts mit der Linux-Unterstützung aus? Wäre sehr gut, dann würde ich die Lib sofort verwenden.

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 networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 14:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 07, 2006 13:37
Beiträge: 83
Wohnort: Partenheim
Es freut mich sehr, das zu hören :)

Ich muss leider gestehen, dass ich auf dem Gebiet Linux kaum Ahnung habe. Aber ich wüsste nicht, warum es unter Linux nicht benutzbar sein sollte. AFAIK müssen doch lediglich ein paar Compilerbefehle in den Header-Kopf, die abfragen, um welches OS es sich handelt und dementsprechend das Laden der dll und sonstiger Ressourcen anpassen. Irr' ich mich?

Conan

_________________
THE TRUTH IS NOT OUT THERE!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 16:11 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Unter anderem,
manche Units dürfen auch nicht verwendet werden. Wenn es sich per FPC compilieren lässt und alle benötigten DLLs auch für Linux existieren, sollte es auch gehen.
Wäre halt schon wichtig wenn es es auch für Linux gäbe weil es somit endlich mal DEN Lader gäbe.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 16:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 07, 2006 13:37
Beiträge: 83
Wohnort: Partenheim
Ist vermerkt 8)

_________________
THE TRUTH IS NOT OUT THERE!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 16:18 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

wann denk ihr denn, seid ihr fertig? Würde das Projekt dann auf jeden Fall auch sofort benutzen :D

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 16:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 07, 2006 13:37
Beiträge: 83
Wohnort: Partenheim
Der Loader an sich ist fast fertig (es stehen nur noch ein paar Tests und das Verpacken in eine dll an). Einen Releasetermin kann ich nicht absehen, da wir uns bereits vor dem Start des Projekts mit Ende Oktober grob verschätzt haben ;)
Was noch Zeit kosten könnte, ist der Python-Exporter für Blender. Wir haben zwar einen geschrieben und der funktioniert auch soweit, ist nur sehr, sehr langsam. Hier also der Aufruf: Wenn sich jemand mit Python und Blender-Scripten auskennt und Interesse an diesem Projekt hat, darf gerne einen Exporter schreiben ;).
Anderenfalls müssen MatReno und ich uns diesem Thema in den Semesterferien widmen.

Conan

_________________
THE TRUTH IS NOT OUT THERE!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 17:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Was zu Linux Librarys evtl auch noch zu erwähnen wäre. Ihr dürft in keinem Falle den Initialization Block verwenden! Denn den gibt es unter linux schlicht und ergreifend nicht. Also falls ihr globale Strukturen initialisieren müsst, dann macht das immer über eine Init und eine Quit (oder was auch immer) Methode. Die der Entwickler manuell aufrufen muss. Das ist etwas was ich selber schmerzhaft herrausfinden musste und woran ich einige Zeit habe suchen dürfen. :-/

PS: Also das trifft natürlich auf alle Unit zu. Also auch falls ihr externe benutzt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 17, 2007 17:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Noch eine kleine Anmerkung:
Wenn jemand denkt, dass die Bones der Beine aus den Beinen heraus-stehen, hat er recht.
Das ist aber kein Fehler unseres Loaders, sondern ein kleiner Bug im Exporter.
Dieser hat das Offset der Parent-Bones nicht mit einbezogen, und wir mussten es schnell mal grob manuell anpassen.
Haben es nur auf Y angepasst und nicht auf X (vergessen ;)).
Mit dem richtigen Offset sieht es exakt wie in Blender aus.

Wie gesagt der Exporter ist halt noch etwas buggy. Muss dringend ein neuer her :?

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 19, 2007 12:40 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Naja, sobald die Funktionalität steht, kann man den exporter ja optimieren.
Für den SceneGraph expoter, den ich bastel, hab ich mir angewöhnt immer jede Zeile gegen zu testen und nach jedem Feature den Code auf zu räumen. Für welche Sprache ist eigentlich der Orginalcode ?
Wenn es Pascal ist, dann könntet ihr doch neben der DLL/so doch auch den Sourcecode, zum reincompilieren in die app, anbieten. Dateiabhängigkeiten mitschleppen ist immer schlimm und mit Problemen behaftet.
Sind die Animationsdaten von den Meshdaten trennbar ?
Es wäre Platzverschwendung und unnötige Ladezeit, immer Modeldaten und Animationsdaten zu laden.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 19, 2007 14:04 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 07, 2006 13:37
Beiträge: 83
Wohnort: Partenheim
Hallo TAK2004!

Der Sourcecode des Loaders ist Pascal. Ob wir ihn anbieten, ist noch nicht geklärt ... wir wollen uns ja nicht entbehrlich machen ;)
Die Animationsdaten sind insofern von den Meshdaten trennbar, dass sich zwar die Armature in der Meshdatei befindet, die Animation (= Keyframes) aber in einer getrennten Datei vorliegt und sich somit beliebig viele Animationen (in verschiedenen Dateien) auf ein einziges Objekt beziehen können, solange eine Animation nicht mehr Bones anspricht, als die Armature des Objekts enthält, d.h. die Animation sollte auch für diese Armature erstellt worden sein.

Conan

_________________
THE TRUTH IS NOT OUT THERE!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 27, 2007 13:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
Es ist vollbracht. Der Exporter ist komplett neu geschrieben.
Er ist jetzt übersichtlicher (falls man später noch was ändern muss), sehr viel effizienter und auch 5-10 Zeilen kürzer :wink:
Damit ist schon mal ein großer Schritt getan, hat mich immerhin auch rund 20 Stunden gekostet.
Aber es hat sich gelohnt.
Nach der Mathe-Klausur am 4. Januar können Conan und ich noch etwas an dem Loader feilen und
ihn schließlich noch in ner dll verpacken.

Gruß,
MatReno

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » DGL » News


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 27 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.177s | 20 Queries | GZIP : On ]