Fix Volume rendering for WebAssembly
Fix shader issues preventing Volume rendering from working in WebAssembly:
- GLES Volume rendering: use NEAREST instead of LINEAR mag texture filtering. The OpenGL ES 3.0 specification defines a texture as incomplete when "a sized internal color format that is not texture-filterable, and either magnification filter is not NEAREST [...]". However, that is what the Volume Rendering DepthTextureObject used, so the magnification had to be changed to NEAREST for it to work in OpenGL ES (through WebAssembly/emscripten).
- Remove loading extension GL_ARB_gpu_shader5 in Volume vertex shader. The extension was added in 3dd6f6bc for OpenGL 1.2 compatibility with the inverse function. This function was used in multiple places then, but now only used in the Fragment shader clipping (VTL::Clipping::Init), making the inclusion of the extension irrelevant. Loading this extension did cause shader compilation issues in GLES, used especially in the WASM build. If this change causes issues for older OpenGL, enable the extension conditionnally when GL_ES is not defined.
Also enable auto serialization for vtkOpenGLGPUVolumeRayCastMapper
Edited by Louis Gombert