// Copyright (C) 2023 Vitaliy Lobachevskiy // Copyright (C) 2015 Patryk Nadrowski // This file is part of the "Irrlicht Engine". // For conditions of distribution and use, see copyright notice in irrlicht.h #pragma once #include "irrTypes.h" // even though we have mt_opengl.h our driver code still uses GL_* constants #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) #include #include #elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_) #include // not sure if this works without glext.h? #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_) #include #include #else #include #include #endif namespace irr { namespace video { // Forward declarations. class COpenGLCoreFeature; template class COpenGLCoreTexture; template class COpenGLCoreRenderTarget; template class COpenGLCoreCacheHandler; class COpenGL3DriverBase; typedef COpenGLCoreTexture COpenGL3Texture; typedef COpenGLCoreRenderTarget COpenGL3RenderTarget; typedef COpenGLCoreCacheHandler COpenGL3CacheHandler; enum class OpenGLSpec: u8 { Core, Compat, ES, // WebGL, // TODO }; struct OpenGLVersion { OpenGLSpec Spec; u8 Major; u8 Minor; u8 Release; }; } }