From 86f2aab284ea0f9ad243a74b684ea071b5aab73b Mon Sep 17 00:00:00 2001 From: Andrew Tribick Date: Wed, 29 Dec 2021 13:30:13 +0100 Subject: [PATCH] Remove glcontext.* --- src/celengine/CMakeLists.txt | 2 - src/celengine/deepskyobj.h | 3 - src/celengine/glcontext.cpp | 89 ------------------------- src/celengine/glcontext.h | 41 ------------ src/celengine/lodspheremesh.h | 3 - src/celengine/objectrenderer.h | 6 -- src/celengine/render.cpp | 17 +---- src/celengine/render.h | 14 ---- src/celestia/celestiacore.cpp | 35 ---------- src/celestia/qt/qtappwin.cpp | 3 - src/celestia/qt/qtglwidget.cpp | 39 ----------- src/celestia/qt/qtpreferencesdialog.cpp | 24 ------- src/celestia/win32/winmain.cpp | 21 ------ src/celscript/legacy/cmdparser.cpp | 18 +---- src/celscript/legacy/command.cpp | 27 -------- src/celscript/legacy/command.h | 13 ---- 16 files changed, 2 insertions(+), 353 deletions(-) delete mode 100644 src/celengine/glcontext.cpp delete mode 100644 src/celengine/glcontext.h diff --git a/src/celengine/CMakeLists.txt b/src/celengine/CMakeLists.txt index 29b957f60..d1c268d03 100644 --- a/src/celengine/CMakeLists.txt +++ b/src/celengine/CMakeLists.txt @@ -45,8 +45,6 @@ set(CELENGINE_SOURCES galaxy.cpp galaxy.h geometry.h - #glcontext.cpp - #glcontext.h glmarker.cpp globular.cpp globular.h diff --git a/src/celengine/deepskyobj.h b/src/celengine/deepskyobj.h index 6043e15e7..730a345cf 100644 --- a/src/celengine/deepskyobj.h +++ b/src/celengine/deepskyobj.h @@ -14,9 +14,6 @@ #include #include #include -#ifdef USE_GLCONTEXT -#include -#endif #include #include #include diff --git a/src/celengine/glcontext.cpp b/src/celengine/glcontext.cpp deleted file mode 100644 index 0f8eacfab..000000000 --- a/src/celengine/glcontext.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// glcontext.h -// -// Copyright (C) 2003, Chris Laurel -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. - -#include -#include "glcontext.h" -#include "glsupport.h" - -using namespace std; - - -void GLContext::init(const vector& ignoreExt) -{ - auto* extensionsString = (char*) glGetString(GL_EXTENSIONS); - if (extensionsString != nullptr) - { - char* next = extensionsString; - - while (*next != '\0') - { - while (*next != '\0' && *next != ' ') - next++; - - string ext(extensionsString, next - extensionsString); - - // scan the ignore list - auto iter = std::find(ignoreExt.begin(), ignoreExt.end(), ext); - if (iter == ignoreExt.end()) - extensions.push_back(ext); - - if (*next == '\0') - break; - next++; - extensionsString = next; - } - } - - glGetIntegerv(GL_MAX_TEXTURE_UNITS, - (GLint*) &maxSimultaneousTextures); - -} - - -bool GLContext::setRenderPath(GLRenderPath path) -{ - if (!renderPathSupported(path)) - return false; - - renderPath = path; - - return true; -} - - -bool GLContext::renderPathSupported(GLRenderPath path) const -{ - switch (path) - { - case GLPath_GLSL: - return GLEW_VERSION_2_1 != GL_FALSE; - - default: - return false; - } -} - - -GLContext::GLRenderPath GLContext::nextRenderPath() -{ -#if 0 - GLContext::GLRenderPath newPath = renderPath; - - do { - newPath = (GLRenderPath) ((int) newPath + 1);; - if (newPath > GLPath_GLSL) - newPath = GLPath_Basic; - } while (newPath != renderPath && !renderPathSupported(newPath)); - - renderPath = newPath; - - return renderPath; -#endif - return GLPath_GLSL; -} diff --git a/src/celengine/glcontext.h b/src/celengine/glcontext.h deleted file mode 100644 index dff4de44e..000000000 --- a/src/celengine/glcontext.h +++ /dev/null @@ -1,41 +0,0 @@ -// glcontext.h -// -// Copyright (C) 2003, Chris Laurel -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. - -#ifndef _CELENGINE_GLCONTEXT_H_ -#define _CELENGINE_GLCONTEXT_H_ - -#include -#include - -class GLContext -{ - public: - enum GLRenderPath - { - GLPath_GLSL = 8, - }; - - void init(const std::vector& ignoreExt); - - GLRenderPath getRenderPath() const { return renderPath; }; - bool setRenderPath(GLRenderPath); - bool renderPathSupported(GLRenderPath) const; - GLRenderPath nextRenderPath(); - - int getMaxTextures() const { return maxSimultaneousTextures; }; - - private: - GLRenderPath renderPath{ GLPath_GLSL }; - - int maxSimultaneousTextures { 1 }; - std::vector extensions; -}; - -#endif // _CELENGINE_GLCONTEXT_H_ - diff --git a/src/celengine/lodspheremesh.h b/src/celengine/lodspheremesh.h index 7031f3e3b..f71073435 100644 --- a/src/celengine/lodspheremesh.h +++ b/src/celengine/lodspheremesh.h @@ -12,9 +12,6 @@ #define CELENGINE_LODSPHEREMESH_H_ #include -#ifdef USE_GLCONTEXT -#include -#endif #include #include diff --git a/src/celengine/objectrenderer.h b/src/celengine/objectrenderer.h index 5a2461941..3082a03d7 100644 --- a/src/celengine/objectrenderer.h +++ b/src/celengine/objectrenderer.h @@ -13,9 +13,6 @@ #include #include "octree.h" -#ifdef USE_GLCONTEXT -class GLContext; -#endif class Observer; class Renderer; @@ -26,9 +23,6 @@ template class ObjectRenderer : public OctreeProcessor #include #include -#ifdef USE_GLCONTEXT -#include "glcontext.h" -#endif #ifdef _MSC_VER #include #ifndef alloca @@ -578,17 +575,10 @@ bool Renderer::OrbitPathListEntry::operator<(const Renderer::OrbitPathListEntry& } -#ifdef USE_GLCONTEXT -bool Renderer::init(GLContext* _context, -#else bool Renderer::init( -#endif int winWidth, int winHeight, DetailOptions& _detailOptions) { -#ifdef USE_GLCONTEXT - context = _context; -#endif detailOptions = _detailOptions; // Initialize static meshes and textures common to all instances of Renderer @@ -4626,9 +4616,7 @@ void Renderer::renderPointStars(const StarDatabase& starDB, Vector3d obsPos = observer.getPosition().toLy(); PointStarRenderer starRenderer; -#ifdef USE_GLCONTEXT - starRenderer.context = context; -#endif + starRenderer.renderer = this; starRenderer.starDB = &starDB; starRenderer.observer = &observer; @@ -4733,9 +4721,6 @@ void Renderer::renderDeepSkyObjects(const Universe& universe, DSODatabase* dsoDB = universe.getDSOCatalog(); -#ifdef USE_GLCONTEXT - dsoRenderer.context = context; -#endif dsoRenderer.renderer = this; dsoRenderer.dsoDB = dsoDB; dsoRenderer.orientationMatrix= observer.getOrientationf().conjugate().toRotationMatrix(); diff --git a/src/celengine/render.h b/src/celengine/render.h index 5456e2614..f464e1fd9 100644 --- a/src/celengine/render.h +++ b/src/celengine/render.h @@ -24,9 +24,6 @@ #include #include "vertexobject.h" -#ifdef USE_GLCONTEXT -class GLContext; -#endif class RendererWatcher; class FrameTree; class ReferenceMark; @@ -129,11 +126,7 @@ class Renderer FisheyeMode = 1 }; -#ifdef USE_GLCONTEXT - bool init(GLContext*, int, int, DetailOptions&); -#else bool init(int, int, DetailOptions&); -#endif void shutdown() {}; void resize(int, int); float getAspectRatio() const; @@ -362,10 +355,6 @@ class Renderer float getBrightness(); #endif -#ifdef USE_GLCONTEXT - GLContext* getGLContext() { return context; } -#endif - void setStarStyle(StarStyle); StarStyle getStarStyle() const; void setResolution(unsigned int resolution); @@ -777,9 +766,6 @@ class Renderer #endif private: -#ifdef USE_GLCONTEXT - GLContext* context; -#endif ShaderManager* shaderManager{ nullptr }; int windowWidth; diff --git a/src/celestia/celestiacore.cpp b/src/celestia/celestiacore.cpp index 4a9201ba5..833ad8118 100644 --- a/src/celestia/celestiacore.cpp +++ b/src/celestia/celestiacore.cpp @@ -1214,28 +1214,6 @@ void CelestiaCore::charEntered(const char *c_p, int modifiers) notifyWatchers(RenderFlagsChanged); break; - case '\026': // Ctrl+V -#ifdef USE_GLCONTEXT - { - GLContext* context = renderer->getGLContext(); - GLContext::GLRenderPath path = context->getRenderPath(); - GLContext::GLRenderPath newPath = context->nextRenderPath(); - - if (newPath != path) - { - switch (newPath) - { - case GLContext::GLPath_GLSL: - flash(_("Render path: OpenGL 2.1")); - break; - } - context->setRenderPath(newPath); - notifyWatchers(RenderFlagsChanged); - } - } -#endif - break; - case '\027': // Ctrl+W wireframe = !wireframe; renderer->setRenderMode(wireframe ? RenderMode::Line : RenderMode::Fill); @@ -4072,15 +4050,6 @@ bool CelestiaCore::initRenderer() Renderer::ShowAtmospheres | Renderer::ShowAutoMag); -#ifdef USE_GLCONTEXT - GLContext* context = new GLContext(); - - context->init(config->ignoreGLExtensions); - // Choose the render path, starting with the least desirable - context->setRenderPath(GLContext::GLPath_GLSL); - //GetLogger()->verbose("render path: {}\n", context->getRenderPath()); -#endif - Renderer::DetailOptions detailOptions; detailOptions.orbitPathSamplePoints = config->orbitPathSamplePoints; detailOptions.shadowTextureSize = config->shadowTextureSize; @@ -4090,11 +4059,7 @@ bool CelestiaCore::initRenderer() detailOptions.linearFadeFraction = config->linearFadeFraction; // Prepare the scene for rendering. -#ifdef USE_GLCONTEXT - if (!renderer->init(context, (int) width, (int) height, detailOptions)) -#else if (!renderer->init((int) width, (int) height, detailOptions)) -#endif { fatalError(_("Failed to initialize renderer"), false); return false; diff --git a/src/celestia/qt/qtappwin.cpp b/src/celestia/qt/qtappwin.cpp index 85539d0ba..f809cf9e1 100644 --- a/src/celestia/qt/qtappwin.cpp +++ b/src/celestia/qt/qtappwin.cpp @@ -518,9 +518,6 @@ void CelestiaAppWindow::writeSettings() settings.setValue("LabelMode", renderer->getLabelMode()); settings.setValue("AmbientLightLevel", renderer->getAmbientLightLevel()); settings.setValue("StarStyle", renderer->getStarStyle()); -#ifdef USE_GLCONTEXT - settings.setValue("RenderPath", (int) renderer->getGLContext()->getRenderPath()); -#endif settings.setValue("TextureResolution", renderer->getResolution()); ColorTableType colorsst; const ColorTemperatureTable* current = renderer->getStarColorTable(); diff --git a/src/celestia/qt/qtglwidget.cpp b/src/celestia/qt/qtglwidget.cpp index 07cabe7fc..263434307 100644 --- a/src/celestia/qt/qtglwidget.cpp +++ b/src/celestia/qt/qtglwidget.cpp @@ -35,9 +35,6 @@ #include "celutil/gettext.h" #include "celestia/celestiacore.h" #include "celengine/simulation.h" -#ifdef USE_GLCONTEXT -#include "celengine/glcontext.h" -#endif #include "qtglwidget.h" @@ -90,26 +87,6 @@ void CelestiaGlWidget::paintGL() } -#ifdef USE_GLCONTEXT -static GLContext::GLRenderPath getBestAvailableRenderPath(const GLContext& /*glc*/) -{ -#if 0 - const GLContext::GLRenderPath renderPaths[] = { - GLContext::GLPath_GLSL, - }; - - for (auto renderPath : renderPaths) - { - if (glc.renderPathSupported(renderPath)) - return renderPath; - } -#endif - - return GLContext::GLPath_GLSL; -} -#endif - - /*! Set up the OpenGL rendering state, and define display list */ @@ -149,22 +126,6 @@ void CelestiaGlWidget::initializeGL() appCore->getSimulation()->setFaintestVisible((float) settings.value("Preferences/VisualMagnitude", DEFAULT_VISUAL_MAGNITUDE).toDouble()); - // Read the saved render path -#ifdef USE_GLCONTEXT - GLContext::GLRenderPath bestPath = getBestAvailableRenderPath(*appRenderer->getGLContext()); - GLContext::GLRenderPath savedPath = (GLContext::GLRenderPath) settings.value("RenderPath", bestPath).toInt(); - - // Use the saved path only if it's supported (otherwise a graphics card - // downgrade could cause Celestia to not function.) - GLContext::GLRenderPath usePath; - if (appRenderer->getGLContext()->renderPathSupported(savedPath)) - usePath = savedPath; - else - usePath = bestPath; - - appRenderer->getGLContext()->setRenderPath(usePath); -#endif - appRenderer->setSolarSystemMaxDistance(appCore->getConfig()->SolarSystemMaxDistance); appRenderer->setShadowMapSize(appCore->getConfig()->ShadowMapSize); } diff --git a/src/celestia/qt/qtpreferencesdialog.cpp b/src/celestia/qt/qtpreferencesdialog.cpp index fe1091162..e83fbe03e 100644 --- a/src/celestia/qt/qtpreferencesdialog.cpp +++ b/src/celestia/qt/qtpreferencesdialog.cpp @@ -28,9 +28,6 @@ #include "qtappwin.h" #include "qtpreferencesdialog.h" #include -#ifdef USE_GLCONTEXT -#include -#endif #include #include @@ -70,10 +67,6 @@ PreferencesDialog::PreferencesDialog(QWidget* parent, CelestiaCore* core) : // Get flags Renderer* renderer = appCore->getRenderer(); Observer* observer = appCore->getSimulation()->getActiveObserver(); -#ifdef USE_GLCONTEXT - GLContext* glContext = appCore->getRenderer()->getGLContext(); - GLContext::GLRenderPath renderPath = glContext->getRenderPath(); -#endif uint64_t renderFlags = renderer->getRenderFlags(); int orbitMask = renderer->getOrbitMask(); @@ -169,14 +162,7 @@ PreferencesDialog::PreferencesDialog(QWidget* parent, CelestiaCore* core) : ui.featureSizeSlider->setValue(minimumFeatureSize); ui.featureSizeEdit->setText(QString::number(minimumFeatureSize)); -#ifdef USE_GLCONTEXT - if (glContext->renderPathSupported(GLContext::GLPath_GLSL)) - ui.renderPathBox->addItem(_("OpenGL 2.1"), GLContext::GLPath_GLSL); - - SetComboBoxValue(ui.renderPathBox, renderPath); -#else ui.renderPathBox->addItem(_("OpenGL 2.1"), 0); -#endif ui.antialiasLinesCheck->setChecked(renderFlags & Renderer::ShowSmoothLines); ui.tintedIlluminationCheck->setChecked(renderFlags & Renderer::ShowTintedIllumination); @@ -706,19 +692,9 @@ void PreferencesDialog::on_featureSizeEdit_textEdited(const QString& text) } -#ifdef USE_GLCONTEXT -void PreferencesDialog::on_renderPathBox_currentIndexChanged(int index) -{ - GLContext* glContext = appCore->getRenderer()->getGLContext(); - QVariant itemData = ui.renderPathBox->itemData(index, Qt::UserRole); - GLContext::GLRenderPath renderPath = (GLContext::GLRenderPath) itemData.toInt(); - glContext->setRenderPath(renderPath); -} -#else void PreferencesDialog::on_renderPathBox_currentIndexChanged(int /*index*/) { } -#endif void PreferencesDialog::on_antialiasLinesCheck_stateChanged(int state) diff --git a/src/celestia/win32/winmain.cpp b/src/celestia/win32/winmain.cpp index aa0ffcf79..d3c43eb4c 100644 --- a/src/celestia/win32/winmain.cpp +++ b/src/celestia/win32/winmain.cpp @@ -196,9 +196,6 @@ struct AppPreferences string altSurfaceName; uint32_t textureResolution; Renderer::StarStyle starStyle; -#ifdef USE_GLCONTEXT - GLContext::GLRenderPath renderPath; -#endif bool renderPathSet; }; @@ -2486,10 +2483,6 @@ static bool LoadPreferencesFromRegistry(LPCTSTR regkey, AppPreferences& prefs) GetRegistryValue(key, "StarsColor", &prefs.starsColor, sizeof(prefs.starsColor)); prefs.starStyle = Renderer::FuzzyPointStars; GetRegistryValue(key, "StarStyle", &prefs.starStyle, sizeof(prefs.starStyle)); -#ifdef USE_GLCONTEXT - prefs.renderPath = GLContext::GLPath_GLSL; - prefs.renderPathSet = GetRegistryValue(key, "RenderPath", &prefs.renderPath, sizeof(prefs.renderPath)); -#endif GetRegistryValue(key, "LastVersion", &prefs.lastVersion, sizeof(prefs.lastVersion)); GetRegistryValue(key, "TextureResolution", &prefs.textureResolution, sizeof(prefs.textureResolution)); @@ -2551,9 +2544,6 @@ static bool SavePreferencesToRegistry(LPCTSTR regkey, AppPreferences& prefs) SetRegistryInt(key, "LastVersion", prefs.lastVersion); SetRegistryInt(key, "StarStyle", prefs.starStyle); SetRegistryInt(key, "StarsColor", prefs.starsColor); -#ifdef USE_GLCONTEXT - SetRegistryInt(key, "RenderPath", prefs.renderPath); -#endif SetRegistry(key, "AltSurface", prefs.altSurfaceName); SetRegistryInt(key, "TextureResolution", prefs.textureResolution); SetRegistryInt(key, "IgnoreOldFavorites", ignoreOldFavorites); @@ -2596,9 +2586,6 @@ static bool GetCurrentPreferences(AppPreferences& prefs) prefs.starsColor = ColorTable_Enhanced; if (current == GetStarColorTable(ColorTable_Blackbody_D65)) prefs.starsColor = ColorTable_Blackbody_D65; -#ifdef USE_GLCONTEXT - prefs.renderPath = appCore->getRenderer()->getGLContext()->getRenderPath(); -#endif prefs.textureResolution = appCore->getRenderer()->getResolution(); return true; @@ -3429,14 +3416,6 @@ int APIENTRY WinMain(HINSTANCE hInstance, appCore->setDateFormat((astro::Date::Format) prefs.dateFormat); appCore->getSimulation()->getActiveObserver()->setDisplayedSurface(prefs.altSurfaceName); appCore->getRenderer()->setResolution(prefs.textureResolution); -#ifdef USE_GLCONTEXT - if (prefs.renderPathSet) - { - GLContext* glContext = appCore->getRenderer()->getGLContext(); - if (glContext->renderPathSupported(prefs.renderPath)) - glContext->setRenderPath(prefs.renderPath); - } -#endif } else { diff --git a/src/celscript/legacy/cmdparser.cpp b/src/celscript/legacy/cmdparser.cpp index 058945925..975b2e08c 100644 --- a/src/celscript/legacy/cmdparser.cpp +++ b/src/celscript/legacy/cmdparser.cpp @@ -19,9 +19,6 @@ #include #include #include -#ifdef USE_GLCONTEXT -#include -#endif #include "cmdparser.h" using namespace std; @@ -688,20 +685,7 @@ Command* CommandParser::parseCommand() } else if (commandName == "renderpath") { -#if 0 - GLContext::GLRenderPath glcpath = GLContext::GLPath_GLSL; - string path; - paramList->getString("path", path); - - if (compareIgnoringCase(path, "glsl") == 0) - glcpath = GLContext::GLPath_GLSL; - - cmd = new CommandRenderPath(glcpath); -#else -#ifdef USE_GLCONTEXT - cmd = new CommandRenderPath(GLContext::GLPath_GLSL); -#endif -#endif + // ignore: renderpath not supported } else if (commandName == "splitview") { diff --git a/src/celscript/legacy/command.cpp b/src/celscript/legacy/command.cpp index c0a008094..af0067d06 100644 --- a/src/celscript/legacy/command.cpp +++ b/src/celscript/legacy/command.cpp @@ -11,9 +11,6 @@ #include #include #include "execution.h" -#ifdef USE_GLCONTEXT -#include -#endif #include #include #include @@ -694,30 +691,6 @@ void CommandSetTextureResolution::process(ExecutionEnvironment& env) } -//////////////// -// Set RenderPath command. Left for compatibility. - -#ifdef USE_GLCONTEXT -CommandRenderPath::CommandRenderPath(GLContext::GLRenderPath _path) : - path(_path) -{ -} - -void CommandRenderPath::process(ExecutionEnvironment& /*env*/) -{ -#if 0 - GLContext* context = env.getRenderer()->getGLContext(); - - if (context != nullptr) - { - context->setRenderPath(path); - env.getCelestiaCore()->notifyWatchers(CelestiaCore::RenderFlagsChanged); - } -#endif -} -#endif - - //////////////// // SplitView command diff --git a/src/celscript/legacy/command.h b/src/celscript/legacy/command.h index 5e9eb3d21..fdba5b22b 100644 --- a/src/celscript/legacy/command.h +++ b/src/celscript/legacy/command.h @@ -571,19 +571,6 @@ class CommandSetTextureResolution : public InstantaneousCommand }; -#ifdef USE_GLCONTEXT -class CommandRenderPath : public InstantaneousCommand -{ - public: - CommandRenderPath(GLContext::GLRenderPath); - void process(ExecutionEnvironment&) override; - - private: - GLContext::GLRenderPath path; -}; -#endif - - class CommandSplitView : public InstantaneousCommand { public: