Пример #1
0
//================================
// OvrSurfaceAnimComponent::SetFrameVisibilities
void OvrSurfaceAnimComponent::SetFrameVisibilities( App * app, VrFrame const & vrFrame, OvrVRMenuMgr & menuMgr, VRMenuObject * self ) const
{
	int minIndex = GetCurFrame() * SurfacesPerFrame;
	int maxIndex = ( GetCurFrame() + 1 ) * SurfacesPerFrame;
	for ( int i = 0; i < self->NumSurfaces(); ++i )
	{
		self->SetSurfaceVisible( i, i >= minIndex && i < maxIndex );
	}
}
Пример #2
0
float OvrTrailsAnimComponent::GetAlphaForFrame( const int frame ) const
{
	const int currentFrame = GetCurFrame( );
	if ( frame == currentFrame )
		return	1.0f;

	const float alpha = GetFractionalFrame( );
	const float aheadFactor = 1.0f / FramesAhead;
	for ( int ahead = 1; ahead <= FramesAhead; ++ahead )
	{
		if ( frame == ( currentFrame + ahead ) )
		{
			return ( alpha * aheadFactor ) + ( aheadFactor * ( FramesAhead - ahead ) );
		}
	}

	const float invAlpha = 1.0f - alpha;
	const float behindFactor = 1.0f / FramesBehind;
	for ( int behind = 1; behind < FramesBehind; ++behind )
	{
		if ( frame == ( currentFrame - behind ) )
		{
			return ( invAlpha * behindFactor ) + ( behindFactor * ( FramesBehind - behind ) );
		}
	}

	return 0.0f;
}
Пример #3
0
CImage* sysuVideo::YUVReader::GetNextFrame() 
{	
	if (!HasNextFrame() || !isStreamOpen)
		throw EXCEPTION_ACCESS_VIOLATION;

	constructFrame();	
	++curFrameCnt;

	return GetCurFrame();
}
Пример #4
0
float sqr_tools::CFrameScaleCtrlImp::GetUpdateFrame( void )
{
	if (IsPlay())
	{
		if (MODEL)
		{
			int num = MODEL->GetAnimateMaxFrameNum();
			if ( num == 0 )
				return GetCurFrame();
			else
				return ((CEditModel*)MODEL)->GetCurFrame();
		}
		else
			return 0.0f;
	} 
	else
	{
		return GetCurFrame();
	}
}
Пример #5
0
CImage* sysuVideo::YUVReader::GetNthFrame(unsigned long frmNum)
{
	if (!HasNthFrame(frmNum) || !isStreamOpen)
		throw EXCEPTION_ACCESS_VIOLATION;

	fseek(videoStream, frmNum * (YCount + UCount + VCount), SEEK_SET);
	constructFrame();
	curFrameCnt = frmNum;

	return GetCurFrame();
}
Пример #6
0
CImage* sysuVideo::YUVReader::GetPreFrame() 
{	
	if (!HasPreFrame() || !isStreamOpen)
		throw EXCEPTION_ACCESS_VIOLATION;

	fseek(videoStream, -2 * (YCount + UCount + VCount), SEEK_CUR);
	constructFrame();
	--curFrameCnt;

	return GetCurFrame();
}
Пример #7
0
void OvrTrailsAnimComponent::SetFrameVisibilities( App * app, VrFrame const & vrFrame, OvrVRMenuMgr & menuMgr, VRMenuObject * self ) const
{
//	LOG( "FracFrame: %f", GetFractionalFrame() );
	const int currentFrame = GetCurFrame();
	for ( int i = 0; i < self->NumChildren(); ++i )
	{
		menuHandle_t childHandle = self->GetChildHandleForIndex( i );
		if ( VRMenuObject * childObject = menuMgr.ToObject( childHandle ) )
		{
			Vector4f color = childObject->GetColor();
			color.w = GetAlphaForFrame( i );
			childObject->SetColor( color );
		}
	}
}