Commit Graph

239 Commits

Author SHA1 Message Date
rambetter
3326472fee Adding MATHLIB_VECTOR_NORMALIZE_PRECISION_FIX in mathlib to control which
version of code in VectorNormalize() is used.  Yes, I put the old code back
in there, and it's active if MATHLIB_VECTOR_NORMALIZE_PRECISION_FIX is 0.
Right now it's 1, so the fixed code is active.  I need this quick way to
test regression tests.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@424 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-12 03:35:57 +00:00
Rudolf Polzer
94cb905da9 ::zerowing-base=422 2011-01-11 14:39:55 +01:00
rambetter
a16ee23adf Importing code changes for q3map2 from Rambetter-math-fix-experiments branch
into trunk.  Right now all the new code that fixes problems is turned off. 
There are three	new #defines in q3map2.h:
EXPERIMENTAL_HIGH_PRECISION_MATH_Q3MAP2_FIXES, EXPERIMENTAL_SNAP_NORMAL_FIX,
and EXPERIMENTAL_SNAP_PLANE_FIX.  All of these are currently set to 0, which
means don't enable that new code.  You can easily edit these to be 1 in order
to enable the new code.

There are very very minor changes to the code even with these three #defines
disabled.  They are as follows.

- In PlaneEqual() in map.c, now considering deltas equal to given epsilon
values as "far enough to be different".  Previously, the '<=' operation was
used, now '<' is being used.

- In FindFloatPlane() in map.c, considering delta equal to distanceEpsilon
(for plane distance) to be sufficiently far away.  Before, delta had to be
strictly greater than distanceEpsilon.

- VectorNormalize() in mathlib.c is more accurate now. 	This change itself
causes at least	one regression test to succeed.  The previous implementation
of VectorNormalize() caused excessive errors to	be introduced due to sloppy
arithmetic.

Note, the epsilon changes account for the possibility that the epsilons 
are set to 0.0 on the command-line.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@416 8a3a26a2-13c4-0310-b231-cf6edde360e5
2011-01-10 06:15:47 +00:00
Rudolf Polzer
7a04b6fdea Author: rambetter
Date: Thu Dec 30 21:03:13 2010
New Revision: 390

Modified:
GtkRadiant/trunk/libs/mathlib.h
GtkRadiant/trunk/libs/mathlib/mathlib.c
GtkRadiant/trunk/tools/quake3/common/polylib.c
Log:
Undoing commits r363 and r371 as it pertains to polylib.c, mathlib.c,
and mathlib.h (the regression tests have not been removed).
Trunk is now restored to a state that it was in before I started
trying to fix the math accuracy errors in q3map2.  Commits r363 and
r371 were "correct" and did improve math accuracy significantly, but
unfortunately the underlying cause of math accuracy issues is something
else, which is being addressed in branch Rambetter-math-fix-experiments
currently.  I'm taking the BSD approach here, which is "we not going to
partially fix the problem.  it's all or nothing".  Otherwise it's just
too risky in my opinion.  I don't like playing Whack-A-Mole.

Someday, we might merge Rambetter-math-fix-experiments branch to trunk.
Sorry about all these needless commits to trunk.
2010-12-31 18:54:33 +01:00
rambetter
5526da8cdc Undoing commits r363 and r371 as it pertains to polylib.c, mathlib.c,
and mathlib.h (the regression tests have not been removed).
Trunk is now restored to a state that it was in before I started
trying to fix the math accuracy errors in q3map2.  Commits r363 and
r371 were "correct" and did improve math accuracy significantly, but
unfortunately the underlying cause of math accuracy issues is something
else, which is being addressed in branch Rambetter-math-fix-experiments
currently.  I'm taking the BSD approach here, which is "we not going to
partially fix the problem.  it's all or nothing".  Otherwise it's just
too risky in my opinion.  I don't like playing Whack-A-Mole.

Someday, we might merge Rambetter-math-fix-experiments branch to trunk.
Sorry about all these needless commits to trunk.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@390 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-31 03:03:13 +00:00
Rudolf Polzer
469cba24be Author: rambetter
New Revision: 379
Undoing revision 377 (reverting just those files modified by that
commit).  I have disovered the fundamental problem to the math error problems,
and although this commit (r377) is "correct", it fails to address the
fundamental problem.  Therefore, I'd rather leave the code in a state that
has the exact same behavior as before until I get a chance to address the
fundamental issue.
2010-12-29 17:41:57 +01:00
Rudolf Polzer
7aa95f5ab5 svn r377 by Rambetter:
Continuing work on BaseWindingForPlane() in polylib.c.  In fact I'm pursuing
the approach that was committed in r375 (but was then backed out).  I can't
believe my eyes, but I seem to be getting 0.000000% error in some of my
regression tests.  The trick is to scale by a power of 2 and never do a
VectorNormalize().
2010-12-29 17:38:21 +01:00
rambetter
f62ab305fc Undoing revision 377 (reverting just those files modified by that
commit).  I have disovered the fundamental problem to the math error problems,
and although this commit (r377) is "correct", it fails to address the
fundamental problem.  Therefore, I'd rather leave the code in a state that
has the exact same behavior as before until I get a chance to address the
fundamental issue.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@379 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-29 09:00:47 +00:00
rambetter
f36b40ae62 Continuing work on BaseWindingForPlane() in polylib.c. In fact I'm pursuing
the approach that was committed in r375 (but was then backed out).  I can't
believe my eyes, but I seem to be getting 0.000000% error in some of my
regression tests.  The trick is to scale by a power of 2 and never do a
VectorNormalize().


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@377 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-29 04:32:35 +00:00
Rudolf Polzer
ec64df5697 Author: rambetter
Date: Tue Dec 28 04:02:11 2010
New Revision: 371

Rewriting BaseWindingForPlane() in polylib.c from the ground up.  The behavior is totally unchanged, and I verified this by running extensive tests.  The only difference is that the math precision is much much better now.  Performance should be better as well (but that is not tested).  This is a major milestone because it fixes two regression tests: disappearing_sliver2 and sparkly_seam.
Improvements to math precision is ongoing and more improvements can probably be made even after this patch.
I will update the README.txt files in the regression tests in a separate commit.  This commit only includes the actual fixed code.
2010-12-28 11:24:25 +01:00
rambetter
c5449b8cc5 Rewriting BaseWindingForPlane() in polylib.c from the ground up. The behavior
is totally unchanged, and I verified this by running extensive tests.  The
only difference is that the math precision is much much better now.
Performance should be better as well (but that is not tested).
This is a major milestone because it fixes two regression tests:
disappearing_sliver2 and sparkly_seam.
Improvements to math precision is ongoing and more improvements can probably
be made even after this patch.
I will update the README.txt files in the regression tests in a separate
commit.  This commit only includes the actual fixed code.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@371 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-28 10:02:11 +00:00
Rudolf Polzer
2a853e5b62 take over q3map2 sliver fix from ZeroRadiant trunk (r363) 2010-12-27 10:23:57 +01:00
rambetter
f7764a84b2 Fixing "disappearing_sliver" bug.
A regression test is included.
This is a bug in q3map2.  Please read
regression_tests/q3map2/disappearing_sliver/README.txt for more info.


git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@363 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-12-27 08:08:00 +00:00
Rudolf Polzer
50218d2883 Revert "fix some more of the weird workarounds"
This reverts commit b8ef001e49.
2010-12-11 14:52:52 +01:00
Rudolf Polzer
b8ef001e49 fix some more of the weird workarounds 2010-12-09 07:08:34 +01:00
Rudolf Polzer
d792d26da8 add an ifdeffed out font size workaround 2010-12-09 06:54:14 +01:00
Rudolf Polzer
ceaa322eef be a little nicer to switching font system at compile time 2010-12-09 06:52:52 +01:00
TTimo
0152053e52 fix Linux compile from mhash stuff
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@339 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 06:46:05 +00:00
TTimo
e393e112f4 compiles again on win32, trashed mhash
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@338 8a3a26a2-13c4-0310-b231-cf6edde360e5
2010-11-26 05:59:17 +00:00
Rudolf Polzer
9bd26c2ebe switch over to pango rendering 2010-11-18 17:13:08 +01:00
Rudolf Polzer
3ce82871e3 refactoring font code to hopefully be closer to be able to exchange the font system by something not call list based 2010-11-18 17:01:21 +01:00
Rudolf Polzer
e240a832bd pango font stuff: remove reference to a deprectaed pango interface from the new ZeroRadiant code (duh...); make pango a proper dependency now 2010-11-18 12:55:49 +01:00
Rudolf Polzer
a9e31a3db5 glfont.cpp: add an internal class that uses Pango 2010-11-16 14:07:06 +01:00
Rudolf Polzer
7a0665f156 automatically run the decompiler when specifying a BSP file in Import... 2010-10-10 16:04:41 +02:00
Rudolf Polzer
599056d188 allow different file type selections for open/import/save 2010-10-10 14:35:18 +02:00
Rudolf Polzer
d5a9782200 fix some more warnings 2010-10-05 15:04:45 +02:00
rpolzer
5ec3a47e10 q3map2 is now waring free 2010-10-05 10:57:07 +02:00
Rudolf Polzer
71271751d1 display entity boxes as [/]. Second line not needed. 2010-07-30 16:11:33 +02:00
Rudolf Polzer
a40dc77dd9 add more vertexes to the entity display to make it more visible (paint an X in its middle) 2010-07-29 18:57:08 +02:00
Jānis Rūcis
4947520bd1 Fix wireframe entity display in 2D window
On 64-bit systems, sizeof(size_t) != sizeof (unsigned int).
2010-07-28 21:11:34 +03:00
Rudolf Polzer
0c20b6e140 Merge remote branch 'icculus/master' 2010-06-04 20:58:08 +02:00
jal
73c5be6f5f convert to float the input of RGBTOGRAY macro, or it can cause rounding errors in byte vectors. 2010-05-28 21:49:38 +02:00
Jānis Rūcis
b566370748 Remove unnecessary locale/UTF-8 encoding conversions 2010-05-20 19:45:59 +03:00
Rudolf Polzer
d539f09864 Merge branch 'master' of ssh://icculus.org/netradiant into icculus 2010-05-10 18:30:58 +02:00
jal
be4e243888 Increase the influence of directional lights on the deluxemap by a)Ignoring angle attenuation for directional contribution and b)Scaling down by 1/4 the contribution of radiosity (deeper explanation in a comment at LightContributionToSample). 2010-04-30 11:32:11 +02:00
Rudolf Polzer
54ccfc9f18 fix lots of CRLFs 2010-04-17 21:02:26 +02:00
Rudolf Polzer
2da03eb7b0 fix mismatched new/delete 2010-02-11 13:03:21 +01:00
Rudolf Polzer
6255d00622 support "angles" key in generic entities 2010-02-11 10:33:37 +01:00
Rudolf Polzer
f0c84c72af unique names debugging (please revert when the bug is fixed) 2010-02-09 21:11:42 +01:00
divverent
b9b9429a0a merge l_net from ZeroRadiant
git-svn-id: svn://svn.icculus.org/netradiant/trunk@409 61c419a2-8eb2-4b30-bcec-8cead039b335
2010-01-04 10:39:05 +00:00
divverent
04a61593c3 ToggleGridSnap command (beware of it)
git-svn-id: svn://svn.icculus.org/netradiant/trunk@401 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-10-04 19:15:55 +00:00
divverent
9374d73cbf if a font was not found, fall back to fixed or courier new - should fix "missing font" issues
git-svn-id: svn://svn.icculus.org/netradiant/trunk@352 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-04-28 12:48:47 +00:00
divverent
d909e5b8c7 patches by jal: fix some warnings, and spawnflags 64 on misc_model to not smooth the normals
git-svn-id: svn://svn.icculus.org/netradiant/trunk@324 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-04-23 16:32:45 +00:00
divverent
accda3fda7 hopefully fix llrint
git-svn-id: svn://svn.icculus.org/netradiant/trunk@320 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-04-14 06:47:48 +00:00
divverent
df072b781c slightly better font handling, enjoy!
git-svn-id: svn://svn.icculus.org/netradiant/trunk@313 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-04-09 10:16:31 +00:00
divverent
2f675b648f move windows.h include upwards to not confuse visual studio
git-svn-id: svn://svn.icculus.org/netradiant/trunk@239 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-03-30 11:56:01 +00:00
divverent
8e10595ce3 make it work with older Gtk again
git-svn-id: svn://svn.icculus.org/netradiant/trunk@229 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-03-25 11:49:50 +00:00
divverent
2a41079750 new awesome feature: the shortcuts list can now be EDITED
git-svn-id: svn://svn.icculus.org/netradiant/trunk@228 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-03-25 10:35:37 +00:00
divverent
472f73116c avoid crashing q3map2 if a surface is >99999
git-svn-id: svn://svn.icculus.org/netradiant/trunk@227 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-03-23 14:20:23 +00:00
divverent
be63f42ed5 picomodel: support OBJs without material groups
git-svn-id: svn://svn.icculus.org/netradiant/trunk@219 61c419a2-8eb2-4b30-bcec-8cead039b335
2009-03-13 09:26:45 +00:00