From 8b711d1f3554f2f45d201fcd49a9db864e10539f Mon Sep 17 00:00:00 2001 From: rambetter Date: Tue, 11 Jan 2011 02:08:30 +0000 Subject: [PATCH] Adding the beginnings of degenerate_winding2 and degenerate_winding3 regression tests for q3map2. git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@419 8a3a26a2-13c4-0310-b231-cf6edde360e5 --- .../q3map2/degenerate_winding2/README.txt | 14 ++++++++++++++ .../maps/degenerate_winding2.map | 14 ++++++++++++++ .../radiant_regression_tests/blue.tga | Bin 0 -> 300 bytes .../radiant_regression_tests/green.tga | Bin 0 -> 300 bytes .../textures/radiant_regression_tests/red.tga | Bin 0 -> 300 bytes .../radiant_regression_tests/tile.tga | Bin 0 -> 812 bytes .../q3map2/degenerate_winding3/README.txt | 18 ++++++++++++++++++ .../maps/degenerate_winding3.map | 13 +++++++++++++ .../radiant_regression_tests/blue.tga | Bin 0 -> 300 bytes .../radiant_regression_tests/green.tga | Bin 0 -> 300 bytes .../textures/radiant_regression_tests/red.tga | Bin 0 -> 300 bytes .../radiant_regression_tests/tile.tga | Bin 0 -> 812 bytes 12 files changed, 59 insertions(+) create mode 100644 regression_tests/q3map2/degenerate_winding2/README.txt create mode 100644 regression_tests/q3map2/degenerate_winding2/maps/degenerate_winding2.map create mode 100644 regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/blue.tga create mode 100644 regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/green.tga create mode 100644 regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/red.tga create mode 100644 regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/tile.tga create mode 100644 regression_tests/q3map2/degenerate_winding3/README.txt create mode 100644 regression_tests/q3map2/degenerate_winding3/maps/degenerate_winding3.map create mode 100644 regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/blue.tga create mode 100644 regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/green.tga create mode 100644 regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/red.tga create mode 100644 regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/tile.tga diff --git a/regression_tests/q3map2/degenerate_winding2/README.txt b/regression_tests/q3map2/degenerate_winding2/README.txt new file mode 100644 index 00000000..b36f2db3 --- /dev/null +++ b/regression_tests/q3map2/degenerate_winding2/README.txt @@ -0,0 +1,14 @@ +DESCRIPTION OF PROBLEM: +======================= + +The sample map contains a wedge brush. The tip (the sharp edge) of the wedge +is chopped off by 2 planes, leaving very narrow windings. Each of these 2 +narrow windings is less than 0.1 units tall. However, the wedge has height +exactly equal to 1/8 unit at the point where it is chopped. Therefore, +the two narrow sides caused by the chops are expected to be degenerate and the +top face of the wedge is expected to be unaffected. This should leave a +"hole" in the narrow part of the wedge. + +The hole isn't desirable but it's expected based on the logic in the code. +Still, if there is a hole in the brush, I consider this regression test to +be broken. diff --git a/regression_tests/q3map2/degenerate_winding2/maps/degenerate_winding2.map b/regression_tests/q3map2/degenerate_winding2/maps/degenerate_winding2.map new file mode 100644 index 00000000..39569653 --- /dev/null +++ b/regression_tests/q3map2/degenerate_winding2/maps/degenerate_winding2.map @@ -0,0 +1,14 @@ +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ +( 7 0 0 ) ( 7 0 1 ) ( 7 64 1 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( 7 0 0 ) ( 7 64 0 ) ( -1 64 0 ) radiant_regression_tests/blue 0 0 0 0.500000 0.500000 0 0 0 +( 7 0 1 ) ( 7 0 0 ) ( -1 0 0 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( -1 64 0 ) ( 7 64 0 ) ( 7 64 1 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( 7 0 1 ) ( -1 0 0 ) ( -1 64 0 ) radiant_regression_tests/blue 0 0 0 0.500000 0.500000 0 0 0 +( -1 0 2 ) ( 0 0 0 ) ( 0 64 0 ) radiant_regression_tests/red 0 0 0 0.500000 0.500000 0 0 0 +( 1 0 2 ) ( -7 0 -13 ) ( -7 64 -13 ) radiant_regression_tests/red 0 0 0 0.500000 0.500000 0 0 0 +} +} diff --git a/regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/blue.tga b/regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/blue.tga new file mode 100644 index 0000000000000000000000000000000000000000..f6ad38a670af3eeda54d1d647bf0ab586c6ba532 GIT binary patch literal 300 scmZQz;9`IQ2L=ZQ35Nau8AddQg+@qFsB4&Ku&2MDZiJhskE10{|f5bq)Xk literal 0 HcmV?d00001 diff --git a/regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/tile.tga b/regression_tests/q3map2/degenerate_winding2/textures/radiant_regression_tests/tile.tga new file mode 100644 index 0000000000000000000000000000000000000000..2154015fc4c3cac9f1b6a3d8100faaa9075c1e5a GIT binary patch literal 812 zcmZQz;9`IQ2L=ZQ35Ndv|NqYi3W4Y$$p*T8KFIALKa8^J9}Yu2{Q#2;7=#3cx`ufM Qd;0t7M!0$Uxau(g0MliYy#N3J literal 0 HcmV?d00001 diff --git a/regression_tests/q3map2/degenerate_winding3/README.txt b/regression_tests/q3map2/degenerate_winding3/README.txt new file mode 100644 index 00000000..3aa08fc9 --- /dev/null +++ b/regression_tests/q3map2/degenerate_winding3/README.txt @@ -0,0 +1,18 @@ +DESCRIPTION OF PROBLEM: +======================= + +The sample map contains a wedge brush. The tip (the sharp edge) of the wedge +is chopped off by the YZ plane (side 5, or the last side, of the brush). +The height of the wedge where it is chopped is about 0.9. This makes it +barely smaller than DEGENERATE_EPSILON. So the face resulting from the chop +is probably degenerate, and that winding will be removed. I'm now wondering +what happens to the rest of the brush. 0.9 rounded to the nearest 1/8 unit +is 1/8, so the top face of the brush should get a slight raise, making the +"hole" even bigger. The sides will have degenerate edges near the chop, so +they will become triangles, creating open slivers in the sides. + +Although this behavior is a tad nasty, it is expected based on the way the +code is written. I want to make sure nothing really nasty happens. + +I consider this regression test to be broken if there is a "hole" in the brush, +and I consider this test to be very broken if something more drastic happens. diff --git a/regression_tests/q3map2/degenerate_winding3/maps/degenerate_winding3.map b/regression_tests/q3map2/degenerate_winding3/maps/degenerate_winding3.map new file mode 100644 index 00000000..418757d3 --- /dev/null +++ b/regression_tests/q3map2/degenerate_winding3/maps/degenerate_winding3.map @@ -0,0 +1,13 @@ +// entity 0 +{ +"classname" "worldspawn" +// brush 0 +{ +( 10 0 0 ) ( 10 0 1 ) ( 10 64 1 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( 10 0 0 ) ( 10 64 0 ) ( -1 64 0 ) radiant_regression_tests/blue 0 0 0 0.500000 0.500000 0 0 0 +( 10 0 1 ) ( 10 0 0 ) ( -1 0 0 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( -1 64 0 ) ( 10 64 0 ) ( 10 64 1 ) radiant_regression_tests/green 0 0 0 0.500000 0.500000 0 0 0 +( 10 0 1 ) ( -1 0 0 ) ( -1 64 0 ) radiant_regression_tests/blue 0 0 0 0.500000 0.500000 0 0 0 +( 0 0 1 ) ( 0 0 0 ) ( 0 64 0 ) radiant_regression_tests/red 0 0 0 0.500000 0.500000 0 0 0 +} +} diff --git a/regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/blue.tga b/regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/blue.tga new file mode 100644 index 0000000000000000000000000000000000000000..f6ad38a670af3eeda54d1d647bf0ab586c6ba532 GIT binary patch literal 300 scmZQz;9`IQ2L=ZQ35Nau8AddQg+@qFsB4&Ku&2MDZiJhskE10{|f5bq)Xk literal 0 HcmV?d00001 diff --git a/regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/tile.tga b/regression_tests/q3map2/degenerate_winding3/textures/radiant_regression_tests/tile.tga new file mode 100644 index 0000000000000000000000000000000000000000..2154015fc4c3cac9f1b6a3d8100faaa9075c1e5a GIT binary patch literal 812 zcmZQz;9`IQ2L=ZQ35Ndv|NqYi3W4Y$$p*T8KFIALKa8^J9}Yu2{Q#2;7=#3cx`ufM Qd;0t7M!0$Uxau(g0MliYy#N3J literal 0 HcmV?d00001 -- 2.39.2