Commit Graph

309 Commits

Author SHA1 Message Date
Rudolf Polzer 8b586748c4 fix option checking for -grid* options 2011-01-01 20:15:20 +01: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
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
Rudolf Polzer 7daa362c91 Author: rambetter
New Revision: 376
Undoing revision 375 because it did not offer measured accuracy improvements
in the q3map2 math calculations.
2010-12-29 17:36:09 +01:00
Rudolf Polzer 887435af2b Fix by Rambetter (svn r371):
Following up on r371; found another optimization for math rounding errors
in BaseWindingForPlane().  This allows me to get rid of an extra call to
VectorSetLength() which contain floating point multiplications.  Behavior
of BaseWindingForPlane() has been verified against base_winding regression
test (comparing output w/ logging patch).
2010-12-28 20:31:25 +01:00
Rudolf Polzer b20c63153a better help for -convert 2010-12-28 13:50:14 +01:00
Rudolf Polzer 74ca0f3701 change -convert arguments to get -readmap, -readbsp arguments 2010-12-28 13:47:29 +01: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
Rudolf Polzer 1bd74f2b3c use forward slashes in .mtl files 2010-12-27 12:44:03 +01:00
Rudolf Polzer 5245aefcbe also -deluxemapsastexcoord 2010-12-26 00:18:13 +01:00
Rudolf Polzer bd191dea07 fix warnings 2010-12-23 12:54:38 +01:00
Rudolf Polzer fa46a28662 improved lightmap handling 2010-12-23 12:52:10 +01:00
Rudolf Polzer b80d1ce478 fix file extension 2010-12-23 10:25:23 +01:00
Rudolf Polzer 4853a12dc8 fix some file name bugs 2010-12-23 10:23:53 +01:00
Rudolf Polzer 5097e3d49d option -lightmapsastexcoord to extract lightmap UV 2010-12-23 10:10:54 +01:00
Rudolf Polzer 4e12b14cdf make it callable 2010-12-23 09:39:59 +01:00
Rudolf Polzer c19e7448fa initial obj support 2010-12-23 09:38:40 +01:00
Rudolf Polzer 780e5b6e21 make names unique again 2010-12-23 09:14:48 +01:00
Rudolf Polzer 6f9e9fd122 intermediate commit to add .obj conversion support 2010-12-23 09:11:47 +01:00
Rudolf Polzer c792ef6379 also fix the unhashed case 2010-11-19 06:43:29 +01:00
Rudolf Polzer 40292b11c8 minor fix for plane snapping 2010-11-19 06:41:58 +01:00
Rudolf Polzer fa9d3a210a new args -meta and -patchmeta to -convert with .map file argument 2010-11-13 08:31:56 +01:00
Rudolf Polzer 32f2674d17 option -forcereadbsp for -convert to allow forcing the BSP reading code in the radiant build menu 2010-11-13 08:03:39 +01:00
Rudolf Polzer cf84ba8be2 new light option -fill to improve lossy compression of lightmaps (should have no other impact) 2010-10-31 12:38:58 +01:00
Rudolf Polzer 62fdec79ee local variables ALSO work better when declared 2010-10-30 18:10:23 +02:00
Rudolf Polzer b7a62893a4 add a floodlightDirectionScale value to the _floodlight key too (whatever it does) 2010-10-30 18:07:37 +02:00
Rudolf Polzer 39182c67ef no half lambert for xonotic please, it sucks ;) 2010-10-30 18:00:09 +02:00
Rudolf Polzer 020a3febce no need to artificially limit lightmap position for random supersampling 2010-10-30 16:37:04 +02:00
Rudolf Polzer aa00101d5e dirtmapping: PROPERLY prevent hitting sky 2010-10-30 16:36:53 +02:00
Rudolf Polzer 4553078f35 better override lightSamplesInsist (-samples +1, +2, +3, +4 skip the samples preset loading) 2010-10-22 09:41:48 +02:00
Rudolf Polzer 91ea2ae81c be more verbose about randomsamples presets 2010-10-22 09:36:40 +02:00
Rudolf Polzer d1e3042389 support search box size in randomsamples too (although useless) 2010-10-22 09:35:41 +02:00
Rudolf Polzer 10dfced6cb -randomsamples: special handling of -samples 1, 2, 3, 4 as quality presets (to be more consistent with typical -samples use) 2010-10-21 20:35:35 +02:00
Rudolf Polzer cc6bdd4869 Merge branch 'master' of ssh://icculus.org/netradiant 2010-10-14 10:07:39 +02:00
jal 8c7ca79ef5 Ignore transparent surfaces when floodlighting 2010-10-13 16:26:28 +02:00
Rudolf Polzer 05b62ff70f warn on wrong -convert use, always allow .map input 2010-10-09 21:54:55 +02:00
Rudolf Polzer cf1b60d899 don't write the bsp twice when pseudo compiling 2010-10-09 21:29:15 +02:00
Rudolf Polzer 6980df0b21 EXPERIMENTAL: make the pseudo compiler able to output a .bsp file:
q3map2 -game xonotic -convert -format xonotic filename.map
note that this is a quite bad compile (no tjunctions, no models, nothing, but lightning fast)
2010-10-09 21:22:22 +02:00
Rudolf Polzer af9f1a2e22 add missing EndBSPFile() call 2010-10-09 19:47:13 +02:00
Rudolf Polzer 8442ecbb14 .ase also works from .map! 2010-10-09 19:37:43 +02:00
Rudolf Polzer 1b73f1f78b the decompiler now can convert .map files too 2010-10-09 19:28:19 +02:00
Rudolf Polzer 205771e916 initial code for converting .map to .map 2010-10-09 18:25:19 +02:00
Rudolf Polzer 43f30dc837 fix issues with embedded models 2010-10-08 20:38:30 +02:00
Rudolf Polzer b56cb7b42e properly export texdef origin brushes 2010-10-08 06:30:36 +02:00
Rudolf Polzer 266de1d7bb fix "bad texdef" 2010-10-08 06:22:47 +02:00
Rudolf Polzer b5c33b5fd7 decompiler now outputs somewhat correct texdef 2010-10-07 21:04:54 +02:00
Rudolf Polzer e5e8f67120 break break break ;) 2010-10-07 17:56:41 +02:00
Rudolf Polzer f5fc3cd9f9 fix compile errors 2010-10-07 17:43:05 +02:00
Rudolf Polzer c5745ac942 experimental non-BrushPrimit map decompiling (probably won't even compile yet) 2010-10-07 17:38:45 +02:00
Rudolf Polzer 18c11bf55e YEAH! I think this fixes the lightmaps-of-patches bug! 2010-10-05 18:50:24 +02:00
Rudolf Polzer cadab3422e more warnings 2010-10-05 15:06:52 +02:00
Rudolf Polzer d5a9782200 fix some more warnings 2010-10-05 15:04:45 +02:00
Rudolf Polzer 4487b4d44f fix "ExpandPath called without qdir set" as qdir is never set in Xonotic/Nexuiz/any other nonquake 2010-10-05 11:24:42 +02:00
rpolzer 5ec3a47e10 q3map2 is now waring free 2010-10-05 10:57:07 +02:00
rpolzer 5f1f257a1c add a missing VectorClear 2010-10-04 10:48:22 +02:00
Rudolf Polzer 4c13f31535 use a Gaussian-like random distribution for random subsampling 2010-10-03 21:14:54 +02:00
Rudolf Polzer 02d17b50a7 also subsample the deluxemap (this was forgotten all the time!) 2010-10-03 20:50:09 +02:00
Rudolf Polzer 61d0c06cc6 option -randomsamples: makes -samples use adaptive random subsampling (only subsamples near edges, uses random distribution for luxels then) 2010-10-03 20:23:14 +02:00
Rudolf Polzer 8ff9eafc50 fix bugs in skin load code 2010-10-01 12:13:36 +02:00
Rudolf Polzer 5c389d3f8a fix segfault 2010-10-01 11:55:29 +02:00
Rudolf Polzer 43b05f81bc skinfiles: use the VFS 2010-10-01 11:49:38 +02:00
Rudolf Polzer 7b7d0471b6 fix warnings 2010-10-01 11:29:51 +02:00
Rudolf Polzer 3dd2ff55b1 support .skin files for models (modelname_<n>.skin) like Q3A and DP 2010-10-01 11:29:51 +02:00
Rudolf Polzer 1773a1823c Merge branch 'master' of ssh://git.xonotic.org/netradiant 2010-09-27 09:58:57 +02:00
Rudolf Polzer 20eed03c3f remove some unused code 2010-09-27 09:58:50 +02:00
Rudolf Polzer 511f7bd2c2 remove some debug code that is potentially dangerous 2010-09-27 09:58:22 +02:00
Rudolf Polzer 30a8c2c22c more deluxemap+surfacelight fixes 2010-09-23 08:30:17 +02:00
Rudolf Polzer c13784bc3a force subsampling only where REALLY needed 2010-09-22 08:49:43 +02:00
Rudolf Polzer 382e2da9a0 fix compile error 2010-09-22 08:28:00 +02:00
Rudolf Polzer d14718daef force going all the way down when subsampling grates 2010-09-22 08:26:54 +02:00
Rudolf Polzer fd6d38c979 force the first stage of subsampling on luxels that are hit through an alphashadow surface 2010-09-22 08:22:26 +02:00
Rudolf Polzer 33dae6db13 try to help subsampling with grates 2010-09-22 07:28:51 +02:00
Rudolf Polzer 1ec2aec67e deluxemapping: ignore light contribution from the other side of a surface 2010-09-22 07:17:33 +02:00
Rudolf Polzer 4243255b4a new funny option: -samplessearchboxsize, tunes the size of the search box of -samples (default 1 = "correct" size, can be up to 4) 2010-09-22 06:38:02 +02:00
Rudolf Polzer 5522a08f6c fix the maths REALLY 2010-09-22 06:23:27 +02:00
Rudolf Polzer 07cf00e0a2 fix a small math error in -samples causing it to only ever consider 2/3 of the length of each luxel 2010-09-21 22:04:55 +02:00
Rudolf Polzer f0215523f0 do not break tjunctions :P 2010-09-01 08:30:09 +02:00
Rudolf Polzer 526654d3dd another debug print 2010-09-01 07:52:20 +02:00
Rudolf Polzer 1875137f28 improve area calculation by a shift width to simulate fragments 2010-09-01 07:51:01 +02:00
Rudolf Polzer 76e61abc01 favor blocky triangles over thin triangles a bit 2010-09-01 07:14:16 +02:00
Rudolf Polzer 08dc2f96dc bsp: new option -maxarea, selects more GPU friendly face surface splitting algorithm 2010-08-31 16:46:17 +02:00
Rudolf Polzer bb104da06f do not REPEATEDLY blow up _skybox surfaces 2010-08-08 20:56:47 +02:00
Rudolf Polzer 2ddfb486e9 we can move the <glib.h> include a bit more then 2010-08-08 16:42:40 +02:00
merlijn 4d04ade414 include glib.h instead of limits.h 2010-08-08 16:30:20 +02:00
merlijn 5dffa316df fix PATH_MAX error, thanks CU|CUdyin 2010-08-07 19:50:16 +02:00
Rudolf Polzer 9ca6835a26 vfspk3 in q3map2: also support -fs_forbiddenpath 2010-08-07 17:32:57 +02:00
Rudolf Polzer fa0fce3cfa CRLF 2010-07-30 16:02:39 +02:00
Rudolf Polzer 1bae0620f3 Merge remote branch 'icculus/master' 2010-07-25 17:13:35 +02:00
Rudolf Polzer e6ca10bec7 crlf fixes 2010-07-18 16:32:03 +02:00
Rudolf Polzer dab02ced76 fix a nasty bug breaking "deformvertexes move" 2010-07-16 12:51:56 +02:00
jal 8ff62be8fd Merge branch 'master' of ssh://icculus.org/netradiant 2010-07-11 12:16:26 +02:00
jal 6661c1a8e8 On grid lighting, redistribute the 25% of the floodlight as omnidirectional ambient light, and use only the 75% of it as top-down directional light. 2010-07-11 12:16:08 +02:00
Rudolf Polzer 2e0af6a7a0 qtrue too 2010-07-04 19:24:23 +02:00
Rudolf Polzer 3408e1c959 it is qfalse 2010-07-04 19:23:51 +02:00
Rudolf Polzer e778c332b0 fix arg parsing 2010-07-04 19:17:15 +02:00
Rudolf Polzer b9177e76bf q3map2 -scale: new arg -spawn_ref - sets reference point in spawnpoints 2010-07-04 19:11:23 +02:00
Rudolf Polzer 64144b4a07 Merge branch 'icculus' 2010-06-24 12:30:02 +02:00
Rudolf Polzer 0138fccfb8 allow 64 directories, no longer 8 2010-06-24 12:27:26 +02:00
jal 1e42a4f095 Fix vertexlighting and gridlighting being too dark when using floodlight and bounce (stop floodlighting being re-applied to lightmaps with each bounce stage) 2010-06-14 19:50:45 +02:00