///////////////////////
// ScreenImage class //
///////////////////////
ScreenImage::ScreenImage(const QString& filename, float x, float y, bool show, float scale, float alpha, float fadeDuration)
	: tex(NULL), maxAlpha(alpha)
{
	try
	{
		QString path = StelFileMgr::findFile("scripts/" + filename);
		QPixmap pm(path);
		tex = StelMainGraphicsView::getInstance().scene()->addPixmap(pm.scaled(pm.size()*scale));
		tex->setPos(x, y);

		anim = new QGraphicsItemAnimation();
		moveTimer = new QTimeLine();
		moveTimer->setCurveShape(QTimeLine::LinearCurve);
		anim->setTimeLine(moveTimer);
		anim->setItem(tex);

		fadeTimer = new QTimeLine();
		fadeTimer->setCurveShape(QTimeLine::LinearCurve);
		setFadeDuration(fadeDuration);
		connect(fadeTimer, SIGNAL(valueChanged(qreal)), this, SLOT(setOpacity(qreal)));


		// set inital displayed state
		if (show)
			tex->setOpacity(maxAlpha);
		else
			tex->setOpacity(0.);
	}
	catch (std::runtime_error& e)
	{
		qWarning() << "Failed to create ScreenImage: " << e.what();
	}
}
Atmosphere::Atmosphere() : sky_resolution(48), tab_sky(NULL), world_adaptation_luminance(0.f), atm_intensity(0),
		lightPollutionLuminance(0)
{
	// Create the vector array used to store the sky color on the full field of view
	tab_sky = new Vec3f*[sky_resolution+1];
	for (int k=0; k<sky_resolution+1 ; k++) {
		tab_sky[k] = new Vec3f[sky_resolution+1];
	}
	setFadeDuration(3.f);
}
Atmosphere::Atmosphere() 
	: viewport(0,0,0,0)
	, averageLuminance(0.f)
	, eclipseFactor(1.f)
	, lightPollutionLuminance(0)
	, shader(NULL)
	, vertexGrid(NULL)
	, renderer(NULL)
{
	setFadeDuration(1.5f);
}
Example #4
0
LRESULT EpLight::handleMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	D3DXCOLOR color( 1.0f, 0.0f, 0.0f, 1.0f );
	//static ArnVec3 vPos( -38.0f, -10.0f, 10.0f) ;
	switch ( uMsg )
	{
	case WM_KEYDOWN:
		switch( wParam )
		{
		case 'I':
			stopFlicker();
			fadeInLight();
			break;
		case 'O':
			fadeOutLight();
			break;
		case 'F':
			setFlickerColor( color );
			setFadeDuration( 0.5f );
			flicker( 10.0f );
			break;
	/*	case VK_UP:
			vPos.x += 1.0f;
			break;
		case VK_DOWN:
			vPos.x -= 1.0f;
			break;
		case VK_LEFT:
			vPos.y += 1.0f;
			break;
		case VK_RIGHT:
			vPos.y -= 1.0f;
			break;*/
		}
		break;
	}

	/*setLightPos(vPos);*/

	return S_OK;
}