diff --git a/src/wave_handler.cpp b/src/wave_handler.cpp index bb932f6bfe64dd78fdda0de19fba34641477ed3f..d50511feef78292fc58722e60c8e7d4e56cba388 100644 --- a/src/wave_handler.cpp +++ b/src/wave_handler.cpp @@ -84,9 +84,11 @@ void WaveHandler::prepare_step() { glBindTexture(GL_TEXTURE_2D, tex_comp_damp_static_); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, tex_comp_damp_dynamic_); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_2d_); glBindVertexArray(vao_2d_); glDrawElements(GL_TRIANGLES, num_elements_2d_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); } @@ -118,9 +120,11 @@ bool WaveHandler::step(Toolbox& tb, const int num_dsteps) glBindTexture(GL_TEXTURE_2D, tex_comp_wave_1_); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, tex_comp_damp_); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_2d_); glBindVertexArray(vao_2d_); glDrawElements(GL_TRIANGLES, num_elements_2d_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); tb.time += tb.dt; //swap framebuffers, repeat @@ -134,9 +138,11 @@ bool WaveHandler::step(Toolbox& tb, const int num_dsteps) glBindTexture(GL_TEXTURE_2D, tex_comp_wave_0_); glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, tex_comp_damp_); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_2d_); glBindVertexArray(vao_2d_); glDrawElements(GL_TRIANGLES, num_elements_2d_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); tb.time += tb.dt; } @@ -160,10 +166,12 @@ bool WaveHandler::render() glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_1D, tex_palette_); //glBindTexture(GL_TEXTURE_2D, tex_3d_checkerboard_); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo_render_); glBindVertexArray(vao_render_); glEnable(GL_MULTISAMPLE); glDrawElements(GL_TRIANGLES, num_elements_render_, GL_UNSIGNED_INT, 0); glBindVertexArray(0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); return true; }