 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DA Gast
|
Verfasst am: 04.09.2002, 13:55 Titel: Datei öffnen |
|
|
Hallo erstmal
Also ich wollte die 3d Informationen(Vertexes) in einer Textdatei
speichern anstatt im Programm zu deklarieren.
Also z.b.
CustomVertex TriangleVertices[] =
{
//Datei Laden
.........
};
Frage wie geht das.
Das mit Textdatei öfnnen und den inhalt in einer char zu speichern
hab ich schon.
Doch was jetzt???? |
|
Nach oben |
|
 |
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 04.09.2002, 14:17 Titel: |
|
|
du solltest das ganze binär machen. schau dir mal in der msdn die funktionen fopen(), fread() und fwrite() genauer an, da steht, wie man ganzer strukturen oder klassen auf einmal speichern und laden kann _________________ Es geht auch ohne  |
|
Nach oben |
|
 |
Ciceri Super JLI'ler

Alter: 37 Anmeldedatum: 26.08.2002 Beiträge: 418 Wohnort: Wischhafen/in der nähe Hamburgs Medaillen: Keine
|
Verfasst am: 04.09.2002, 17:25 Titel: |
|
|
im buch von chris ist das in kapitel 9!!!
ich bin nämlich gerade kapitel 11 ende, daher weiß ich das _________________ www.z-software.de
Spieleentwicklung-Pur
Besuchen Sie uns. |
|
Nach oben |
|
 |
DA Gast
|
Verfasst am: 04.09.2002, 19:43 Titel: |
|
|
OK
Ich hab jetzt die Vertexdaten in eine binärdatei kopiert.
Laden kann ich sie auch durch fread().
Aber wenn sie laden will und benutzen, muß ich sie vorher
deklarieren.
Vertex mit Null deklarieren->Binärdaten laden->Vertex mit Null mit Vertex aus Binärdaten deklarieren->VertexZeichnen
Aber wie kann ich die Binärdaten laden ohne sie vorher zu decklarieren
und ohne dass der Compieler mekert.
Also mein Ziel ist das ich Vertex wie ich will in der Binärdatei deklarieren
kann ohne am Quellcode rumzufuschen.
[/b] |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 04.09.2002, 23:30 Titel: |
|
|
Du mußt wie schon gesagt, die Daten per fread einlesen.
Die Strukturen mußt du natürlich vorher definieren, z.B. mit typedef struct und mit Type Variable[100], wobei das Feld ausreichend groß dimensioniert sein muß, oder du verwendest Dynamische Speicherverwaltung mit malloc und Co. (Nichts für Anfänger, glaub mir!)
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 05.09.2002, 06:12 Titel: ... |
|
|
Ja so habe ich das auch gemacht...
einfach ne Struktur erstellen und dann alle Werte eingelesen...
Aber ne wichtige Zwischenfrage:
Ist malloc nicht das gleiche wie new ...nur das malloc für C ist und new für C++ ???
Cu TheMillenium _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.09.2002, 07:51 Titel: |
|
|
Es ist nicht ganz das gleiche. Bei malloc schreibt dir niemand vor, wie du den Speicherinhalt verwenden willst, bei new schon.
Bei malloc kannst du genua die Bytes allokieren, die du brauchst, bei new sagst du die Anzahl der Elemente.
Aber ansonsten sind sich die beiden Funktionen ähnlich, new verwendet intern sogar malloc.
Und damit ist der 3. Grund ein Geschwindigkeitsgrund. Deshalb verwende ich wenn es geht malloc...
Mit New kann man ja auch Klassen Initialisieren (Konstructor) mit malloc würde man nur den Speicher für eine Klasse bekommen, den Konstruktor müsste man dann noch manuell aufrufen...
So ich denke das waren jetzt alle Unterschiede
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|