|
|
|
|
@ -97,18 +97,12 @@ hgAddHex(hexgrid& hg, v3f hex_coords, render_group* rg_filled, render_group* rg_
|
|
|
|
|
populateLineGLBuffers(hg, new_hex, rg_lines); |
|
|
|
|
|
|
|
|
|
// NOTE: we could send just a part of the buffer if performance ends up being bad here
|
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, vb_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, vb_f.count * sizeof(GLfloat), vb_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, nb_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, nb_f.count * sizeof(GLfloat), nb_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, ub_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, ub_f.count * sizeof(GLfloat), ub_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, vb_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, vb_l.count * sizeof(GLfloat), vb_l.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, nb_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, nb_l.count * sizeof(GLfloat), nb_l.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, ub_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, ub_l.count * sizeof(GLfloat), ub_l.buffer); |
|
|
|
|
rgUpdateGLBuffer(vb_f); |
|
|
|
|
rgUpdateGLBuffer(nb_f); |
|
|
|
|
rgUpdateGLBuffer(ub_f); |
|
|
|
|
rgUpdateGLBuffer(vb_l); |
|
|
|
|
rgUpdateGLBuffer(nb_l); |
|
|
|
|
rgUpdateGLBuffer(ub_l); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
@ -155,18 +149,12 @@ hgRemoveHex(hexgrid& hg, v3f hex_coords, render_group* rg_filled, render_group*
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// NOTE: we do need to update the whole buffer when removing data
|
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, vb_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, vb_f.count * sizeof(GLfloat), vb_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, nb_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, nb_f.count * sizeof(GLfloat), nb_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, ub_f.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, ub_f.count * sizeof(GLfloat), ub_f.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, vb_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, vb_l.count * sizeof(GLfloat), vb_l.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, nb_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, nb_l.count * sizeof(GLfloat), nb_l.buffer); |
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, ub_l.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, ub_l.count * sizeof(GLfloat), ub_l.buffer); |
|
|
|
|
rgUpdateGLBuffer(vb_f); |
|
|
|
|
rgUpdateGLBuffer(nb_f); |
|
|
|
|
rgUpdateGLBuffer(ub_f); |
|
|
|
|
rgUpdateGLBuffer(vb_l); |
|
|
|
|
rgUpdateGLBuffer(nb_l); |
|
|
|
|
rgUpdateGLBuffer(ub_l); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
@ -192,8 +180,7 @@ hgUpdateUVBuffer(hexgrid& hg, render_group* rg)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, uv_buf.buffer_id); |
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, 0, uv_buf.count * sizeof(GLfloat), uv_buf.buffer); |
|
|
|
|
rgUpdateGLBuffer(uv_buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hex_info* |
|
|
|
|
|