Objektspeicherung ohne Offset!?



  • Aloa,
    so ich versteh da was nicht. Erstmal, es geht um den MD2-Modelloader
    und für beispielsweise Skins, Triangles, TexCoords gibt es offset's, die bestimmen die Position im File, nun sind wir bei den Frames, nur da
    wird nur das Objekt von MD2_Vertex gelesen und in ihm gespeichert.
    Noch mal zum Vergleich, beim Offset:

    fseek(ModelFile, m_pHeader->offsetTexCoords, SEEK_SET);
            for(int nTexCoord=0;nTexCoord < m_pHeader->offsetTexCoords; nTexCoord++)
            {
                fread(&m_pTexCoords,1, sizeof(MD2_TexCoord), ModelFile);
            }
    

    Und jetzt die Speicherung die ich nicht verstehe (Ohne Offset!):
    Code (C++):
    for(int nFrameID=0; nFrameID < m_pHeader->numFrames; nFrameID++)
    {
    fread(&m_pFrames[nFrameID],1, sizeof(MD2_Frame), ModelFile);

    m_pFrameData[nFrameID].pVertices = new MD2_Vertex[m_pHeader->numVertices];

    //Jetzt kommt der Teil ohne Offset's
            for(int nVert=0;nVert < m_pHeader->numVertices;nVert++)
            {
                MD2_Vertex TempVertx;
    
                fread(&TempVertx,1, sizeof(MD2_Header), ModelFile);
                m_pFrameData[nFrameID].pVertices[nVert] = TempVertx;
            }
        }
    

    Naja, wie gesagt, ich verstehe es einfach nicht. Was wird da im
    Objekt 'TempVertx' genau gespeichert und woher weiss das
    Programm welche Stelle da gesucht wird?
    Hoffentlich versteht mich einer, ansonsten vielen Dank im Voraus!



  • Schau Dir mal die Serialisierung an, dann verstehst Du wahrscheinlich auch, was bei der Deserialisierung gemacht wird.


Anmelden zum Antworten