Array Probleme...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

ts-soft hat geschrieben:XML erfüllt alle Bedingungen, warum hörste nicht auf meinen Tip?
Da ReneMiner von "Gruppen von Dreiecken und Vertizen" spricht, nehme ich mal an, dass es sich um Daten für eine möglichst schnelle 3D-Berechnung handelt.
Das XML dazu in der Lage wäre diese Daten zu verwalten steht ausser Frage - aber meinst Du auch, dass es einem für diese Zwecke nötigen Geschwindigkeitsanspruch gerecht wird?
(PS: Hab' selber noch keinerlei Erfahrung mit XML gemacht.)
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Nein , dafuer ist es voellig ungeeignet, zumindest was
die Geschwindigkeit angeht.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Äh... XML wäre doch nur das Speicherformat. Im Programm wäre ein riesiges, dauernd auszuwertendes String doch in wirklich jedem Fall quatsch...


Verticen und Polygongruppen verwaltet man am besten in simplen Arrays pro Modell. Das hat einen einfachen Grund: OpenGL hat und DirectX hatte zwei verschiedene Modi. Den imidiate Modus und der retained Modus. Bei DirectX gibt es sogar nur noch den imidiate Modus.
Der retained Modus ist wie ihr es vermutlich auch von Ogre gewohnt seit, man baut Objekte mit Funktionsaufrufen zusammen, also bei OpenGL zb durch so eine typische begin(Triangles)-vertex(x,y,z)-vertex(x,y,z)-vertex(x,y,z) Sequenz. Das ist aber für komplexe Objekte nicht nur zu nervig sondern auch viel zu langsam. Deswegen gibt es bei beiden Schnittstellen auch den imidiate Modus, bei denen man den Funktionen Vertex-Puffer übergibt. Ein Vertex Puffer ist dabei nur ein Array, in OpenGL kann man zb ein Objekt Zeichnen in dem man einfach ein Array von Fließkommazahlen für die Vertexe übergibt und ein Integer (longs in PB) Array mit Vertexindexen für die Polygondefinitionen.
Antworten