C++ 检索用于传递2D向量数组的向量数据指针
我有OpenGL方法:C++ 检索用于传递2D向量数组的向量数据指针,c++,opengl,glm-math,C++,Opengl,Glm Math,我有OpenGL方法: glStencilFillPathInstancedNV(6, glyphBase, GL_UNSIGNED_BYTE, "OpenGL", GL_PATH_FILL_MODE_NV, 0xFF, GL_TRANSLATE_2D_NV, xtranslate); 其中xtra
glStencilFillPathInstancedNV(6, glyphBase,
GL_UNSIGNED_BYTE, "OpenGL",
GL_PATH_FILL_MODE_NV, 0xFF,
GL_TRANSLATE_2D_NV, xtranslate);
其中xtranslate应该是一个GLfloat数组,其中每个连续的数字对表示2维向量。在我的应用程序中,表示xtranslate的数据结构是:
std::vector<glm::vec2> xtranslate;
std::vector xtranslate;
如何获取指向此结构的数据指针,以便将其作为GLFloat有效地传递到上述方法中*
我应该手动将结构“展平”到数组中,还是有更复杂的解决方案
只有OpenGL模板的数学库
顺便说一句,我已经看到OpenSceneGraphAPI对其向量结构有这样一种方法,但是我找不到实现的源代码 是否允许您使用C++11?如果您只使用&(xtranslate[0].x),它会崩溃到多大程度只是因为我相信这样的尝试是无用的,我甚至不打算去尝试;)因为它在第一个vec2中只会得到一个指向单个浮点的指针……我非常确定std::vector的每个实现都将其内容存储在一个数组中。我相信glm::vec2只不过是一个带有两个浮点数的结构。如果vec2使用的浮点与GLfloat相同,那么它可能会工作。