GlBufferData: отправка данных с вектором вектора ⇐ C++
-
Anonymous
GlBufferData: отправка данных с вектором вектора
Обычно у меня возникает ситуация, когда я просто отправляю данные в буферы opengl, используя такой вектор:
std::vectorcSplinePointsData; glBufferData(GL_ARRAY_BUFFER, myTreeInventory[currentInventoryItem]->cSplinePointsData.size() * sizeof(float), &myTreeInventory[currentInventoryItem]->cSplinePointsData[0], GL_DYNAMIC_DRAW_ARB); Однако что, если мне нужно использовать вектор вектора? Как я ни старался, на экране ничего не рисуется. Мой код выглядит следующим образом:
std::vector cSplinePointsData; glBufferData(GL_ARRAY_BUFFER, myTreeInventory[currentInventoryItem]->cSplinePointsData.at(ID).size() * sizeof(float), &myTreeInventory[currentInventoryItem]->cSplinePointsData.at(ID)[0], GL_DYNAMIC_DRAW_ARB); Что я делаю не так?
Я по сути изменил код, который работал с одним std::vector, поэтому не уверен, почему он не будет работать со вторым подходом.
Обычно у меня возникает ситуация, когда я просто отправляю данные в буферы opengl, используя такой вектор:
std::vectorcSplinePointsData; glBufferData(GL_ARRAY_BUFFER, myTreeInventory[currentInventoryItem]->cSplinePointsData.size() * sizeof(float), &myTreeInventory[currentInventoryItem]->cSplinePointsData[0], GL_DYNAMIC_DRAW_ARB); Однако что, если мне нужно использовать вектор вектора? Как я ни старался, на экране ничего не рисуется. Мой код выглядит следующим образом:
std::vector cSplinePointsData; glBufferData(GL_ARRAY_BUFFER, myTreeInventory[currentInventoryItem]->cSplinePointsData.at(ID).size() * sizeof(float), &myTreeInventory[currentInventoryItem]->cSplinePointsData.at(ID)[0], GL_DYNAMIC_DRAW_ARB); Что я делаю не так?
Я по сути изменил код, который работал с одним std::vector, поэтому не уверен, почему он не будет работать со вторым подходом.
Мобильная версия