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

Aktuelle Zeit: Di Apr 23, 2024 15:07

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 ... 8, 9, 10, 11, 12
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 29, 2005 15:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Jo man hat sogar einige funktionen die in den letzen Max versionen fehlten durch scripte gelöst und in der neuen Max8 version fest reinprogrammiert.
Hab mich verschrieben die heissen Lichtblick4d http://www.lichtblick4d.com/ die haben vor kurzer Zeit in Berlin einen Sitz aufgemacht.

_________________
"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: Sa Okt 29, 2005 15:32 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Hm... Das heißt, es bestehen durchaus Chancen für einen 3ds Max Im-/Exporter? :D

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 29, 2005 16:02 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich kann sagen das ich keinen entwickeln werde aber ich denke jemanden zu finden der das macht ist nicht schwer , da es viele MaxScripter gibt auch deutsche. Ich werde defenitiv nur für ein Blenderexporter sorgen und Exporter für andere Programme müssen dann von anderen Personen entwickelt werden. Ich bin aber gerne bereit mit Informationen auszuhelfen.

Viele hobbymodeller aus der Quakeengine Scene nutzen z.B. MilkShape (was ich nicht verstehen kann da es wirklich ein mieses progg ist), die SDK ist frei und es ist auch erlaubt plugins zu entwickeln. Ein guter Anteil an 3D Grafikern nutzt Max und wenige haben dann oberklassenprogs wie Maya, SoftImage oder LightWave diese Progs haben alle samt Comercial in ihrer perversesten Art im Sinne und da ist obacht vor geboten.
Ein kleiner ausbruch mit gmax ist auch gescheitert und soll demnächst eingestellt werden und man muss sagen auch dies war nicht kostenlos für entwickler.
Wenn also exporter entwickelt werden sollen muss ein Besitzer mit einer Lizens vom Produkt aufgetrieben werden, der den Exporter dann schreibt oder es sollte ein Nachweis gebracht werden das eine Lizens für ein Exporter nicht von nöten ist.

Bevor es aber soweit ist denke ich kann es schon ein bischen dauern, denn erstmal müssen bugs behoben werden die auftreten könnten oder fixes.
Ein gutes Handling mit dem Exporter und Importer muss geschaffen werden und dann kann man über den Tellerrand schauen.

Zum Thema Importer kann ich schonmal sagen ich hab die ersten Lesefunktionen drin also folgendes funktioniert schonmal.
version:=dglfile.segment('header').container('version').asSingle;
filetyp:=dglfile.segment('header').container('typ').asString;
size:=dglfile.segment('data').container('kreis').container('size').asInteger;
Momentan arbeite ich an der category funktion und das laden der typen muss noch ein bischen ausgereift werden zwar werden typen korrekt erkannt und in einer passenden struktur eingelagert aber nutzen kann man es noch nicht ^^.

_________________
"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: Sa Okt 29, 2005 16:17 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Das ist mir schon klar, dass du keinen Exporter für 3ds Max schreibst ;)

Aber solange sich das mit Maxscript regeln lassen könnte, stünde dem ja nichts dagegen, dass das jemand anderes macht. Obwohl eine XML-Datei mit Maxscript auszulesen bestimmt nicht lustig ist ;)

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 07, 2005 15:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Gute und schlechte Nachrichten sind heute im Programm,
1. Ich hab das Format ein bischen ausgefeilt und angefangen den Binaryloader zu schreiben und hab auch die Strukturen überarbeitet.
2.Ich hab ein kleinen Plattencrash gehabt und ein großteil meines codes verloren.
3.Ich kann ein großen Teil rekonstruieren und aus dem kopf ein bischen nachproggen aber ein teil wird wohl von vorne geschrieben werden müssen.
Glücklicherweise hab ich noch den ersten loader der nur xml konnte und das testprogram für den neuen loader so hab ich alle befehle schonmal sicher.
Und teile der neuen Struktur die ich durch binary dumping recovern konnte. Mal sehen wie lange es dauert den code fertig zu stelllen.

Die neue Struktur arbeitet mit 5pointern und einer cardinal;
Code:
  1. pTNode=^TNode;
  2. TNode=object
  3. public
  4.   TagID:cardinal;
  5.   ParentNode:pTNode;
  6.   ChildNode:pTNode;
  7.   NextNode:pTNode;
  8.   PrevNode:pTNode;
  9.   data:pointer;
  10.  
  11.   function GetName:string;
  12.   function AsSingle:Single;
  13.   function AsBoolean:Boolean;
  14.  
  15.   function Segment(name:string):pTNode; //for example 'data','type','header',category'
  16.  
  17.   procedure AddNextNode;
  18.   procedure AddChildNode;
  19.   procedure Move(target:pTNode);
  20.  
  21.   procedure WriteTree(depth:cardinal);
  22. end;


Damit kann man locker flockig nen baum aufziehen und der Voteil liegt in der geschwindigkeit beim verändern des baumes.
Per TagID kann man feststellen wie das teil heißt,welcher typ es ist und mit data und den typ kann man dann die daten abfragen.

Im gegensatz zur vorigen variante ist die neue immer auf ein cardinal bezogen nicht auf ein string.
Dies natürlich wesentlich schneller und einfacher.

_________________
"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: Mo Nov 07, 2005 17:08 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1944
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Ich freu' mich schon richtig drauf... Vielleicht versuch' ich auch nochmal, mich mit Blender anzufreunden. Das klingt einfach zu lecker... :D

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 07, 2005 18:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Irgendwer da oben hat mich lieb :oops: .
Nachdem ich die 10GB partition in nette 5 binary images kopiert und geteilt habe, konnte ich mit biew, ein Binary viewer ,nach einiger Zeit die unit finden.
Der Fileheader war kaputt und auch die file selber war bis kurz vor dem semikolon vom unitname kaputt somit konnte ich alles wichtige retten.
Zur sicherheit werde ich nachher mal ein cvs update meiner engine machen und somit den aktuellen stand in mein sourceforge projekt übernehmen.
Das bedeutet ich kann nachher weiter proggen, dass speichern von xml files ging ja schon und das speicher von binary war der letzte punkt an dem ich arbeite. Binary laden ist nen kinderspiel im gegensatz zu XML laden was ich ja schon in mein alten loader drin habe also ein copy paste :)
Was ich auch noch machen werde ist der converter(besser gesagt die abfrageroutine was gemacht werden soll ^^),Structure Manager und exporter script.

_________________
"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: So Apr 02, 2006 22:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hab nun wieder die arbeit aufgenommen.
Ich hab ein neuen Code aufgebaut und nutze nun ein XML Parser der unter Freepascal und delphi läuft.
In der letzten Version hab ich ja ein eigenen Parser geplant gehabt aber der war nicht so perfekt.
Momentan arbeite ich daran ein interface zu erstellen, welches die Baumstruktur bestmöglich anbietet.

_________________
"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: Mo Apr 03, 2006 12:06 
Offline
DGL Member
Benutzeravatar

Registriert: So Feb 06, 2005 17:29
Beiträge: 187
Programmiersprache: C, C++
cool

(was soll man noch sagen ?)

:D

_________________
Flummi: Projektseite und Projektthread


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 03, 2006 12:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Ich arbeite im Moment auch an einem Meshformat (bzw das Format ist schon fertig, der Loader ist grad in Arbeit), dessen Hauptaugenmerk auf Animationen liegt. Der Export (bisher nur aus Blender) funktioniert schon recht gut, im Moment arbeite ich an der korrekten Drehung im Parent-Child-System.
Evtl könnten wir unsere Projekte dann mal irgendwann verschmelzen...

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 07, 2006 15:57 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Gute Nachrichten,
Ich hab gerade eine funktion AsType eingebaut diese funktion erlaubt das nutzen von den typeninformationen.
Hier mal ein kleines Beispiel:
-die XML file
Code:
  1. <xddata>
  2.   <header>
  3.     <version> 1.0</version>
  4.     <typ>takmesh</typ>
  5.   </header>
  6.   <type>
  7.     <objdata>
  8.       <objcount typ='integer' count='1'/>
  9.     </objdata>
  10.     <vector>
  11.       <x typ='float' count='1'/>
  12.       <y typ='float' count='1'/>
  13.       <z typ='float' count='1'/>
  14.     </vector>
  15.     <faces>
  16.       <numverts typ='longword' count='1'/>
  17.       <smooth typ='boolean' count='1'/>
  18.       <normal typ='vector' count='1'/>
  19.       <vertex typ='vector' count='-1'/>
  20.     </faces>
  21.     <mesh>
  22.       <name typ='string' count='1'/>
  23.       <numfaces typ='longword' count='1'/>
  24.       <numverts typ='longword' count='1'/>
  25.       <hasFaceUV typ='boolean' count='1'/>
  26.       <face typ='faces' count='-1'/>
  27.     </mesh>
  28.   </type>
  29.   <data>
  30.     <objdata objcount='25' />
  31.     <mesh name='Cube.004' numfaces='6' numverts='24' hasFaceUV='0'>
  32.       <face numverts='4' smooth='0'>
  33.         <normal x='0.0' y='0.0' z='1.0'/>
  34.         <vertex x='-1.19999909' y='0.0' z='1.299999'/>
  35.         <vertex x='-1.19999909' y='-0.09999993' z='1.299999'/>
  36.         <vertex x='1.299999' y='-0.09999993' z='1.299999'/>
  37.         <vertex x='1.299999' y='0.0' z='1.299999'/>
  38.       </face>
  39.       <face numverts='4' smooth='0'>
  40.         <normal x='0.0' y='0.0' z='-1.0'/>
  41.         <vertex x='-1.19999909' y='0.0' z='-1.299999'/>
  42.         <vertex x='1.299999' y='0.0' z='-1.299999'/>
  43.         <vertex x='1.299999' y='-0.09999993' z='-1.299999'/>
  44.         <vertex x='-1.19999909' y='-0.09999993' z='-1.299999'/>
  45.       </face>
  46.       ...

-der passende loader
Code:
  1. program takmesh;
  2.  
  3. uses
  4.   XD_Data,
  5.   dglOpenGL,
  6.   SysUtils;
  7.  
  8. type
  9.   pTGLVector3f=^TGLVector3f;
  10.  
  11.   pTFaces=^TFaces;
  12.   TFaces=packed record
  13.     numofvert:cardinal;
  14.     smooth:Boolean;
  15.     normal:TGLVector3f;
  16.     verts:array [0..(MaxInt div 21{sizeof(TFaces)})] of pTGLVector3f;
  17.   end;
  18.  
  19.   pTMesh=^TMesh;
  20.   TMesh=packed record
  21.     name:pchar;
  22.     numfaces:cardinal;
  23.     numverts:cardinal;
  24.     hasfaceuv:Boolean;
  25.     faces:array [0..(MAXINT div 17{sizeof(TMesh)})] of pTFaces;
  26.   end;
  27.  
  28. var
  29.   glData:TXD_Data;
  30.   mesh:array of pTMesh;
  31.   meshnode:TXD_Node;
  32.   i:cardinal;
  33.  
  34. begin
  35.   glData:=TXD_Data.create;
  36.   gldata.LoadFromFile('test.xml');
  37.  
  38.   if lowercase(glData.Segment(xdd_header).Container('typ').AsString)<>'takmesh' then exit;//ist kein TAKMesh also würde der loader nicht gehen
  39.  
  40.   setlength(mesh,glData.Segment(xdd_data).Container('objdata').Container('objcount').AsLongWord-1);
  41.   meshnode:=glData.Segment(xdd_data).Container('mesh');
  42.   for i:=0 to length(mesh)-1 do
  43.   begin
  44.     mesh[i]:=meshnode.AsType.data;
  45.     meshnode:=meshnode.nextnode;
  46.   end;
  47.  
  48.   writeln(mesh[0]^.faces[0]^.numofvert);
  49. end.


Ohne AsType müsste man alles per hand laden und das geht bei größeren und komplexeren XML datein in eine ziemlich große Zeilenanzahl. Auffallen wird wohl das ich in den records sowas habe "faces:array [0..(MAXINT div 17{sizeof(TMesh)})] of pTFaces;", dass sind arrays die in der größe nicht festgelegt sind also dynamische arrays. Um nicht in falsche bereiche zu zugreifen sollte man die anzahl an elementen mit in der xml file speichern. Dynamisch ist ein xml element wenn man count='-1' macht wobei er alle zahlen unter 1 als solches interpretiert. Im Header gibs ein Tag Typ dieser ist fest implementiert und beinhaltet den filetyp des Nutzers. Im meinen Fall war es das TakMesh und wenn der loader dann steht überprüft man vorher einfach ob die Datei ein TakMesh ist und kann sie dann laden.

Wenn man die XML File dann rendert und wie ich noch ein Bloom einsetzt, wenn das Mesh 'Suzanne' heisst sieht es so aus.
Bild

Ich mach mich nun an das schreiben von XML strukturen und dann gleiches für das Binäre format.

_________________
"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: Sa Aug 19, 2006 17:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hallo,
Ich hab die Woche eine beinah fertige initial Release Version geschafft.
Die neue Version ist im bereich Pascalschnittstelle verbessert worden.
Nun kann man mit 2-3 Befehlen die Daten aus der Datei in die eigenen Datenstrukturen geladen werden.
Hierbei wird die node.AsType funktion verwendet, diese legt im speicher ein bereich an und kopiert die daten in form der typen rein.
Aussehen tut das dann wie folgt.

XML File:
Code:
  1. <xddata>
  2.   <header>
  3.     <version> 1.0</version>
  4.     <typ>mesh</typ>
  5.   </header>
  6.   <type>
  7.     <objdata>
  8.       <objcount typ='integer' count='1'/>
  9.     </objdata>
  10.     <entdata>
  11.       <entcount typ='integer' count='1'/>
  12.     </entdata>
  13.     <uvcoord>
  14.       <u typ='float' count='1'/>
  15.       <v typ='float' count='1'/>
  16.     </uvcoord>
  17.     <vector>
  18.       <x typ='float' count='1'/>
  19.       <y typ='float' count='1'/>
  20.       <z typ='float' count='1'/>
  21.     </vector>
  22.     <particles>
  23.       <pos typ='vector' count='1'/>
  24.     </particles>    <faces>
  25.       <numverts typ='longword' count='1'/>
  26.       <smooth typ='boolean' count='1'/>
  27.       <normal typ='vector' count='1'/>
  28.       <vertex typ='vector' count='-1'/>
  29.       <uv typ='uvcoord' count='-1'/>
  30.     </faces>
  31.     <mesh>
  32.       <name typ='string' count='1' />
  33.       <numfaces typ='longword' count='1'/>
  34.       <numverts typ='longword' count='1'/>
  35.       <hasFaceUV typ='boolean' count='1'/>
  36.       <face typ='faces' count='-1'/>
  37.     </mesh>
  38.     <entity>
  39.       <name typ='string' count='1'/>
  40.       <kind typ='string' count='1'/>
  41.       <particle typ='particles' count='1'/>
  42.     </entity>
  43.   </type>
  44.   <data>
  45.     <objdata objcount='31'/>
  46.     <entdata entcount='1'/>
  47. <mesh name='Cube.004' numfaces='1' numverts='4' hasFaceUV='1'>
  48.   <face numverts='4' smooth='0'>
  49.     <normal x='-2.2e-007' y='1.0' z='-1.9e-007'/>
  50.     <vertex x='-0.39999992' y='-1.5e-007' z='-0.39999971'/>
  51.     <vertex x='-0.39999974' y='3e-008' z='0.39999971'/>
  52.     <vertex x='0.39999959' y='1.8e-007' z='0.39999971'/>
  53.     <vertex x='0.39999971' y='6e-008' z='-0.39999971'/>
  54.     <uv u='1.5' v='-0.5'/>
  55.     <uv u='-0.5' v='-0.5'/>
  56.     <uv u='-0.5' v='1.5'/>
  57.     <uv u='1.5' v='1.5'/>
  58.   </face>
  59. </mesh>
  60. ...


Pascal:
Code:
  1. type
  2.   TGLVector2f=array [0..1] of single;
  3.   pTGLVector3f=^TGLVector3f;
  4.   pTGLVector2f=^TGLVector2f;
  5.  
  6.   pTFaces=^TFaces;
  7.   TFaces=packed record
  8.     numofvert:cardinal;
  9.     smooth:Boolean;
  10.     normal:TGLVector3f;
  11.     verts:pTGLVector3f;
  12.     uv:pTGLVector2f;
  13.   end;
  14.  
  15.   pTMesh=^TMesh;
  16.   TMesh=packed record
  17.     name:pchar;
  18.     numfaces:cardinal;
  19.     numverts:cardinal;
  20.     hasfaceuv:Boolean;
  21.     faces:pTFaces;
  22.   end;
  23.  
  24.   TParticle1=packed record
  25.     pos:TGLVector3f;
  26.   end;
  27.  
  28.   pTEntity=^TEntity;
  29.   TEntity=packed record
  30.     name:pchar;
  31.     kind:pchar;
  32.     particle:TParticle1
  33.   end;
  34. ..
  35. begin
  36. ...
  37.   glData:=TXD_Data.create;
  38.   gldata.LoadFromFile('test.xml');
  39.  
  40.   setlength(mesh,glData.Segment(xdd_data).Container('objdata').Container('objcount').AsLongWord);
  41.   meshnode:=glData.Segment(xdd_data).Container('mesh');
  42.   if length(mesh)>0 then
  43.   for i:=0 to length(mesh)-1 do
  44.   begin
  45.     mesh[i]:=meshnode.AsType.data;
  46.     meshnode:=meshnode.nextnode;
  47.   end;
  48.  
  49.   setlength(entity,glData.Segment(xdd_data).Container('entdata').Container('entcount').AsLongWord);
  50.   meshnode:=glData.Segment(xdd_data).Container('entity');
  51.   if length(entity)>0 then
  52.   for i:=0 to length(entity)-1 do
  53.   begin
  54.     entity[i]:=meshnode.AsType.data;
  55.     meshnode:=meshnode.nextnode;
  56.   end;
  57. ...


AsType speichert static arrays wie gewohnt direkt an die stelle und dynamic arrays hab ich über ein pointer auf einen speicherbereich, wo alle elemente nebeneinander liegen, gelöst. Sprich man muss dann beim lesen die adresse vom ziel mit inc(pointer vom typ) erhöhen.
Man sollte also schon die anzahl in der Datei mit rein schreiben.
Ich spielte erst mit den gedanken direkt ein dynamischen array zu emitieren aber die arraydaten für freepascal sind schon ziemlich heftig und ich weiss nicht ob Delphi es anders handelt.

Bevor ich ein initial release mache will ich noch den binary modus fertig bekommen(kleine probs im import) und den code noch ein bischen leserlicher gestalten.
Wer trotzdem schon mit beschäftigen will, kann im svn repo von x-dream, eine demo "xdm" finden.
Alternativ kann man auch das nightbuild nehmen http://www.linuxprofessionals.org/xdream/?link=packages.

Das exporterscript was ich in Blender nutzte kann man hier finden http://www.linuxprofessionals.org/xdream/blend2xml.py.
Wenn die Demo korrekt läuft, sollte es wie folgt aussehen.
Bild
Das Partikelsystem ist ein Entity und mit FireBlade realisiert, sonnst gibt es nichts besonderes zu erwähnen.

_________________
"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 Aug 31, 2006 13:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich hab heute XD_Data aka GL_Data aka DGL_Meshformat fertig im Funktionsumfang fertig bekommen.
Was nun noch fehlt ist Optimierung und das realisierung von Features, Doku und Tutorials.

Features die noch nicht stehen sind z.B. das streamen von Binary und ein Platzsparendes Speichern der Werte.
Momentan ist in normalfall Binary größer als XML, da für ein Tag 9Byte anfallen und die Werte als String gespeichert werden.
Diesen Umstand wird noch abhilfe geschaffen werden, indem erkannt wird ob es ein bekannter Type ist und dann nur einmal den Tag speichert und alle werte Binär aneinander speichert. So fallen die 9Bytes pro Tag weg und die Daten liegen Binär und nicht als String vor. Streaming will ich wie folgt realisieren. Da jeder Tag eine TagID,Count,Typ besitzt kann man einfach die Tag Daten beim lesen überspringen und wenn dann vom User eine Anfrage auf ein Wert statt findet und kein Wert enthalten ist. Wird die Datei auf den Wert untersucht und eingetragen.

Das ganze Teil besteht aus 2 Units einmal XD_Data.pas und libxmlparser.pas(fremder sehr guter xml parser).

Wer Interesse hat soll sich mal melden, um eventuell noch Ideen vor zu tragen.

_________________
"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  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 178 Beiträge ]  Gehe zu Seite Vorherige  1 ... 8, 9, 10, 11, 12
Foren-Übersicht » Sonstiges » Community-Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 34 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.089s | 17 Queries | GZIP : On ]