// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause

#ifndef vtkRenderingOpenGLConfigure_h
#define vtkRenderingOpenGLConfigure_h

/* This header contains build settings for the vtkRenderingOpenGL2 module. */
/* It provides some compatibility with the vtkRenderingOpenGL module. */

#ifndef VTK_OPENGL2
#define VTK_OPENGL2
#endif

/* Whether VTK was built to support Cocoa on the Mac.  */
#cmakedefine VTK_USE_COCOA

/*--------------------------------------------------------------------------*/
/* Rendering Configuration                                                  */
#cmakedefine VTK_USE_X
#define VTK_USE_OPENGL_LIBRARY
#cmakedefine VTK_OPENGL_HAS_OSMESA
#cmakedefine VTK_OPENGL_HAS_EGL
#cmakedefine VTK_DEFAULT_RENDER_WINDOW_OFFSCREEN
#cmakedefine VTK_OPENGL_ENABLE_STREAM_ANNOTATIONS

// for legacy codes (don't use these in new codes)
#ifdef VTK_DEFAULT_RENDER_WINDOW_OFFSCREEN
# define VTK_USE_OFFSCREEN
#endif
#ifdef VTK_OPENGL_HAS_OSMESA
# define VTK_USE_OSMESA
#endif

#define VTK_USE_GLSL_SHADERS

/* Options for GPUInfo */
#cmakedefine VTK_USE_DIRECTX
#cmakedefine VTK_USE_CORE_GRAPHICS
#cmakedefine VTK_USE_NVCONTROL

/*--------------------------------------------------------------------------*/
/* Setup VTK based on platform features and configuration.                  */

/* OGLR */
/* OGLR is for GLX. It can be on Unix, Mac or Windows */
#if ((defined(VTK_USE_OPENGL_LIBRARY) && defined(VTK_USE_X) && \
      !defined(_WIN32)) ||                                     \
     (defined(VTK_USE_X) && defined(_WIN32))) && \
     !defined(VTK_USE_COCOA)
# define VTK_USE_OGLR
#endif

#endif
