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 RING_LAYER_DIST 10
|
||||||
#define XLATE_RATE 0.02
|
#define XLATE_RATE 0.02
|
||||||
#define REVOLUTION_TIME 15000
|
#define REVOLUTION_TIME 15000
|
||||||
#define DESTROY_DIST 250
|
#define DESTROY_DIST 200
|
||||||
|
#define BREAK_RATE 0.03
|
||||||
|
|
||||||
Tunnel::Tunnel()
|
Tunnel::Tunnel()
|
||||||
{
|
{
|
||||||
@ -34,10 +35,10 @@ Tunnel::~Tunnel()
|
|||||||
void Tunnel::getRandomBreakAxis(float (*axis)[3])
|
void Tunnel::getRandomBreakAxis(float (*axis)[3])
|
||||||
{
|
{
|
||||||
double alpha = rand() / (double)RAND_MAX * 2.0 * M_PI;
|
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)[0] = cos(alpha) * sin(beta);
|
||||||
(*axis)[2] = sin(alpha) * sin(beta);
|
(*axis)[2] = sin(alpha) * sin(beta);
|
||||||
(*axis)[1] = cos(beta);
|
(*axis)[1] = 0.5 + cos(beta);
|
||||||
}
|
}
|
||||||
|
|
||||||
float Tunnel::getRandomBreakSpinSpeed()
|
float Tunnel::getRandomBreakSpinSpeed()
|
||||||
@ -89,9 +90,9 @@ bool Tunnel::expose (GnomeScreensaver & gs)
|
|||||||
if (it->break_ticks)
|
if (it->break_ticks)
|
||||||
{
|
{
|
||||||
int break_ticks = ticks - it->break_ticks;
|
int break_ticks = ticks - it->break_ticks;
|
||||||
glTranslatef(break_ticks * it->break_axis[0],
|
glTranslatef(BREAK_RATE * break_ticks * it->break_axis[0],
|
||||||
break_ticks * it->break_axis[1],
|
BREAK_RATE * break_ticks * it->break_axis[1],
|
||||||
break_ticks * it->break_axis[2]);
|
BREAK_RATE * break_ticks * it->break_axis[2]);
|
||||||
}
|
}
|
||||||
glTranslatef(0, diff_offset, 0);
|
glTranslatef(0, diff_offset, 0);
|
||||||
glRotatef(it->trot, 0, 1, 0);
|
glRotatef(it->trot, 0, 1, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user