Q3Map 2.5.2 "The Big Lebowski"


(ydnar) #1

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. :slight_smile: 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


(pazur) #2

wow :wink:

edit:

lightgrid brush is ignored. no matter how big the brush is, the lightgrid size from -info stays the same.


(U.S.S. Speed) #3

Wounder, what does it need to have a mac port?


(Danne) #4

Poor Speed, still stuck with 2.3.36… :smiley:

j/k Speed


(Gonk) #5

God I love you… :slight_smile:


(Matt) #6

Add this… It doesn’t crash anymore.

-Fixed crash related to radiosity and ntdll.dll


(U.S.S. Speed) #7

I mean, if I get the source code, can I compile it to work on Darwin? Or does it require major change on the code to work on mac?


(Emon) #8

Well that’s all fine, but you need to add lightstyles… please…it’s so simple…


(Matt) #9

Lightstyles? You mean like what quake 2 had, like flicker, etc?


(Emon) #10

Yes, for JO/SoF2. SoF2Map supports them, but not Q3Map2…yet.


(shadowspawn) #11

ok this is pre 2.5 using func_'s and shaders with lightmapscale:

and this one is with 2.5, same compile switches.

not to mention all my bump mapping just went away.

so this new key for shadows, do i need to go and revisit all the func_'s and add new keys to them?


(Matt) #12

If he makes it, I hope they are completely variable based… Like I could add a light entity, and in it’s properties have some new command like “func_light_flicker” and set the number to 1 for 1 flicker a second or .1 for 1 flicker in 1/10th of a second. There should also be “func_light_fade” and “func_light_interactive” which could be connected to a button or event to have a light switch.


(cloudscapes) #13

“For maximum efficiency, ungroup
func_group entities before doing a final compile”

For buildings where a player can freely move in and out of, I usually group all the walls in each axis together. (one func_group for walls facing z, one group for walls facing x, and one for y) This to prevent light bleeding. Is the difference in efficiency really big in that I should absolutelly ungroup everything? I really hate light bleeding. :stuck_out_tongue:


(Valhue2) #14

wait a minute here… if func_group entities are allowed to have specific light style variables, such as lightmapscale… if you ungroup them “For Maximum efficiency, ungroup func_group entities before doing a final compile” then wouldnt they loose their ability to take commands set inside the editor? such as lightmapscale and the like…

Im a bit confuzibobliated…

V^2


(Emon) #15

I think he means func_groups that aren’t used for anything.


(ydnar) #16

I do. :slight_smile:

Ungroup any func_groups that were there for convenience only, so the BSP can be as efficient as possible. Any func_groups you created for lightmap scale or to fix light leaking, leave alone.

y


(cloudscapes) #17

rrrock. thats what I was hoping to hear. thx! :slight_smile:


(Valhue2) #18

ok… thanks for clarifying that up…

V^2


(Axedup) #19

Nice 1 :clap: :clap: ,well Im a prime candidate here.

Ive just had a nice windows, quake 3, rtcw, GTK, q3map reinstall and if anything weird happens, I should be able to locate the probs. But Its all gone very well so far… :drink:

Back soon :wink:

Axedup


(Axedup) #20

Hmmm, I might just be a little stupid or I’ve found a problem.

I cant seem to select group entities anymore. (ie. terrain) and grouped brushes. They only can be selected by their individual brushes.

:eek:

Is there a quick fix for this?

An if its a setting can it be switched on / off ? :slight_smile:

Thx

Axedup