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

Aktuelle Zeit: Mi Jul 16, 2025 21:40

Foren-Übersicht » Sonstiges » Community-Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 178 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 17:49 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Lasst uns mal zusammenfassen wer für Binary und wer für text ist.
Vieleicht sind wir ja schon alle für eins und es ist bei den vielen Posts untergegangen.
Da hier mehere Beispiele zu beiden gibt brauch ich da nichts wiederholen.
Ich hab mal versucht aus den Post zu interpretieren wer zu was tendiert.
Bitte bei nicht korrekter einteilung melden und bei nicht in der liste stehen auch melden ;)

Text:
Tomok

Binary:
TAK2004
Flo
Lossy eX

_________________
"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: Do Sep 08, 2005 20:09 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Lese hier mit und würde gerne einen Text Loader nehmen.
Der Grund ist einfach:
Kompitabilität.
Wenn die Version geändert wird, sollten ältere Dateien auch ohne grössere Probleme geladen werden können.
Wenn es die Binärfraktion schaffen würde, dies bei sich einzubeziehen, hätten sie meine Unterstützung, aktuell bin ich aber für Text.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 20:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
i0n0s hat geschrieben:
Lese hier mit und würde gerne einen Text Loader nehmen.
Der Grund ist einfach:
Kompitabilität.
Wenn die Version geändert wird, sollten ältere Dateien auch ohne grössere Probleme geladen werden können.
Wenn es die Binärfraktion schaffen würde, dies bei sich einzubeziehen, hätten sie meine Unterstützung, aktuell bin ich aber für Text.

Diese binäre Baumstruktur die ich Vorgeschlagen hatte bietet genau dieses Feature

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 20:29 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Nun ich habe ja beides vorgeschlagen und zu minimalem Aufwand. Die gleichen Token nur als Hexwert oder ausgeschrieben. Es macht ja durchaus Sinn zwei Varianten des gleichen Formates zu haben um mal die einen oder anderen Vorteile nutzen zu können.
Abwärtskompatibel ist natürlich beides mit vollen Typeinformationen.


Zuletzt geändert von LarsMiddendorf am Do Sep 08, 2005 20:31, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 20:29 
Offline
DGL Member

Registriert: Fr Dez 19, 2003 14:27
Beiträge: 107
Wohnort: Indianapolis, USA
Was soll eigentlich das Ziel dieses Formates sein? Irgend wie konnte ich das aus dieser Diskussion nicht richtig raushoeren. Text oder Binaer ist doch zweit rangig.
Fuer mich waere eigentlich nur die naehe zu Blender interessant, also ein Format dass das wiederspiegelt was ich in Blender kreeiren kann. Damit ich diese Daten einfach weiterverarbeiten kann ohne einen speziellen exporter zu schreiben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 20:49 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Eigentlich ist Blender dabei nur die Umgebung die es uns überhaupt erst ermöglicht ein Eigenens Format so einfach zu entwerfen. Wenn das Format gut balanciert ist könnte ich mir durchaus vorstellen, dass vielleicht in einem halben bis einem Jahr es auch ein Cinema4D Plugin für das Format gibt... Das ist schlichtweg nur der Verbreitung geschuldet. Je besser das Modell jetzt geplant wird, umso schneller wird es seinen Platz erobern. Wenn man dann von dieser Seite aus Exporterscript(e) und Load (Delphi /C++) zur verfügung stellt, sollte das sicherlich seine Stellung erobern. :)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 21:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wie Flash geschrieben hat ist es nicht unpraktisch ein wenig in die Zukunft zusehen und zu überlegen wofür man es noch alles einsetzen könnte. Und das ist auch genau ein Punkt an dem man feststellen sollte, dass das Format nur Mittel zum Zweck ist und man sich auf Binär oder Text festlegen sollte. Ich finde man sollte es so sehen wie Lars es auch schon mal erwähnt hatte. Der Loader bekommt seine Daten irgendwoher. Und je nach Ableitung kann dies Binär, Text oder als Speziallfall auch XML sein. Im Endeffket spielt es doch keine Rolle wo es her kommt. Es könnte unter anderem auch einen XML Loader mit den JEDI Klassen geben und einen der die XMLDOM von MS benutzt. Es muss an der Stelle nur eine astrakte Schnittstelle geschaffen werden.

Abwärtskompatibilität: Wenn man es tatsächlich vor hat das Format so public zu machen, dann sollte das definitiv auch gegeben sein. In meinen Augen würde es vollkommen genügen, wenn man zu Begin eines Objektes Informationen zum Überspringen des Selbigem ablegt. Also Größe oder sonst etwas. Bei Verteices würde das aus Platzgründen wohl kaum Sinn machen. Allerdings die Objekte in Version 1.0 müssen sowieso überall bekannt sein. Da muss man auch einfach mal herrausfinden was sich lohnt und auf Dauer bewährt. Ausgiebige Beta Phase zwingend vorrausgesetzt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 21:19 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Nur zur Info, es wird weitergeschrieben an meinem Format!

Hier mal ein Link, ich hoffe das ist nicht zu schlimm das es eine Extra Seite hat!
http://wishlist.delphigl.com/index.php/ ... zum_Format

Edit:
Der Shader da drin ist übrigens gut wenn ihr einen Glow Effekt wollt!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 21:34 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
OT: Hey Phob, hier misbraucht jemand die wishlist als projektplanungstool. :mrgreen:

Nun wenn man den Datenblockansatz von Lars (Quasiklassen) benutzt, könnte man doch bei jedem Block mit angeben ab welcher Loaderversion das Feature unterstützt wird. Der Laoder würde dann sehen "Huch da bin ich zu alt für" und läßt die Daten weg. Somit hätte man Versionskompatibilität (Sogar nach oben)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 08, 2005 22:20 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Flash hat geschrieben:
OT: Hey Phob, hier misbraucht jemand die wishlist als projektplanungstool. :mrgreen:


Konnte es leider nicht auf meinen tripod Account bringen, zudem fehlt sowas! :mrgreen:

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 09, 2005 00:37 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Zitat:
Nun wenn man den Datenblockansatz von Lars (Quasiklassen) benutzt, könnte man doch bei jedem Block mit angeben ab welcher Loaderversion das Feature unterstützt wird. Der Laoder würde dann sehen "Huch da bin ich zu alt für" und läßt die Daten weg. Somit hätte man Versionskompatibilität (Sogar nach oben)

Ja, so ähnlich hatte ich das auch gedacht. Das DGL Meshformat besteht dann aus einer gewissen Anzahl an Klassen mit Attributen die unterstützt werden müssen. Alles zusätzliche ist optional und kann als Extension deklariert werden. Z.B. könnten einige Attribute beim Mesh hinzukommen die nur speziell bei einem bestimmten Modeller vorhanden sind.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 09, 2005 10:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich erlaub mir mal wieder ne zusammenfassung.

Das Format soll mit Tags arbeiten und kann somit in Text und Binary abgespeichert werden da man die Tags mit Konstanten zahlen benennt die in der Binary den Tag ersetzten. Zum lesen der daten werden Strukturen verwendet die alle samt einen einheitlichen header besitzten der in etwa so aussehen könnte.
Code:
  1.  
  2. Tag_Header=record
  3.   version:cardinal;
  4.   size:cardinal;
  5. end;
  6.  

Im Textformat sind diese daten im header am anfang festgehalten und im Binären werden sie vor dem befehl selber gesetzt.
So ist es möglich die Versionsnummer zu lesen und festzustellen ob die Struktur vom loader überhaupt unterstützt wird.
Wenn das der Fall ist wird mit hilfe der passenden Struktur die daten ausgelesen. Wenn das nicht der Fall ist dann wird mit hilfe von size diese struktur einfach übersprungen und die nächste wird unter die Lupe genommen. So ist es Möglich mit einem gemeinsamen Klassensatz beide formate auszulesen, da der Text in die binärform interpretiert wird und dann verarbeitet wird.

Ich hätte da noch ne idee bezüglich der binären speicherform.
Aus einem <vertexarray>3,2,4,2,1,3,5,3,3.0</vertexarray> in textform könnte man in Binärform folgendes machen
[Header]
[0010]Version
[0012]size
[Zusatz]
[0001]typ (vertexarray)
[Daten]
daten des arrays
...

also statt immer ein tag auf und ein tag zu in der binärform zu nutzten einfach nur einmal ein tag der als typ festgehalten wird. Denn da wir wissen wie lang die Strukturen sein werden ist der Tag nur speicherfresser.

Type
Tag_Typ=(vertexarray,header,texturcoordarray,texturename0,texturename1,...);

const
Tag_Typ_Name:array [Tag_Typ] of string=('<vertexarray>', '<header>', '<texturecoordarray>', '<texturename0>', '<texturename1>', ...);

type
Tag_Header=record
version:cardinal;
size:cardinal;
typ:Tag_Typ;
end;

So könnte man über Tag_Typ_Name die Texttags in binäre Tag_Typ interpretieren und diese werden dann normal in den funktionen verwendet.[/code]

_________________
"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: Fr Sep 09, 2005 10:30 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Das ist doch dann wieder viel zu unflexibel, wenn man spezielle Tags definiert und dann auch noch die Versionen prüfen muß. Und Typeinformationen sind bei dieser Varianten dann wohl auch nicht drin. Man muß also wissen welche Tags welche ID haben um sie korrekt auszulesen. Nein, das ist sicherlich nicht die richtige Lösung. Eine Datei muß selbstbeschreibend sein.
Ich habe ja auch vorgeschlagen die Start und Endmarkierungen wegzulassen, da man ja anhand der Typeinfos weiß welches Feld als nächstes kommt und wie lang es ist. Dann liegen die Vertex Daten in der binären Version nämlich direkt hintereinander im Speicher und können so als Vertex Array leicht weiter verarbeitet werden.
Das man Binär und Textformat gleich lesen muß ist klar. Wenn man hier noch zwei verschiedene Varianten macht ist das nur noch schwer zu warten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 09, 2005 10:43 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Was haltet ihr dem von dem Beispiel hier?
http://wishlist.delphigl.com/index.php/ ... f#Beispiel

MfG
Flo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 09, 2005 11:10 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Der Vorschlag entspricht auch ungefähr meinen Vorstellungen, weil die Typen vorher genau beschrieben werden. Obwohl ich noch nicht genau verstanden habe, was variable Größe Type 3 bedeutet. Wenn man einfach einen beliebigen Datenblock unterbringen möchte, kann man das ja auch als Byte Array deklarieren. Die Größe muß bei allen Arrays natürlich vor den eigentlich Daten mitgespeichert werden.
Nur die Sache mit den Tabellen vor den eigentlichen Daten finde ich nicht so gut, weil man dann eben wie gesagt zwei Durchläufe über die Struktur benötigt.
Das es langsamer zu laden oder zu schreiben ist, wenn man die Typen und Strings direkt nach ihrer ersten Verwendung abspeichert, sehe ich auch nicht unbedingt. Der Loader erkennt, dass der Type oder String Index größer als die Summe alle bekannten Typen/Strings bislang ist und weiß das dann entweder der String oder die Typedefinition folgen muß.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 178 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Nächste
Foren-Übersicht » Sonstiges » Community-Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.009s | 14 Queries | GZIP : On ]