diff --git a/src/framework/WindowManager.cpp b/src/framework/WindowManager.cpp index 179d6530a7a3910cd28aff6bbad1f47566d9b9fd..476df07fc133b60baeb5cc4d10701396c6ca3c18 100644 --- a/src/framework/WindowManager.cpp +++ b/src/framework/WindowManager.cpp @@ -122,13 +122,17 @@ bool WindowManager::initialize(const int width, const int height, const int fram SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); + // enable opt-in quality feature FSAA (4x) + if(m_BoincAdapter->graphicsQualitySetting() == BOINCClientAdapter::HighGraphicsQualitySetting) { + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); + } + // unused requirements //SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); //SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32); //SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); //SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); - //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); - //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); // we always start in windowed mode // (starting in fullscreen fails with high CPU load!) diff --git a/src/starsphere/Starsphere.cpp b/src/starsphere/Starsphere.cpp index 0a66c9ef43fca348c12c636fe0b7d20fa305bc6b..f4bd78281bb888d8ab60d6f0ad37437f53c17f77 100644 --- a/src/starsphere/Starsphere.cpp +++ b/src/starsphere/Starsphere.cpp @@ -863,11 +863,7 @@ void Starsphere::render(const double timeOfDay) glPushMatrix(); glLoadIdentity(); - if (isFeature(LOGO)) { - // call subclass implementation - renderLogo(); - } - + if (isFeature(LOGO)) renderLogo(); if (isFeature(SEARCHINFO)) renderSearchInformation(); // restore original state diff --git a/src/starsphere/StarsphereRadio.cpp b/src/starsphere/StarsphereRadio.cpp index 1312eb2a0bf6843e9539b46c6d04005a69555a3a..7ebc1a7812cef9ab4f721828517ef198aa2f1327 100644 --- a/src/starsphere/StarsphereRadio.cpp +++ b/src/starsphere/StarsphereRadio.cpp @@ -371,6 +371,11 @@ void StarsphereRadio::generateObservatories(float dimFactor) m_areciboObservatory = glGenLists(1); glNewList(m_areciboObservatory, GL_COMPILE); + // enable opt-in quality feature FSAA (GL_POLYGON_SMOOTH is discouraged) + if(m_QualitySetting == BOINCClientAdapter::HighGraphicsQualitySetting) { + glEnable(GL_MULTISAMPLE_ARB); + } + // we don't dim Arecibo, just IFOs glColor3f(0.75, 0.75, 0.75); @@ -434,6 +439,11 @@ void StarsphereRadio::generateObservatories(float dimFactor) sphVertex3D(RAdeg+0.7, DEdeg-0.7, radius); glEnd(); + // disable opt-in quality feature FSAA again + if(m_QualitySetting == BOINCClientAdapter::HighGraphicsQualitySetting) { + glDisable(GL_MULTISAMPLE_ARB); + } + glEndList(); }