public void updateLensFlares(){
  double vecX=-mPositionScreen.x * 2;
  double vecY=-mPositionScreen.y * 2;
  for (int f=0; f < mLensFlares.size(); f++) {
    FlareInfo flare=mLensFlares.get(f);
    flare.setScreenPosition(mPositionScreen.x + vecX * flare.getDistance(),mPositionScreen.y + vecY * flare.getDistance());
    flare.setWantedRotation(flare.getScreenPosition().x * Math.PI * 0.25);
    flare.setRotation(flare.getRotation() + (flare.getWantedRotation() - flare.getRotation()) * 0.25f);
  }
}

public void updateLensFlares ( ) { double vecX = - mPositionScreen . x * 2 ; double vecY = - mPositionScreen . y * 2 ; for ( int f = 0 ; f < mLensFlares . size ( ) ; f ++ ) { FlareInfo flare = mLensFlares . get ( f ) ; flare . setScreenPosition ( mPositionScreen . x + vecX * flare . getDistance ( ) , mPositionScreen . y + vecY * flare . getDistance ( ) ) ; flare . setWantedRotation ( flare . getScreenPosition ( ) . x * Math . PI * 0.25 ) ; flare . setRotation ( flare . getRotation ( ) + ( flare . getWantedRotation ( ) - flare . getRotation ( ) ) * 0.25f ) ; } }
updates individual flare element information . override this method to achieve custom lens flare behavior .
