Skip to content

Move OpenGL classes from CellGrid to OpenGL2 module

The vtkDrawTexturedElements, vtkArrayRenderer, and various vtkGLSLMod* classes implement vertex pulling for memory-efficient and high-performance rendering of large meshes on the GPU. We'd want to use these classes to improve the performance and memory usage of vtkOpenGLES30PolyDataMapper, note that texture buffers are required and VTK already emulates them with 2D textures (added by !9866 (merged)). However, having these classes live in Rendering/CellGrid is not helpful. This merge request moves them inside Rendering/OpenGL2, where the GLES 3.0 polydata mapper and all the OpenGL stuff live.

Summary:

  • adds some of the texture support code removed in !4023 (merged)
  • adds proper logic to determine the format of single and multi-component integer textures.
  • adds GLES 3.0 support for vtkDrawTexturedElements.
  • request integer texture support when uploading integer textures.
  • use glDrawElementsInstanced on GLES 3.0 because it is available.
Edited by Jaswant Panchumarti (Kitware)

Merge request reports