Commit graph

221 commits

Author SHA1 Message Date
Thomas Debesse
3aee572a96 Revert "q3map2 * fix: do not affect styled lightmaps by floodlight", fix #654
This reverts commit 090fbf3d0d.

The broken code is not there yet and therefore cannot be fixed yet.
2020-07-07 10:01:04 +02:00
Timothee "TTimo" Besset
8c397cb01f
Merge pull request #653 from illwieckz/fixinfinitebounce
q3map2/light_bounce: prevent infinite loop on obscure bias compute
2020-07-04 14:16:16 -07:00
Timothee "TTimo" Besset
abeb2f1022
Merge pull request #652 from illwieckz/styledflood
q3map2: do not affect styled lightmaps by floodlight, fix #616
2020-07-04 14:12:47 -07:00
Timothee 'TTimo' Besset
6f98213cc2 Fix various duplicate definition link errors, picked up by gcc 10 2020-07-04 16:08:41 -05:00
Thomas Debesse
eb5fe5bce9 q3map2/light_bounce: prevent infinite loop on obscure bias compute
New code produces same result without loop at all, so
it cannot fall in infinite loop, and it is faster in
use cases requiring more than one loop in previous code.

The Unvanquished vega map is known to trigger the bug:
https://github.com/UnvanquishedAssets/map-vega_src.dpkdir
I reproduced it multiple time on various hardware (8 core FX-9590,
12 core/24 thread Ryzen 9 3900X) with commit af40508 and using
final compilation profile edited to use -fastbounce instead
of -fast option.

The symptom is simple, q3map2 stucks there:

--- Radiosity (bounce 1 of 8) ---
--- RadCreateDiffuseLights ---
0...1...2...3..

Or somewhere else in that progression bar given your hardware
and the amount of core your CPU has.

When stuck, all the CPU cores are running 100% but the thread
never returns (a strace can reveals it, a gdb backtrace too).

Thanks to @slipher for the precious advices and improving my first
attempt to fix it.

For more information on the issue, I asked:

> which negative value never can become positive
> when incremented infinitely?

slipher said:

> for a double, any value less than -2^53 would have this property
> don't know for float off the top of my head

But then, it means that's theorically verified this loop was able
to run forever in some case.

I don't know what this code is doing anyway, but at least we can
keep the behaviour without requiring to understand it.
2020-07-03 08:12:48 +02:00
Garux
090fbf3d0d q3map2 * fix: do not affect styled lightmaps by floodlight
port of https://github.com/id-tech-3-tools/map-compiler/pull/12
87b8589a3a
2020-07-03 07:24:09 +02:00
TTimo
61bb386826 minor tweak 2018-04-21 14:01:04 -05:00
isRyven
3bf4b081cc fix q3map2 pak sorting 2018-03-25 00:29:41 +02:00
Rudolf Polzer
533587bf25 swap values 0 and 1 for -exposure (now -exposure 0 does nothing, -exposure 1 did what 0 did before) 2018-03-03 22:18:39 +01:00
Rudolf Polzer
06701fab69 netradiant/tools: ::zerowing-base=422
former commit name: ::zerowing-base=422
2018-02-25 23:46:54 +01:00
Rudolf Polzer
b388770c65 netradiant/tools: initial
former commit name: initial
this commit only backports changes from tools/
2018-02-25 23:46:10 +01:00
Timothee "TTimo" Besset
4314e8336e
Merge pull request #594 from illwieckz/minimap
q3map2: import minimap stuff from NetRadiant
2018-02-24 16:31:19 -06:00
Thomas Köppe
d19e3dd7a8 [q3map2] Avoid division by zero (remove removable singularity) 2018-02-23 14:10:01 +00:00
Thomas Debesse
bf2da7441f reduce diff noise 2018-02-06 05:34:43 +01:00
Thomas Debesse
6649445a46 add missing minimap support for games 2018-02-06 05:34:06 +01:00
Thomas Debesse
aa696e8cf8 do not delete q3map2_*.shader on minimap generation 2018-02-06 05:34:06 +01:00
Thomas Debesse
18f8b3a7f4 split minimap stuff from q3map2 2018-02-06 05:34:06 +01:00
Rudolf Polzer
83ff5cf016 mark two shader checks nullable 2018-02-06 05:34:06 +01:00
Rudolf Polzer
d590a482aa no, we do NOT want to ignore caulk 2018-02-06 05:34:06 +01:00
Rudolf Polzer
3081387877 properly ignore caulk 2018-02-06 05:34:04 +01:00
Rudolf Polzer
e089323ef2 PROPERLY ignore sky brushes for minimap 2018-02-06 05:13:53 +01:00
Rudolf Polzer
4d47b8ed5b -autolevel for minimap 2018-02-06 05:01:55 +01:00
divverent
2eb4247587 use warsow defaults for minimap in qfusion game
git-svn-id: svn://svn.icculus.org/netradiant/trunk@356 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
e0b28da14b qfusion now keeps aspect too
git-svn-id: svn://svn.icculus.org/netradiant/trunk@349 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
9f8d3f0a00 minimap: -boost = contrast boost (like in darkplaces)
git-svn-id: svn://svn.icculus.org/netradiant/trunk@348 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
0375a83f2b new modes for minimap: -black = black on transparent, -white = white on transparent, -gray = white on black
git-svn-id: svn://svn.icculus.org/netradiant/trunk@347 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
75ba6b77ec use "minimaps" directory for warsow
git-svn-id: svn://svn.icculus.org/netradiant/trunk@346 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
597e5b5eeb allow not keeping aspect
git-svn-id: svn://svn.icculus.org/netradiant/trunk@345 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
3ae3b20987 make minimap parameters game dependent
git-svn-id: svn://svn.icculus.org/netradiant/trunk@344 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
e5d5b5a866 option -border in minimap
git-svn-id: svn://svn.icculus.org/netradiant/trunk@343 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
cf607a4986 msvc shut up
git-svn-id: svn://svn.icculus.org/netradiant/trunk@342 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
4f58d60bc3 remove two debug prints
git-svn-id: svn://svn.icculus.org/netradiant/trunk@341 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
ac7d31060b fix a 0.5 error
git-svn-id: svn://svn.icculus.org/netradiant/trunk@340 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
a04a5b5fda probabilistic sample dispersion for minimap -samples
git-svn-id: svn://svn.icculus.org/netradiant/trunk@339 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
f701f2e268 make -minmax work
git-svn-id: svn://svn.icculus.org/netradiant/trunk@336 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
bde58c1edd simplify shader decision logic in MiniMapSetupBrushes
git-svn-id: svn://svn.icculus.org/netradiant/trunk@335 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
1b926fe925 ignore nonsolid brushes
git-svn-id: svn://svn.icculus.org/netradiant/trunk@333 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
858727133f naming fixes, allow ordered supersampling
git-svn-id: svn://svn.icculus.org/netradiant/trunk@332 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
ac00716877 command line options for minimap
git-svn-id: svn://svn.icculus.org/netradiant/trunk@331 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
48d3475f81 be compatible to nexuiz for minimaps :P
git-svn-id: svn://svn.icculus.org/netradiant/trunk@330 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:55 +01:00
divverent
12f2c1032c -minimap is now a main option... to be used on already compiled BSPs
git-svn-id: svn://svn.icculus.org/netradiant/trunk@329 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 05:01:53 +01:00
divverent
3597ccd239 unfinished -minimap support in bsp.c, do not use yet, format is not correct yet
git-svn-id: svn://svn.icculus.org/netradiant/trunk@328 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 04:59:44 +01:00
divverent
cfeea25feb new options:
-bsp -deep - include detail brushes into BSP tree generation (but at lowest possible priority), but still ignore them for vis
-vis -mergeportals - only merge vis portals on the same plane, but don't merge clusters (much faster vis, but only slightly worse - will evaluate later why it's worse vis at all)

git-svn-id: svn://svn.icculus.org/netradiant/trunk@244 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 04:57:44 +01:00
divverent
9a44eb324f add an option -mergeportals to speed up vis, while not making the vis data MUCH worse
git-svn-id: svn://svn.icculus.org/netradiant/trunk@243 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 04:36:43 +01:00
divverent
23807ef4b3 some stuff by 27:
- better BSP tree splitting (experimental, option -altsplit)
- also compare shaders when sorting surfaces (should give slightly more fps)
- misc_model spawnflag 32: set vertex alpha from vertex color (for terrain blending)

git-svn-id: svn://svn.icculus.org/netradiant/trunk@240 61c419a2-8eb2-4b30-bcec-8cead039b335
2018-02-06 04:27:20 +01:00
Thomas Debesse
ba64802bb6 some fixes to issues pointed by @tkoeppe 2018-01-28 03:15:25 +01:00
Thomas Debesse
01d635a135 tools: reduce diff noise 2018-01-27 22:54:14 +01:00
Rudolf Polzer
4d3c983a16 fix a slight memory leak 2018-01-27 22:53:18 +01:00
Rudolf Polzer
39a8ddd6d9 q3map2: more warnings
imported from netradiant, original commit message:

> more warnings
2018-01-27 22:53:18 +01:00
rpolzer
58f0f9e557 q3map2/picomodel: remove some warnings
imported from netradiant, initial commit message:

> q3map2 is now waring free
2018-01-27 22:53:18 +01:00