Beispiel #1
0
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);
		}
	}
}
Beispiel #2
0
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);
}