Попытка передать вершину VBO и данные цвета из std::vector<float4>
, где float4
аналогичен CUDA float4 (объект с x, y, z, w).
int createVertexArrayObject(std::vector<float4> vertex_buffer_data,
std::vector<unsigned int> index_buffer_data,
std::vector<float4> color_buffer_data){
float* vertex_data = reinterpret_cast<float*>(&vertex_buffer_data[0]);
unsigned int vertexArrayID;
glGenVertexArrays(1, &vertexArrayID);
glBindVertexArray(vertexArrayID);
unsigned int vertexBufferID;
glGenBuffers(1, &vertexBufferID);
glBindBuffer(GL_ARRAY_BUFFER, vertexBufferID);
glBufferData(
GL_ARRAY_BUFFER,
vertex_buffer_data.size()*sizeof(float4),
vertex_data,
GL_STATIC_DRAW
);
(...)
}
Это то, с чем я работаю в плане передачи данных в VBO.Тем не менее, ничего не оказывает.Правильно ли я вычисляю размер и правильно ли я указываю первый элемент в структуре?