No, it does not. I do not understand this error. I opened adlernest source file, didn’t do any changes and when I want to compile, I get this errors.
the only thing I can find on this stuff is this
=================
BaseWindingForPlaneAccu
*/
winding_accu_t *BaseWindingForPlaneAccu( vec3_t normal, vec_t dist ){
// The goal in this function is to replicate the behavior of the original BaseWindingForPlane()
// function (see below) but at the same time increasing accuracy substantially.
// The original code gave a preference for the vup vector to start out as (0, 0, 1), unless the
// normal had a dominant Z value, in which case vup started out as (1, 0, 0). After that, vup
// was "bent" [along the plane defined by normal and vup] to become perpendicular to normal.
// After that the vright vector was computed as the cross product of vup and normal.
// I'm constructing the winding polygon points in a fashion similar to the method used in the
// original function. Orientation is the same. The size of the winding polygon, however, is
// variable in this function (depending on the angle of normal), and is larger (by about a factor
// of 2) than the winding polygon in the original function.
int x, i;
vec_t max, v;
vec3_accu_t vright, vup, org, normalAccu;
winding_accu_t *w;
// One of the components of normal must have a magnitiude greater than this value,
// otherwise normal is not a unit vector. This is a little bit of inexpensive
// partial error checking we can do.
max = 0.56; // 1 / sqrt(1^2 + 1^2 + 1^2) = 0.577350269
x = -1;
for ( i = 0; i < 3; i++ ) {
v = (vec_t) fabs( normal[i] );
if ( v > max ) {
x = i;
max = v;
}
}
if ( x == -1 ) {
Error( "BaseWindingForPlaneAccu: no dominant axis found because normal is too short" );
}
switch ( x ) {
case 0: // Fall through to next case.
case 1:
vright[0] = (vec_accu_t) -normal[1];
vright[1] = (vec_accu_t) normal[0];
vright[2] = 0;
break;
case 2:
vright[0] = 0;
vright[1] = (vec_accu_t) -normal[2];
vright[2] = (vec_accu_t) normal[1];
break;
}