void Constellation::drawArtOptim(StelPainter& sPainter, const SphericalRegion& region) const { if (checkVisibility()) { const float intensity = artFader.getInterstate(); if (artTexture && intensity && region.intersects(boundingCap)) { sPainter.setColor(intensity,intensity,intensity); // The texture is not fully loaded if (artTexture->bind()==false) return; sPainter.drawStelVertexArray(artPolygon); } } }
void Constellation::drawArtOptim (StelRenderer* renderer, StelProjectorP projector, const SphericalRegion& region) const { const float intensity = artFader.getInterstate(); // Art polygon not yet generated (only generated once the texture is loaded) if (NULL == artVertices) {return;} Q_ASSERT_X(NULL != artIndices, Q_FUNC_INFO, "Vertex buffer was generated but index buffer was not"); renderer->setCulledFaces(CullFace_Back); // Don't draw if outside viewport. if (intensity > 0.001f && region.intersects(boundingCap)) { artTexture->bind(); if (StelApp::getInstance().getVisionModeNight()) renderer->setGlobalColor(intensity, 0.0, 0.0); else renderer->setGlobalColor(intensity,intensity,intensity); renderer->drawVertexBuffer(artVertices, artIndices, projector); } renderer->setCulledFaces(CullFace_None); }