[PATCH] qbsp: Tweak epsilons

The choice of the various epsilon values is critical to having geometrically
complex maps compile correctly.

The one which seems most important (so far) is the ANGLE_EPSILON. This one
needs to be quite tight to avoid "bad things" happening when you create small
angles between adjacent surfaces.

Another epsilon inter-relationship I discovered, is that it seems
CONTINUOUS_EPSILON needs to be larger than EQUAL_EPSILON. It seems to play
havoc with the t-junction code otherwise.

Signed-off-by: Tyrann <tyrann@disenchant.net>
This commit is contained in:
Tyrann 2007-08-23 20:48:02 +09:30
parent fba05c351a
commit 2ed0beb1c0
1 changed files with 16 additions and 11 deletions

View File

@ -107,17 +107,22 @@
#define AMBIENT_LAVA 3 #define AMBIENT_LAVA 3
#define NUM_AMBIENTS 4 // automatic ambient sounds #define NUM_AMBIENTS 4 // automatic ambient sounds
// Misc values /*
#define ANGLEEPSILON 0.00001 * The quality of the bsp output is highly sensitive to these epsilon values.
#define NORMAL_EPSILON 0.0001 * Notes:
#define EQUAL_EPSILON 0.001 * - CONTINUOUS_EPSILON needs to be slightly larger than EQUAL_EPSILON,
#define DIST_EPSILON 0.001 * otherwise this messes with t-junctions
#define ZERO_EPSILON 0.001 */
#define CONTINUOUS_EPSILON 0.001 #define NORMAL_EPSILON 0.000001
#define DISTEPSILON 0.01 #define ANGLEEPSILON 0.000001
#define POINT_EPSILON 0.01 #define DIST_EPSILON 0.0001
#define T_EPSILON 0.01 #define ZERO_EPSILON 0.0001
#define ON_EPSILON 0.05 #define DISTEPSILON 0.0001
#define POINT_EPSILON 0.0001
#define T_EPSILON 0.0001
#define ON_EPSILON 0.0001
#define EQUAL_EPSILON 0.0001
#define CONTINUOUS_EPSILON 0.0005
#define BOGUS_RANGE 18000 #define BOGUS_RANGE 18000