Commit Graph

2377 Commits

Author SHA1 Message Date
Garux 18c741a960 remove unused side_t field 2021-09-08 19:45:04 +03:00
Garux 77f2e39af5 minor tweaks 2021-09-08 19:40:09 +03:00
Garux f3321cef5f * auto fog direction: try all sides, not just axial; default to none, if no visible sides
* q3map_fogDir: pick best matching side, not strict match only; ignore invisible 'bevel' sides
2021-09-08 19:22:18 +03:00
Garux 23d82aa9ef * prioritize +Z fog visible side in ambiguous case (= -Z fog direction), as in fogged pit 2021-09-08 10:11:49 +03:00
Garux 204c3138e2 emit warning on expected practical engine fog limit overflow 2021-09-07 08:14:04 +03:00
Garux 43b5148447 remove -metaMaxBBoxDistance
with current 'pre weld' strategy it's not optimization anymore, also wont work as option to merge non welded triangles with adjusted meta score
2021-09-05 14:45:01 +03:00
Garux 191d489d62 * hasten MergeMetaTriangles and SmoothMetaTriangles to perform typically in 0 seconds
* improve quality of metasurfaces and reduce their count in general case
2021-09-05 11:37:00 +03:00
Garux bafb339c09 MergeMetaTriangles: epsilon compare st, improves merging imprecise sts, e.g. for nonplanar surfaces after q3map_tcgen or just brush face texture projection 2021-09-03 06:23:40 +03:00
Garux d113eed245 improve MergeMetaTriangles out surfaces quality and reduce count 2021-09-03 06:19:41 +03:00
Garux 7f8e548c2f * hasten MergeMetaTriangles greatly (around 30 times in worst case)
this has negative impact on surfaces count in certain scenario (big axial surface of easily mergable triangles)
it wins predecessor once we rotate such surface
so may be consider choosing sorting plane per lump or mergables
algorithm itself is dependent on test data ordering, thus best option would be tweaking it, not prerequisites
`redundant indexes suppressed` count is always worse with this due to sorting nature, sorting per axial plane helps
assuming this optimization is not important and case dependent
2021-09-01 20:16:57 +03:00
Garux f067b5d6c3 tweak -meta 2021-08-28 18:37:22 +03:00
Garux 0ad3d89d4a use spatially sorted indices during search of coincident vertices in AddMetaVertToSurface 2021-08-28 10:56:50 +03:00
Garux e780b45696 enfasten -meta for nonplanar by doing cheap check 1st 2021-08-27 17:13:26 +03:00
Garux 160c1d33db remove -texrange business (assuming it's not relevant for decades)
optimize -meta (shave off 1/3 in worst case)
2021-08-27 12:18:56 +03:00
Garux 8d71aea059 * Q2::surface inspector::brush face flags: add "Unset flags" button 2021-08-24 18:57:59 +03:00
Garux b58408344c Q2 optional brush face flags in BP, 220 mapformats 2021-08-24 18:55:34 +03:00
Garux 3129fd0bce refactor model clipping code 2021-08-20 22:32:33 +03:00
Garux f0c393fcbf remove __attribute__ ((unused)) uses 2021-08-19 23:14:18 +03:00
Garux 4c49b81c3a shorten g_archives syntax 2021-08-19 13:16:38 +03:00
Garux aa4f3a1f72 reduce the use of GSlist
Quake3FileSystem::forEachFile: avoid double extension check, support "*", as advertised
2021-08-19 12:28:56 +03:00
Garux 41c3dfc96e add move constructor, assignment to String class 2021-08-18 01:24:53 +03:00
Garux d82996d684 mbspc: fix q3 entities being loaded twice 2021-08-15 18:54:28 +03:00
Garux 1372ea440b more move semantics 2021-08-15 15:15:30 +03:00
Garux bb1931b745 * sort pk3s, so content of later (zzz) overrides earlier, like in radiant and engine
* fix strong performance penalty with large amount of files in pk3s
store pak file path once per pk3, not per each file inside
2021-08-13 03:20:07 +03:00
Garux 4beae3d362 * support entries with .shader extension in shaderlist.txt
vfsListShaderFiles (empty shaderlist = load all shaders, -pk3, -repack):
	only list pk3 .shaders from scripts/ folder
	support non scripts/ shaderPath (e.g. jka)
unlimit shader files count
case insensitive shaderlist entries, so duplicates aren't loaded twice
2021-08-12 11:23:59 +03:00
Garux aa5de2fee9 wrap winding_next logic
prevent crash in AddWindingToConvexHull()
2021-08-11 18:18:38 +03:00
Garux f492ab27eb more c++ in q3map2 2021-08-10 22:41:43 +03:00
Garux 99f4a4a767 minor tweaks 2021-08-03 20:54:21 +03:00
Garux 357f67f237 remove Q_EXTERN int numLights
remove /* potential pre-setup  */ :
1. it seems to never actually be the case
2. it is called from threaded functions, while SetupEnvelopes() itself is not thread safe
2021-08-03 18:26:47 +03:00
Garux f49639c697 std::list<light_t> lights 2021-08-03 07:28:53 +03:00
Garux a743668e44 prevent overflow in gridsize adjustment 2021-08-02 12:03:22 +03:00
Garux 15b391cdb3 minor tweaks 2021-08-02 00:47:18 +03:00
Garux e8996d0857 using facelist_t = std::forward_list<face_t> 2021-08-01 22:50:35 +03:00
Garux c3041cc2f8 using winding_t = std::vector<Vector3> 2021-07-31 18:28:38 +03:00
Garux dbfb22e273 using winding_accu_t = std::vector<DoubleVector3>; 2021-07-30 12:20:56 +03:00
Garux ffa1a4340c std::vector<plane_t> mapplanes 2021-07-29 22:21:36 +03:00
Garux ee92bdd801 minor tweaks 2021-07-27 22:16:05 +03:00
Garux 89b7bcdf53 * read .map brush plane points and store brush planes for windings calculation in double precision (fixes cracks between brush faces) 2021-07-27 20:04:35 +03:00
Garux 3c17f8fbc5 add MST_PLANAR and MST_TRIANGLE_SOUP counts to -info report 2021-07-22 17:32:58 +03:00
Garux 45c3c4c012 bump prtview reading buffer size 2021-07-22 16:57:37 +03:00
Garux 8022e0c92f compressed radiant.ico 2021-07-18 18:02:41 +03:00
Garux 44907db895 Add KTX and ETC1 texture support by @Triang3l
https://github.com/xonotic/netradiant/pull/1
https://gitlab.com/xonotic/netradiant/-/issues/5

This pull request adds support for Khronos Textures to NetRadiant and Q3Map2, with OpenGL ES 2.0 formats, Ericsson Texture Compression version 1, and BGR/BGRA.

The patent-free Ericsson Texture Compression format will be used in the next version of Warsow to significantly reduce VRAM usage on mobile GPUs and the integrated GPU of Intel Broadwell.
2021-07-18 16:18:49 +03:00
Garux d1c3c838c8 bump bobtoolz::polygon builder::max number of sides 2021-07-11 16:31:55 +03:00
Garux 8cc464014e improve Brush_ConstructPrism() readability 2021-07-11 16:30:48 +03:00
Garux 4c0d049c02 prevent overflow in ostream_write( Decimal ) 2021-07-11 16:28:10 +03:00
Garux a1daaa2946 remove commented out code 2021-07-02 17:19:56 +03:00
Garux da55e8cbb4 * ctrl + m3/drag: also paste texture seamlessly from brush face to patch and vice versa, when face edje is adjacent to patch edje 2021-07-02 17:16:50 +03:00
Garux 133b146712 limit camera workzone renderable data amount
fixes performance with big selection + small grid
fixes crash, while scaling brush + model to zero
2021-07-02 16:55:50 +03:00
Garux 0e4a4fdcf6 * fix _castShadows > 1: cast on world, as advertised 2021-07-02 16:50:01 +03:00
Garux 4471302857 add and use BasicVector3.vec2() 2021-06-23 16:51:03 +03:00