Q3Map 2.5.2
Win32 (x86) - Linux (x86) - Darwin/Mac OS X (PPC) (2.3.36) - Readme
Yeah, I know. It skipped a few versions. 2.4 was supposed to have full SOF2/JK2 support, but priorities got adjusted.
Radiosity and lighting in general should be much faster on certain types of maps. The best part is the arbitrary shadow control in the new raytracing code. Big changelog follows:
2.5.2 (2003-02-18)
- Fixed crash bugs with global map fog
- Model loading really only warns once now
2.5.1 (internal release)
- Added more Hella-Fast juice to light code. Overall should be 35% faster
- Refactored surface portion of raytracer code for less memory usage
- Changed UVW epsilon in raytracer to catch more edge cases
- Removed bounds check on occluded luxel finding, was causing more problems
than it was solving- Adaptive antialiasing code now ignores unmapped luxels for better shadow
edges and higher performance- Brushes in the BSP are now sorted opaque first
- Fixed Really Stupid bug causing MapRawLightmap to take about 4x as long
- Added optimization to make MapRawLightmap 2x as fast
[b]- New non-sucky quadrilateral subdivision of patches for MapRawLightmap- Patches with < 90 degrees of curvature are now box-lightmapped
- Patch vertex normals now correctly stored, fixing bug in 2.5.0[/b]
- Prints warning if map with < 10% detail brushes is detected
2.5.0 (internal release)
RAYTRACING AND SHADOW CALCULATION
[b]- New raytracing code. Rewrote the raytracer to maximize efficiency on modern
“caulk-hull” maps. Uses triangle intercept code written by SPoG, based on code
by Tomas Moller and Ben Trumbore (Journal of Graphics Tools, 2(1):21-28, 1997)
and a biased octree leaf subdivision scheme by Y.T.
- Shadows (casting and receiving) are now controllable per-entity
New entity keys: “_castShadows” or “_cs” and “_receiveShadows” or “_rs”
Values: 0 = no shadows, 1 = worldspawn shadows, > 1 explicit shadow group,
negative values imply no worldspawn shadow interation.
Entities, including model2 and RTCW misc_gamemodels can now cast shadows[/b]RADIOSITY
- Bumped up default and smallest radiosity patch size. Performance should be
approximately 4x with a small quality tradeoff
- Radiosity patches now trace to centroid of triangle, and not bounds center
- Radiosity and surface lights are now nudged around a bit if in solid
- Radiosity light generation code is now thread-safe
- Radiosity -dump files now .map instead of .pfb
- Poorly worded “q3map_bounce” renamed to “q3map_bounceScale” (old still works)
- New -bounceonly switch to store only bounced light in the BSP (for Tenebrae)
MISC LIGHTING
- Optimized case where light and sample are coplanar
- Forcing nudged luxels to stay within lightmap surfaces’ bounds
CURVED SURFACES
[b]- New -subdivisions N argument, works with -patchmeta and -light for setting
patch level-of-detail. Default value is 8, use 4 to simulate default Q3
- All patch tesselation code changed to create x-patterned tesselation for
better lighting- Storing patch LOD info in the .srf file for better patch light/shadows[/b]
FOG
- Reworked fog code to fix bad interation with fog and clipped models
MODELS
- Entities with attached MD3/ASE misc_models now have their bounds correctly set
- Attached misc_models now support q3map_clipModel for solidity
- Missing models will only warn once, rather than spew errors
MISC
- Metasurface merging no longer folds nonplanar triangles into planar surfaces
and vice-versa *
- Fixed Really Stupid Bug where entity numbering was not loaded by lighting code
resulting in lightmaps merging across entity boundaries *
- Might result in slightly larger BSP. For maximum efficiency, ungroup
func_group entities before doing a final compile
y





