C++ (Qt)struct Vertex { QVector3D mPosition; QVector3D mNormal; QVector3D mTexture; QVector3D mBlur; ARGB mColor; ..};
C++ (Qt)struct Vertex{ QVector3D mPosition; QVector3D *mNormal; QVector3D *mTexture; QVector3D *mBlur; ARGB *mColor; ..};
C++ (Qt)class Vertex{public: void addProperty( ... ); void removeProperty( ... ); private: QVector3D mPosition; QList<Propertiy> mProperties;};
C++ (Qt)struct Vertex { size_t GetSize( void ) const { return theGlobalVertexTable[mTableIndex].GetSize(); } // ой как бы здесь заверещала наша малышь :) Vector3D * GetNormal( void ) { return theGlobalVertexTable[mTableIndex].GetNormal((char *) this); } ,,, // data Vector3D mPosition; // постоянные данные UInt32 mTableIndex; // индекс расклада в таблице}; struct VertexTableEntry { size_t GetSize( void ) const { return mSize; } Vector3D * GetNormal( char * src ) { return (Vector3D *) (mNormalOffset ? (src + mNormalOffset) : NULL); } ... // data size_t mSize; size_t mNormalOffset; ...};