Как правильно использовать данные, которые я получаю из указателя, возвращенного glMapBufferRange
в swift (я имею в виду чтение, запись в индекс в массиве)?
Мой текущий код (соответствующие части):
initialisation method...
{
glGenVertexArrays(1, &vao)
glBindVertexArray(vao)
glGenBuffers(1, &positionsVBO)
glBindBuffer(GLenum(GL_ARRAY_BUFFER), positionsVBO)
glBufferData(GLenum(GL_ARRAY_BUFFER), VectorPath.dynamicBufferSize, nil, GLenum(GL_STREAM_DRAW))
glEnableVertexAttribArray(0)
glBindBuffer(GLenum(GL_ARRAY_BUFFER), positionsVBO)
glVertexAttribPointer(0, 3, GLenum(GL_FLOAT), 0, 0, nil)
}
draw method...
{
// Not sure how to deal with the vertexPointer variable returned by glMapBufferRange
vertexPointer = glMapBufferRange(GLenum(GL_ARRAY_BUFFER), 0, VectorPath.dynamicBufferSize, GLenum(GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_RANGE_BIT))
glBindVertexArray(vao)
glDrawArrays(GLenum(GL_TRIANGLE_STRIP), 0, GLsizei(vertices.count))
glUnmapBuffer(GLenum(GL_ARRAY_BUFFER))
}