Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

1

10.06.2003, 11:25

Lesen aus ModellDateien mit Streams???

Ich will jetzt nen kleinen md2 Viewer proggen.Und da hab ich mich gefragt wie man denn die Daten aus den Dateien lesen muss?Ich dachte mal mit fstream oder??? Ich weis nicht was es noch für Möglichkeiten gibt.Könnt ihr vielleicht mal Links zu Tutorials mit diversen Techniken posten :huhu: Wäre dankbar dafür.
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

2

10.06.2003, 20:50

Wenn die Frage doof es dann kritisiert mich in meinem Wissen aber sagt was ....
*push*
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

3

10.06.2003, 20:56

MD2? also mit streams ginge es, auch mit FILE, du musst nur wissen wie! Auf ZFX gibt es ein Tutorial dazu

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

4

10.06.2003, 21:19

Warum nit Md2?Ok ist net das neuste aber zum Anfang..Ich will ja nicht gleich mit hunderten Optionen konfrontiert werden.Bones etc.
Die Tutorial Site bei ZFX is down*heul*
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

5

10.06.2003, 22:50

hi,

naja is ja auch egal :) morgen oder übermorgen soll die Tutorial section wieder on sein :)

Anonymous

unregistriert

6

11.06.2003, 17:27

Wie's der Zufall will, habe ich die letzten zwei Tage an einer Stream-Implementierung zum einlesen von MD3-Dateien gearbeitet. :)

Ich bin wie folgt vorgegangen:

- Alle Strukturen mit Klassen implementiert um C++ "treu" zu bleiben.
- Zu jeder Klasse (deren Elemente alle protected sind) den >>-Operator als friend überladen.
- Wenn man eine komplette MD3-Datei einlesen will muss man somit nur noch folgenden Code schreiben:

MD3 md3;
ifstream File("C:\\Blabla.md3", ios_base::binary);
File >> md3;
File.close();

Natürlich kann man auch die einzelnen Strukturen mit dem >>-Operator einlesen, wenn man mag.

Ein Beispiel:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class MD3_Frame
{
    friend ifstream & operator>>(ifstream &, MD3_Frame &);

public:
    MD3_Frame();

protected:
    float   Bounds[6];
    float   Origin[3];
    float   Radius;
    char    Name[16];
};

MD3_Frame::MD3_Frame()
{
    for(int n = 0; n < 6; n++)
        Bounds[n]   = 0.0f;

    for(n = 0; n < 3; n++)
        Origin[n]   = 0.0f;

    Radius          = 0.0f;
    Name[0]         = '\0';
}

ifstream & operator>>(ifstream &i, MD3_Frame &Frame)
{
    i.read(reinterpret_cast<char *>(&Frame.Bounds), sizeof(float) * 6);
    i.read(reinterpret_cast<char *>(&Frame.Origin), sizeof(float) * 3);
    i.read(reinterpret_cast<char *>(&Frame.Radius), sizeof(float));
    i.read(reinterpret_cast<char *>(&Frame.Name), sizeof(char) * 16);

    return i;
}

Werbeanzeige