# Problem offscreen rendering

**URL:** https://discourse.vtk.org/t/problem-offscreen-rendering/12936
**Category:** Development
**Created:** [December 19, 2023, 8:30pm UTC](https://discourse.vtk.org/t/problem-offscreen-rendering/12936 "2023-12-19T20:30:46Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Rafael\_Scatena](https://discourse.vtk.org/user_avatar/discourse.vtk.org/rafael_scatena/32/7820_2.png) [@Rafael\_Scatena](https://discourse.vtk.org/u/Rafael_Scatena)
#### Post date: [December 19, 2023, 8:30pm UTC](https://discourse.vtk.org/t/problem-offscreen-rendering/12936/1 "2023-12-19T20:30:46Z")

</div>

Hello,

I can’t run my offscreen rendering code. It is just the offscreen rendering example…

Thank you.

```
        #ifdef ENABLE_OFFSCREEN_RENDERING
        // Setup offscreen rendering
    vtkNew<vtkNamedColors> colors;

    vtkNew<vtkGraphicsFactory> graphics_factory;
    graphics_factory->SetOffScreenOnlyMode(1);
    graphics_factory->SetUseMesaClasses(1);
    
      // Create a sphere
  vtkNew<vtkSphereSource> sphereSource;

  // Create a mapper and actor
  vtkNew<vtkPolyDataMapper> mapper;
  mapper->SetInputConnection(sphereSource->GetOutputPort());

  vtkNew<vtkActor> actor;
  actor->SetMapper(mapper);
  actor->GetProperty()->SetColor(colors->GetColor3d("White").GetData());

  // A renderer and render window
  vtkNew<vtkRenderer> renderer;
  vtkNew<vtkRenderWindow> renderWindow;
  renderWindow->SetOffScreenRendering(1);
  renderWindow->AddRenderer(renderer);

  // Add the actors to the scene
  renderer->AddActor(actor);
  renderer->SetBackground(colors->GetColor3d("SlateGray").GetData());

  renderWindow->Render();

  vtkNew<vtkWindowToImageFilter> windowToImageFilter;
  windowToImageFilter->SetInput(renderWindow);
  windowToImageFilter->Update();

  vtkNew<vtkPNGWriter> writer;
  writer->SetFileName("screenshot.png");
  writer->SetInputConnection(windowToImageFilter->GetOutputPort());
  writer->Write();
      #endif

```

2023-12-19 16:42:29.364 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:57 WARN| Error in cache state for GL\_DEPTH\_WRITEMASK  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:65 WARN| Error in cache state for GL\_COLOR\_WRITEMASK  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:72 WARN| Error in cache state for GL\_BLEND  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:79 WARN| Error in cache state for GL\_DEPTH\_TEST  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:102 WARN| Error in cache state for GL\_SCISSOR\_TEST  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:133 WARN| Error in cache state for GL\_VIEWPORT  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:141 WARN| Error in cache state for GL\_SCISSOR\_BOX  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:148 WARN| Error in cache state for GL\_CULL\_FACE\_MODE  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:155 WARN| Error in cache state for GL\_ACTIVE\_TEXTURE  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:162 WARN| Error in cache state for GL\_DEPTH\_FUNC  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:169 WARN| Error in cache state for GL\_BLEND\_SRC\_RGB  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:222 WARN| Error in cache state for GL\_DRAW\_BUFFER got 0 expected1026  
2023-12-19 16:42:29.365 ( 0.606s) [7F74BDACF600] vtkOpenGLState.cxx:241 WARN| Error in cache state for GL\_READ\_BUFFER  
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:263 WARN| at stack loc  
0x7f74bf0d3ba1 : ??? [(???) ???:-1]  
0x7f74bf0ce1db : vtksys::SystemInformation::GetProgramStack[abi:cxx11](int, int) [(libvtksys-9.3.so.1) ???:-1]  
0x7f74bfad6a01 : vtkOpenGLState::CheckState() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfade727 : vtkOpenGLState::vtkglPixelStorei(unsigned int, int) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfa9c5ee : vtkOpenGLRenderWindow::OpenGLInitState() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfa9c537 : vtkOpenGLRenderWindow::OpenGLInit() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfbb1b45 : vtkOSOpenGLRenderWindow::CreateOffScreenWindow(int, int) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfbb1d85 : vtkOSOpenGLRenderWindow::Initialize() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74bfaa1b43 : vtkOpenGLRenderWindow::Start() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74beaa2f28 : vtkRenderWindow::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]  
0x7f74bfaa5eb1 : vtkOpenGLRenderWindow::Render() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]  
0x7f74beaae9b8 : vtkRenderWindowInteractor::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]  
0x7f74beab1a6f : vtkRenderWindowInteractor::Initialize() [(libvtkRenderingCore-9.3.so.1) ???:-1]  
0x7f74beaaeb35 : vtkRenderWindowInteractor::Start() [(libvtkRenderingCore-9.3.so.1) ???:-1]  
0x5638fb4c5be3 : ??? [(???) ???:-1]  
0x7f74b7a29d90 : ??? [(???) ???:-1]  
0x7f74b7a29e40 : \_\_libc\_start\_main [(libc.so.6) ???:-1]  
0x5638fb4cadb5 : ??? [(???) ???:-1]

```
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:57 WARN| Error in cache state for GL_DEPTH_WRITEMASK
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:65 WARN| Error in cache state for GL_COLOR_WRITEMASK
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:72 WARN| Error in cache state for GL_BLEND
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:79 WARN| Error in cache state for GL_DEPTH_TEST
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:86 WARN| Error in cache state for GL_CULL_FACE
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:94 WARN| Error in cache state for GL_MULTISAMPLE
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:102 WARN| Error in cache state for GL_SCISSOR_TEST
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:109 WARN| Error in cache state for GL_STENCIL_TEST
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:117 WARN| Error in cache state for GL_TEXTURE_CUBE_MAP_SEAMLESS
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:133 WARN| Error in cache state for GL_VIEWPORT
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:141 WARN| Error in cache state for GL_SCISSOR_BOX
2023-12-19 16:42:29.367 ( 0.608s) [7F74BDACF600] vtkOpenGLState.cxx:148 WARN| Error in cache state for GL_CULL_FACE_MODE
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:155 WARN| Error in cache state for GL_ACTIVE_TEXTURE
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:162 WARN| Error in cache state for GL_DEPTH_FUNC
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:169 WARN| Error in cache state for GL_BLEND_SRC_RGB
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:176 WARN| Error in cache state for GL_BLEND_SRC_ALPHA
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:183 WARN| Error in cache state for GL_BLEND_DST_RGB
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:190 WARN| Error in cache state for GL_BLEND_DST_ALPHA
2023-12-19 16:42:29.367 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:197 WARN| Error in cache state for GL_DRAW_FRAMEBUFFER_BINDING
2023-12-19 16:42:29.368 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:204 WARN| Error in cache state for GL_READ_FRAMEBUFFER_BINDING
2023-12-19 16:42:29.368 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:222 WARN| Error in cache state for GL_DRAW_BUFFER got -43064224 expected1026
2023-12-19 16:42:29.368 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:241 WARN| Error in cache state for GL_READ_BUFFER
2023-12-19 16:42:29.368 ( 0.609s) [7F74BDACF600] vtkOpenGLState.cxx:255 WARN| Error in cache state for GL_COLOR_CLEAR_VALUE
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:263 WARN| at stack loc
0x7f74bf0d3ba1 : ??? [(???) ???:-1]
0x7f74bf0ce1db : vtksys::SystemInformation::GetProgramStack[abi:cxx11](int, int) [(libvtksys-9.3.so.1) ???:-1]
0x7f74bfad6a01 : vtkOpenGLState::CheckState() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfade727 : vtkOpenGLState::vtkglPixelStorei(unsigned int, int) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfa9c619 : vtkOpenGLRenderWindow::OpenGLInitState() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfa9c537 : vtkOpenGLRenderWindow::OpenGLInit() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfbb1b45 : vtkOSOpenGLRenderWindow::CreateOffScreenWindow(int, int) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfbb1d85 : vtkOSOpenGLRenderWindow::Initialize() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfaa1b43 : vtkOpenGLRenderWindow::Start() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74beaa2f28 : vtkRenderWindow::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74bfaa5eb1 : vtkOpenGLRenderWindow::Render() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74beaae9b8 : vtkRenderWindowInteractor::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74beab1a6f : vtkRenderWindowInteractor::Initialize() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74beaaeb35 : vtkRenderWindowInteractor::Start() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x5638fb4c5be3 : ??? [(???) ???:-1]
0x7f74b7a29d90 : ??? [(???) ???:-1]
0x7f74b7a29e40 : __libc_start_main [(libc.so.6) ???:-1]
0x5638fb4cadb5 : ??? [(???) ???:-1]

2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:133 WARN| Error in cache state for GL_VIEWPORT
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:141 WARN| Error in cache state for GL_SCISSOR_BOX
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:148 WARN| Error in cache state for GL_CULL_FACE_MODE
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:155 WARN| Error in cache state for GL_ACTIVE_TEXTURE
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:162 WARN| Error in cache state for GL_DEPTH_FUNC
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:169 WARN| Error in cache state for GL_BLEND_SRC_RGB
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:176 WARN| Error in cache state for GL_BLEND_SRC_ALPHA
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:183 WARN| Error in cache state for GL_BLEND_DST_RGB
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:190 WARN| Error in cache state for GL_BLEND_DST_ALPHA
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:222 WARN| Error in cache state for GL_DRAW_BUFFER got 0 expected1026
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:241 WARN| Error in cache state for GL_READ_BUFFER
2023-12-19 16:42:29.369 ( 0.610s) [7F74BDACF600] vtkOpenGLState.cxx:255 WARN| Error in cache state for GL_COLOR_CLEAR_VALUE
2023-12-19 16:42:29.370 ( 0.611s) [7F74BDACF600] vtkOpenGLState.cxx:263 WARN| at stack loc
0x7f74bf0d3ba1 : ??? [(???) ???:-1]
0x7f74bf0ce1db : vtksys::SystemInformation::GetProgramStack[abi:cxx11](int, int) [(libvtksys-9.3.so.1) ???:-1]
0x7f74bfad6a01 : vtkOpenGLState::CheckState() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfadcb01 : vtkOpenGLState::SetEnumState(unsigned int, bool) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfadd1f1 : vtkOpenGLState::vtkglEnable(unsigned int) [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74bfaa1bbc : vtkOpenGLRenderWindow::Start() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74beaa2f28 : vtkRenderWindow::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74bfaa5eb1 : vtkOpenGLRenderWindow::Render() [(libvtkRenderingOpenGL2-9.3.so.1) ???:-1]
0x7f74beaae9b8 : vtkRenderWindowInteractor::Render() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74beab1a6f : vtkRenderWindowInteractor::Initialize() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x7f74beaaeb35 : vtkRenderWindowInteractor::Start() [(libvtkRenderingCore-9.3.so.1) ???:-1]
0x5638fb4c5be3 : ??? [(???) ???:-1]
0x7f74b7a29d90 : ??? [(???) ???:-1]
0x7f74b7a29e40 : __libc_start_main [(libc.so.6) ???:-1]
0x5638fb4cadb5 : ??? [(???) ???:-1]

2023-12-19 16:42:29.373 ( 0.614s) [7F74BDACF600] vtkOpenGLState.cxx:1786 WARN| Hardware does not support the number of textures defined.
createmesh: /home/3484681/miniconda3/envs/vtkenv/vtk-master/source/Rendering/OpenGL2/vtkTextureObject.cxx:437: void vtkTextureObject::Bind(): Assertion `this->Handle' failed.

```

---

<div class="post-metadata">

### Author: ![liuzhongshu](https://discourse.vtk.org/user_avatar/discourse.vtk.org/liuzhongshu/32/6921_2.png) [@liuzhongshu](https://discourse.vtk.org/u/liuzhongshu)
#### Post date: [March 27, 2026, 3:40am UTC](https://discourse.vtk.org/t/problem-offscreen-rendering/12936/2 "2026-03-27T03:40:36Z")

</div>

I am using vtk9.3.1, and found the same issue if there is transparent mesh.

```auto
Generic Warning: In vtkOpenGLState.cxx, line 255
Error in cache state for GL_COLOR_CLEAR_VALUE

Generic Warning: In vtkOpenGLState.cxx, line 263
at stack loc
at vtksys::SystemInformationImplementation::GetProgramStack in D:\\project\\vtk\\vtk-src\\Utilities\\KWSys\\vtksys\\SystemInformation.cxx line 3987
at vtksys::SystemInformation::GetProgramStack in D:\\project\\vtk\\vtk-src\\Utilities\\KWSys\\vtksys\\SystemInformation.cxx line 829
at vtkOpenGLState::CheckState in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLState.cxx line 262
at vtkOpenGLState::vtkglActiveTexture in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLState.cxx line 909
at vtkOpenGLState::ActivateTexture in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLState.cxx line 1792
at vtkOpenGLRenderWindow::ActivateTexture in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLRenderWindow.cxx line 2436
at vtkTextureObject::Activate in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkTextureObject.cxx line 324
at vtkTextureObject::CopyFromFrameBuffer in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkTextureObject.cxx line 2079
at vtkDualDepthPeelingPass::CopyOpaqueDepthBuffer in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkDualDepthPeelingPass.cxx line 1086
at vtkDualDepthPeelingPass::Prepare in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkDualDepthPeelingPass.cxx line 1055
at vtkDualDepthPeelingPass::Render in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkDualDepthPeelingPass.cxx line 92
at vtkOpenGLRenderer::DeviceRenderTranslucentPolygonalGeometry in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLRenderer.cxx line 613
at vtkOpenGLRenderer::UpdateGeometry in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLRenderer.cxx line 398
at vtkOpenGLRenderer::DeviceRender in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLRenderer.cxx line 292
at vtkRenderer::Render in D:\\project\\vtk\\vtk-src\\Rendering\\Core\\vtkRenderer.cxx line 374
at vtkRendererCollection::Render in D:\\project\\vtk\\vtk-src\\Rendering\\Core\\vtkRendererCollection.cxx line 42
at vtkRenderWindow::DoStereoRender in D:\\project\\vtk\\vtk-src\\Rendering\\Core\\vtkRenderWindow.cxx line 347
at vtkRenderWindow::Render in D:\\project\\vtk\\vtk-src\\Rendering\\Core\\vtkRenderWindow.cxx line 306
at vtkOpenGLRenderWindow::Render in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkOpenGLRenderWindow.cxx line 2766
at vtkGenericOpenGLRenderWindow::Render in D:\\project\\vtk\\vtk-src\\Rendering\\OpenGL2\\vtkGenericOpenGLRenderWindow.cxx line 211
at VtkViewer::Render in D:\\project\\startrek-appng\\src\\VtkViewer.cpp line 247
at VtkViewer::Render in D:\\project\\startrek-appng\\src\\VtkViewer.cpp line 235
at CardiacWindow::RenderContent in D:\\project\\startrek-appng\\src\\CardiacWindow.cpp line 359
at Window::Render in D:\\project\\startrek-appng\\src\\ImUtil.cpp line 13
at App::Render in D:\\project\\startrek-appng\\src\\App.cpp line 335
at main in D:\\project\\startrek-appng\\src\\main.cpp line 141
at invoke_main in D:\\a_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl line 79
at \__scrt_common_main_seh in D:\\a_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl line 288
at \__scrt_common_main in D:\\a_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl line 331
at mainCRTStartup in D:\\a_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_main.cpp line 17
at BaseThreadInitThunk
at RtlUserThreadStart

```
