Q3MAP - YDNAR http://shaderlab.com For bug reports, visit the Quake3World level editing forums. Version 1.2.4-y3 ** UNSUPPORTED--USE AT YOUR OWN RISK ** General features: Lighting is up to or more than 75x as fast. Radiosity. Better vertex lighting. Fixes broken brush faces. Removes most hidden brush faces. Planar patches lightmap like brushes. Sparklies at fog edges are gone. Full RTCW support, including lighting + modelscale. "_lightmapscale" entity key. New options: bsp: -nopatchfix (disables planar patch lightmap fixes for -vlight) -light: -fast enables lighting optimizations -fastgrid (only on grid calcs) -fastbounce (only on radiosity passes) -cheap more optimization at expense of color saturation -cheapgrid (only on grid calcs) -smooth subsample shadow edges for smoother shadows -bounce N radiosity, bounces light N times -bouncegrid radiosity affects lightgrid New shader parms: q3map_bounce F Bounce fraction F of recieved light. q3map_nofast Disables area light optimization for surfaces. surfaceparm lightfilter Colored shadows from translucent shaders (like vlight). surfaceparm lightgrid the bounds of this in the map determine the bounds of the map's lightgrid data. Make as small as possible around player space to minimize compile time and BSP size. ---------------------------------------------------------------- What it is: This is a fork off of the 1.2 alpha q3map for GtkRadiant. One thing special about it is that it removes faces obscured by other identical (co-incident) faces. Oh, and light is a lot faster. :) And radiosity is in. And brush windings aren't borked as much. Vertex lighting works. And surfaceparm lightfilter. And surfaceparm lightgrid. What this means: You (the mapper) don't have to caulk all those unseen faces on detail brushes. Everyone else (the people who download your map) don't have to suffer as much from your shoddy map construction. :) How to use: BACK UP YOUR CURRENT Q3MAP. I am not responsible for any damage you do to your Quake 3 or Radiant setup. Unzip and copy the q3map.exe file into the GtkRadiant directory (or wherever your current q3map is). !!! IMPORTANT: This q3map (and all future versions, including GtkRadiant q3map) require an -fs_basepath argument to find the Quake 3 (or other) game directory. The format is as follows: -fs_basepath "C:/Program Files/Quake III Arena" Change the path to suit your particular setup. If you're comfortable with batch files, you can find a generic compile.bat file here: http://shaderlab.com/mapcenter/q3map/ Note the use of / slashes and the lack of a trailing / at the end of the path. This is important. !!! Compile like usual. Your map will now take up less memory and have lower r_speeds. To compile with extra-super-fast lighting mode, run the -light stage with the -fast option. This works with -extra and -extrawide as well. Not vlight, however, as that is a entirely seperate mode. For kicks, add the -cheap option. This doesn't shave much time off compiling Q3DM17, but will help maps with a lot of white overbright areas. As of build 13, there are two new, experimental options: -smooth and -bounce. -smooth subsamples shadow edges. This produces results similar to -extra in roughly 1/3 the time of -extra. It can also be used with -extra for really smooth shadow edges. -bounce N is the very experimental in-development radiosity mode. It only diffuses light off of brush faces and is very crash prone. Will probably break on most maps as of now. To use, specify -bounce N where N is the number of light reflections calculated. The BSP is written out after each bounce, so you can cancel it at any time with Ctrl+C and check your map. To see how effective it's being, run with the -v argument. Note: The "normal" q3map can be used for vis and light. The changes to q3map only affect the bsp stage. Version history: Date Version Notes ---------------------------------------------------------------- 2001-12-03 1.2 (ydnar) Alpha Initial version (win32) 2001-12-03 1.2 (ydnar 2) Alpha Tolerance expanded (more brush faces caught) 2001-12-04 1.2 (ydnar 3) Alpha Fetail faces inside other detail brushes now culled, Small against large detail faces also culled. 2001-12-04 1.2 (ydnar 4) Alpha djbob found a bug where coincident caulk faces were causing textured faces to be caulked. Fixed. 2001-12-04 1.2 (ydnar 7) Alpha 5 and 6 were internal test versions. This version takes into account extra surface info, so coplanar clip brushes no longer cull away textured sides. 2001-12-22 1.2 (ydnar 8) Alpha Optimized light. Lighting for most maps should now be measurable in minutes as opposed to hours. 2001-12-24 1.2 (ydnar 9) Alpha Fixed light. It is still faster, but to enable "blinding fast" mode, you must supply the -fast switch on the commandline after -light. Fast mode should be approximately 2x as fast as build 8. 2001-12-24 1.2 (ydnar 10) Alpha Grid lighting is now optimized. Not as much as I would like, but a distance^2 cull before traces on EVERY SINGLE SURFACE LIGHT IN THE MAP certainly speeds things the fuck up. -fast not necessary to see this optimization. Also added the -cheap switch to limit light contributions to a point when it exceeds 255 in R, G, and B. This *may* cause artifacts. Test away... 2001-12-24 1.2 (ydnar 11) Alpha Now using PVS data (vis). Well constructed and hinted maps should now see a bit of a speedup. Lights in the void are also now removed as a byproduct. 2001-12-24 1.2 (ydnar 12) Alpha Fixed bug that caused vlight to crash. 2001-12-27 1.2 (ydnar 13) Alpha - Fixed broken PVS check. - Cheap now supresses sun Sun trace skipped if sample is "cheapened." - Experimental -smooth option for subsampling shadow edges. - Experimental radiosity code. Will probably crash. - Other minor optimizations. 2001-12-27 1.2 (ydnar 14) Alpha Build 13 always subsampled, making it slower. Fixed. 2001-12-28 1.2 (ydnar 15) Alpha Bad windings from edge- or vertex- manipulated brushes no longer created. Vertex lighting on func_* with an origin now works. Radiosity should be more stable (but not fully correct yet). Light envelopes now properly calculated for entities with origins. 2001-12-28 1.2 (ydnar 16) Alpha Un-vised maps will now light. 2001-12-30 1.2 (ydnar 17) Alpha Radiosity. Use q3map_bounce in shaders to specify amount of light to reflect. Use -bounce N after -light to enable radiosity. Use -dump to emit radiosity lights as a prefab. 2001-12-31 1.2 (ydnar 18) Alpha Normalization release. New features include -fastgrid, -cheapgrid, and -fastbounce. Running with -fastgrid and -cheapgrid will produce results identical to normal q3map (with the lightgrid being a little darker). Also added q3map_nofast to shaders to override -fast switch for a surface light. 2002-01-01 1.2 (ydnar 19) Alpha Fixed an odd vertex lighting bug (thanks Quakin) that was causing sun to leak to brush faces when using r_vertexlight ingame. Changed a little bit of the default behavior, so test with vertex lighting and with terrain. Minor shader changes might be necessary to get some maps to look as before. 2002-01-01 1.2 (ydnar 20) Alpha Colored alpha shadows. Some minor optimizations in shadow tracing. Should be slightly faster than 19. 2002-01-02 1.2 (ydnar 21) Alpha Set up colored shadows properly to use surfaceparm lightfilter. Shaders must use this parm to have colored shadows. Can be used with alphashadow as well. 2002-01-04 1.2.1-y1 (nightly) This version is all new, based off the official GtkRadiant tree, which has all the previous enhancements. New features include colored lightgrid tracing through lightfilter shaders, and surfaceparm lightgrid, for large/space maps with large volumes. Also fixed are potential broken brush winding radiosity crashes. Maybe. 2002-01-05 1.2.1-y2 (nightly) Merged latest CVS. Removed bug where ambient was getting calculated into the radiosity solution for every pass, leading to overbright maps in a hurry. Also removed the bad PTPFF reporting, as it only caused problems with radiosity in a big way. Sue me. 2002-01-05 1.2.1-y3 (nightly) I really suck. Sample color now properly cleared to 0 when bouncing. 2002-01-07 1.2.1-y4 (nightly) Particle Studio generated brush faces should no longer be culled. I no longer cull faces that are autosprite. Added -bouncegrid to have radiosity add to lightgrid. 2002-01-08 1.2.1-y5 (nightly) Same as y4, but compiled with full optimizations. Should be 10-25% faster in all, including BSP and vis stages. 2002-01-09 1.2.1-y6 (nightly) Brushfaces with polygonoffset in their shader will no longer be faceculled. 2002-01-11 1.2.1-y7 (nightly) Increased stack size for threads to 4MB on Win32 to (hopefully) elminate stack overflow crash with radiosity. Also made subdivision use the heap to lessen the stack load. Fixed bug where q3map_bounce was not being used in shader parsing. Redid some of the divide math to work in 0-255 instead of 0-256. 2002-01-11 1.2.1-y8 (nightly) More Win32 threading crutches. Eat me, Bill. 2002-01-15 1.2.1-y9 RR2DO2 noticed a stupid bug in my PVS code. Fixed it, so the PVS light opts work as they should. Lighting is faster. Also got rid of some redundant square roots from the raytracing, speeding up lighting another ~25%. 2002-01-20 1.2.1-y10 Fixed a potential crash bug with maps with 0 lights. Also changed how lightmaps are projected onto patches that lie in a single plane (bevel endcaps, floors, etc). Shadows now work properly on them. 2002-01-22 1.2.1-y11 Fixed a divide-by-zero crash with maps with no lights or no tracing. Also added code to make brush/patch vertex lighting more closely resemble lightmap, even on less-than-perfect maps. And -light is faster, too...about 25% on q3dm17. 34->25 seconds. 2002-01-24 1.2.1-y12 Completely rewrote the path argument handling. Should find the Quake 3 dir and other dirs properly now. Needs to be tested on Linux though. Also made lights linear by default when run with -game wolf. This is to match the Gray Matter q3map and entity definition. 2002-01-28 1.2.4-y1 Merged from 1.2.4-nightly CVS sources. Fog sparklies gone. -nopatchfix so vlight works properly again. Cleaned up paths processing some more, including Linux stuff. Added _lightmapscale entity key. Brought -game wolf lighting to parity with GM tools. RR2DO2's PCX loading fix. A bunch of other useful fun shit. 2002-01-29 1.2.4-y2 Fixed a bug in RR2DO2's PCX fix. Fixed a stupid bug in lightmap dimension bounds checking (thanks Laerth). 2002-01-29 1.2.4-y3 Now will detect (and report to GtkRadiant) all degenerate patches like those created by capping a cone. Blah: Shouts to K, djbob, MrD, AstroCreep, RR2DO2, and TTimo. ---------------------------------------------------------------- Quake 3 copyright 1999 Id Software: http://www.idsoftware.com ** This is not an Id product ** GtkRadiant: http://zerowing.idsoftware.com QERadiant: http://www.qeradiant.com Technical support: http://www.rtfm.com