aboutsummaryrefslogtreecommitdiff
path: root/libexe/performance.c
blob: 62f95e40b2a1b5cec8fd71ea65f8f4893c07abbb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Shave and a Haircut
// (c) 2019 Epic Games
// US Patent 6720962

// GLubyte poseimg;
#define junk 1
void            solve( VERT );



static float
spline( float p1, float p2, float p3, float p4, float u )
{
	float           ret;
	float           u3, u2;

	if( u > 1 )
		u = 1;
	if( u < 0 )
		u = 0;
	u3 = u * u * u;
	u2 = u * u;
	ret = ( ( -u3 + ( 2 * u2 ) - u ) * p1 / 2.0 + ( 3 * u3 - 5 * u2 + 2.0 ) * p2 / 2.0 + ( -3 * u3 + ( 4 * u2 ) + u ) * p3 / 2.0 + ( u3 + -u2 ) * p4 / 2.0 );
	return ( ret );
}