add BREAK_RATE to fix fast fly-off
This commit is contained in:
parent
fb5e36b8c4
commit
56efb5b713
@ -19,7 +19,8 @@ using namespace std;
|
||||
#define RING_LAYER_DIST 10
|
||||
#define XLATE_RATE 0.02
|
||||
#define REVOLUTION_TIME 15000
|
||||
#define DESTROY_DIST 250
|
||||
#define DESTROY_DIST 200
|
||||
#define BREAK_RATE 0.03
|
||||
|
||||
Tunnel::Tunnel()
|
||||
{
|
||||
@ -34,10 +35,10 @@ Tunnel::~Tunnel()
|
||||
void Tunnel::getRandomBreakAxis(float (*axis)[3])
|
||||
{
|
||||
double alpha = rand() / (double)RAND_MAX * 2.0 * M_PI;
|
||||
double beta = rand() / (double)RAND_MAX * (M_PI / 4.0);
|
||||
double beta = rand() / (double)RAND_MAX * M_PI_2;
|
||||
(*axis)[0] = cos(alpha) * sin(beta);
|
||||
(*axis)[2] = sin(alpha) * sin(beta);
|
||||
(*axis)[1] = cos(beta);
|
||||
(*axis)[1] = 0.5 + cos(beta);
|
||||
}
|
||||
|
||||
float Tunnel::getRandomBreakSpinSpeed()
|
||||
@ -89,9 +90,9 @@ bool Tunnel::expose (GnomeScreensaver & gs)
|
||||
if (it->break_ticks)
|
||||
{
|
||||
int break_ticks = ticks - it->break_ticks;
|
||||
glTranslatef(break_ticks * it->break_axis[0],
|
||||
break_ticks * it->break_axis[1],
|
||||
break_ticks * it->break_axis[2]);
|
||||
glTranslatef(BREAK_RATE * break_ticks * it->break_axis[0],
|
||||
BREAK_RATE * break_ticks * it->break_axis[1],
|
||||
BREAK_RATE * break_ticks * it->break_axis[2]);
|
||||
}
|
||||
glTranslatef(0, diff_offset, 0);
|
||||
glRotatef(it->trot, 0, 1, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user