# GL\_DEPTH\_COMPONENT32 in opengl es

**URL:** https://discourse.vtk.org/t/gl-depth-component32-in-opengl-es/16082
**Category:** vtk.wasm
**Tags:** code, proposal
**Created:** [October 7, 2025, 12:47pm UTC](https://discourse.vtk.org/t/gl-depth-component32-in-opengl-es/16082 "2025-10-07T12:47:26Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Francois\_Merle](https://discourse.vtk.org/user_avatar/discourse.vtk.org/francois_merle/32/9872_2.png) [@Francois\_Merle](https://discourse.vtk.org/u/Francois_Merle)
#### Post date: [October 7, 2025, 12:47pm UTC](https://discourse.vtk.org/t/gl-depth-component32-in-opengl-es/16082/1 "2025-10-07T12:47:26Z")

</div>

Hi,

I’m making an application where I show a vtkImageData in 3D in a QQuickVTKWindow using a vtkSmartVolumeMapper.

As vtk is rendering it, there is a warning displayed : GL\_INVALID\_OPERATION: glBlitFramebuffer: Depth/stencil buffer format combination not allowed for blit. I traced it to a blit made in vtkOpenGLGPUVolumeRayCastMapper::vtkInternal::CaptureDepthTexture().

The depth format is here given by the texture DepthTextureObject which has her InternalFormat set with :

```cpp
this->DepthTextureObject->AllocateDepth(this->WindowSize[0], this->WindowSize[1], 4);

```

The last parameter set the format and “4” means GL\_DEPTH\_COMPONENT32 which does not exists in opengl es.

Shouldn’t the format be set to GL\_DEPTH\_COMPONENT24 if it’s in opengl es ?

---

<div class="post-metadata">

### Author: ![lgivord](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lgivord/32/3543_2.png) [@lgivord](https://discourse.vtk.org/u/lgivord)
#### Post date: [October 7, 2025, 2:45pm UTC](https://discourse.vtk.org/t/gl-depth-component32-in-opengl-es/16082/2 "2025-10-07T14:45:10Z")

</div>

Hi @Francois_Merle,

> Shouldn’t the format be set to GL\_DEPTH\_COMPONENT24 if it’s in opengl es ?

You probably have right, @LucasGandel you know better than me this codepath, do you confirm?

---

<div class="post-metadata">

### Author: ![LucasGandel](https://discourse.vtk.org/user_avatar/discourse.vtk.org/lucasgandel/32/1831_2.png) [@LucasGandel](https://discourse.vtk.org/u/LucasGandel)
#### Post date: [October 7, 2025, 2:58pm UTC](https://discourse.vtk.org/t/gl-depth-component32-in-opengl-es/16082/3 "2025-10-07T14:58:48Z")

</div>

I was not aware that GL\_DEPTH\_COMPONENT32 does not exist in OpenGLES (and that QQuickVTKWindow worked with OpenGLES neither TBH).  
Changing to GL\_DEPTH\_COMPONENT24 will work if the render window itself uses GL\_DEPTH\_COMPONENT24, as we blit its depth buffer into this texture IIRC?  
Anyway, the right fix would be to allow this format to be configured from the public API, as I know there can be other format compatibility issues (e.g. when using tone mapping pass with volume rendering).
