Invalidate the previous index array after calling glBindVertexArray, as this call clears the GL_ELEMEMT_ARRAY_BUFFER when changing the state.

Update rasterizer_scene_gles3.cpp

Fix white-space to match godotengine checks.
This commit is contained in:
Malcolm Nixon 2022-12-10 10:08:01 -05:00
parent 1ac7e5a334
commit deb2adf4bd

View file

@ -2210,10 +2210,13 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params,
glBindVertexArray(vertex_array_gl);
}
prev_vertex_array_gl = vertex_array_gl;
// Invalidate the previous index array
prev_index_array_gl = 0;
}
bool use_index_buffer = index_array_gl != 0;
if (prev_index_array_gl != index_array_gl || prev_vertex_array_gl != vertex_array_gl) {
if (prev_index_array_gl != index_array_gl) {
if (index_array_gl != 0) {
// Bind index each time so we can use LODs
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_array_gl);