GLM OpenGL 数学ライブラリを使用して OpenGL プログラムを作成しています。頂点位置、法線、テクスチャ座標を 1 つのクラスにまとめたいと思います。
class Vertex {
public:
glm::vec4 position;
glm::vec4 normal;
glm::vec2 texcoord;
};
次に、これらの配列を頂点バッファー オブジェクト (VBO) として使用します。ただし、VBO をマップするために呼び出すとき は、メンバーとメンバーglVertexAttribPointer
の結合された Vertex 構造体にオフセットを与える必要があります。normal
texcoord
これらがPODだったら、次のようなものを使用できたはずです
offsetof(Vertex, position)
しかし、それは glm データ型では機能しません (または、少なくとも g++ 4.4.3 は救済されます)。
Vertex のメンバーのオフセットを取得するための推奨される方法は何ですか?
offsetof
(任意の C++ オブジェクトを使用できない一般的な理由は理解していますが、この特定のケースでは、物事が明確に定義されているようです)。