Commit graph

595 commits

Author SHA1 Message Date
Ragnvald Maartmann-Moe IV
9cd16b8dfd Grievre's lighting patch, plus some of my own changes.
My changes:
Emit normals if truform is enabled.
Attempt to avoid 0,0,0 normals (makes lighting & tesselation unhappy).
Fix some (ancient) apparent bugs in GetAliasFrameVerts16().
Clamp minlight, instead of adding it.
Apply colormod as glColor, rather than adding it to emission, to prevent QSG2
 issues with fullbrights.
Rearrange init code, and don't go quite as wild with responsiveness to lights.

Material & lightmode settings will need tweaking & testing to work well on all
 cards. Feedback needed there.
2004-03-10 08:14:38 +00:00
Chris Ison
68a1a50f1f fix for gl_overbright init order bug, maybe Despair can come up with a better way 2004-03-08 18:42:42 +00:00
Ragnvald Maartmann-Moe IV
b7df0b5278 Remove gl_doublebright, remove fractional overbrights, clean up init a bit,
uglify init a bit. Stuff for taniwha to look at. Nothing to see here, move
along.
2004-03-07 23:51:29 +00:00
Bill Currie
cd1fc18ea4 gl_lightmap_subimage 2 now works, but only if using r_lightmap_components 4
(with dri, anyway, ymmv).
2004-03-05 21:53:34 +00:00
Bill Currie
2955fac550 first step of centerprint/finale cleanup. fixes the misplaced text for
end-of-episode text
2004-03-01 23:47:39 +00:00
Ragnvald Maartmann-Moe IV
58d67f9a75 Lighting init fixes. 2004-02-29 04:50:01 +00:00
Ragnvald Maartmann-Moe IV
fde6e5bf61 Reduce ifs a bit, clean up init a bit. Minor problem with gl_doublebright. LIH. 2004-02-29 01:49:41 +00:00
Ragnvald Maartmann-Moe IV
e29e469646 Multitexture state fix. Harmless so far, but testing carefully helps us avoid
state leak horrors.
2004-02-27 21:42:52 +00:00
Ragnvald Maartmann-Moe IV
8c6cc34f83 Fix overzealous optimization which did interesting things to lightmapping when
not using multitexture.
2004-02-27 21:36:41 +00:00
Ragnvald Maartmann-Moe IV
cdb02edc88 Make whitespace consistent. yay. 2004-02-27 15:49:15 +00:00
Ragnvald Maartmann-Moe IV
6059c7b4df ...space 2004-02-27 08:51:26 +00:00
Ragnvald Maartmann-Moe IV
997f5feabe Tiny bit of loop unrolling. 2004-02-27 08:29:56 +00:00
Bill Currie
228c5a0ecf don't bother binding unmodified lightmaps 2004-02-26 00:33:24 +00:00
Ragnvald Maartmann-Moe IV
beeb1822b3 Fix multipass skydome rendering. Not sure layer speeds are right, but at least
they move at different speeds like they are supposed to.
2004-02-24 20:53:09 +00:00
Ragnvald Maartmann-Moe IV
44c89c1904 Optimize fullbright testing for brushes, assorted other cleanups, test for
functions built into current GL drivers, as well as the old extensions, and
add incorrectly rendering BGRA support.
Whee!
2004-02-24 20:50:55 +00:00
Bill Currie
680c246e22 the inline went wandering by mistake. gives a tiny (< 0.5%) gain, but a
gain none the less
2004-02-23 04:46:55 +00:00
Ragnvald Maartmann-Moe IV
496025473c Remove no-longer needed parameters from function calls. 2004-02-23 04:25:53 +00:00
Ragnvald Maartmann-Moe IV
872498a1f0 Reorder a lot of code, removing tons of ifs. multitexture paths are a bit more
sane now. Also optimize QSG2 color handling, and fix some QSG2 bugs. Not that
anyone cares, nobody uses it anyways.
Should be faster, but isn't here. *grmbl*
2004-02-22 06:00:15 +00:00
Chris Ison
e9d57e0401 Grievres' non-mtex FB being brighter than mtex FB fix. Note: it breaks non-RGBA replacement textures 2004-02-21 10:33:43 +00:00
Chris Ison
ca6112767c Grievres' water HOM and mtex FB only rendering FB texture fix 2004-02-21 09:04:52 +00:00
Ragnvald Maartmann-Moe IV
5157f668ad Fix a bunch of state leaks that made multitextured fullbrights smear the world.
Now just have one (known) issue with bmodels with fullbright textures not
rendering their base texture. Floating fullbrights are nifty!

Also a number of optimizations, which need wider performance testing.
2004-02-21 05:36:19 +00:00
Ragnvald Maartmann-Moe IV
1cd0ba3f8f Pale void. 2004-02-20 22:50:47 +00:00
Ragnvald Maartmann-Moe IV
79689baa83 Grievre's crash fix. 2004-02-15 19:56:28 +00:00
Ragnvald Maartmann-Moe IV
e43129316b Slightly reorder cases for legibility. (decreasing order instead of random). 2004-02-15 19:55:59 +00:00
Bill Currie
2d2173dc4e make R_RecursiveWorldNode non-recursive (needs a new name, now :). 0.4%
speedup in null-renderer gl: unknown for sw and sw32 (could be slightly
slower, left recursive version in but #if 0ed out jic)
2004-02-15 03:46:55 +00:00
Chris Ison
6642686e33 removal of legacy MGL block_drawing variable. Fixed window restore bug that prevented the screen from being updated. 2004-02-15 03:40:50 +00:00
Ragnvald Maartmann-Moe IV
fef9b30bd7 QF, now complete with underbrights, thanks to Grievre.
Play with gl_overbright and gl_doublebright. That's an order.
2004-02-15 00:02:04 +00:00
Ragnvald Maartmann-Moe IV
0dae958a5a Grievre's fix for texture state leak. 2004-02-14 19:17:51 +00:00
Timothy C. McGrath
b5b61d056f Grievre passed a one line patch to me which according to his description:
"Fixes a bug in dynamic lights (lightstyles weren't being rendered correctly
due to bad assumptions about dlightbits)"

It compiles fine, and seems to work, so, here it is.

Hikaru
2004-02-14 08:36:08 +00:00
Bill Currie
d35f027757 undo my incorrect commit 2004-02-14 07:39:43 +00:00
Bill Currie
2cdf12cd50 if a leaf isn't in the frustum, don't bother lighting it 2004-02-14 07:32:26 +00:00
Bill Currie
85a268c62f Grievre's lightmap/fullbright multitexture patch (fbs not tested due to
lack of drivers supporting 3 tmus)
2004-02-14 05:10:29 +00:00
Bill Currie
a97b722d7b get the placement of the nice crosshairs right. make cs_data a square to
avoid weird mapping effects
2004-02-14 00:18:22 +00:00
Bill Currie
f34335a0c9 provide a builtin to draw a crosshair. 2004-02-13 23:16:33 +00:00
Bill Currie
4cabb40303 break the crosshair draw code into separate functions and give sw and sw32
crosshair 3
2004-02-13 22:16:53 +00:00
Ragnvald Maartmann-Moe IV
88c5d21ece Whitespace, slight code reorder in gl_rmain.c 2004-02-09 04:13:44 +00:00
Ragnvald Maartmann-Moe IV
c4402e07bd Working towards merging q2 model, sprite, and map support. Check back in a few
years, might be finished. ;)
2004-02-08 02:49:38 +00:00
Bill Currie
8ea7690530 serious cleanup of refdef calculations. 2004-02-08 00:37:11 +00:00
Bill Currie
9784ba5954 Grievre's gamedir callback patch to fix mangled sounds on gamedir change
plus a couple minor tweaks I notcied needed doing.
2004-02-03 03:01:06 +00:00
Ragnvald Maartmann-Moe IV
e1146a541c TruForm support. Controlled by gl_tessellate 2004-01-26 00:13:47 +00:00
Bill Currie
40b8974c33 better external skin handling from Grievre 2003-12-28 05:25:06 +00:00
Ragnvald Maartmann-Moe IV
9dbb8335f6 Fix loading of some sky textures. 2003-12-23 22:24:48 +00:00
Ragnvald Maartmann-Moe IV
1269241612 Make particle effects not mess with stuff they shouldn't. Also fix an
improperly declared variable.
2003-10-22 22:21:39 +00:00
Ragnvald Maartmann-Moe IV
2290ed3d3e l = 64, and taniwha is much happier. 2003-10-22 20:20:24 +00:00
Ragnvald Maartmann-Moe IV
5686ff51e5 Make R_DarkFieldParticles & R_EntityParticles work in all renderers. 2003-10-22 06:00:36 +00:00
Ragnvald Maartmann-Moe IV
dc84232079 Whitespace, remove misleading .png extension from external conchars loader. 2003-09-20 04:29:42 +00:00
Bill Currie
d699926e6f external conchars patch from DrSpliff 2003-09-19 06:22:02 +00:00
Bill Currie
89586e0181 don't flush garbage to the screen on the first render frame 2003-09-05 06:55:12 +00:00
Bill Currie
2b5a3753ca nuke QF/texture.h moving it's contents into QF/image.h (yay, finally, a
real home for tex_t:)
2003-09-04 18:59:39 +00:00
Bill Currie
39ed540979 LoadImage is now used for all external textures giving almost transparent
.png and .tga support.
2003-09-04 18:46:59 +00:00
Bill Currie
8db2660a4c make GL_LoadTexture support RGB textures (ie, 24 bit). I'm not happy with
the solution, but at least it works.
2003-09-04 05:22:23 +00:00
Bill Currie
f7b1196b8d fix the gl stack overflow (and make sure all skybrush surfaces get checked
and queued)
2003-08-28 19:50:28 +00:00
Ragnvald Maartmann-Moe IV
c2053fbfb1 Prettier particles! Renderer is now informed of sv_gravity changes in qw. Not
supportable without protocol changes in nq.
2003-08-27 22:20:03 +00:00
Bill Currie
415fae8d6b make the two normals arrays consistent 2003-08-26 07:00:13 +00:00
Ragnvald Maartmann-Moe IV
d8068de4fa Commit experimental particle optimization. Reduces random particles from using
6 15 bit rand() to 2 calls, with 5 bits for each of the 6.
This is up to a 1% speedup for qf particles, and up to 2.1% for id.

It may particularly affect explosions with r_particles_style 0.
Please report any anomolies in any particle effects.
2003-08-15 20:26:09 +00:00
Ragnvald Maartmann-Moe IV
9ed8150b85 More particle optimizations. 2003-08-11 20:48:34 +00:00
Bill Currie
7ead5a91f8 don't let gcc automaticly inline functions but make gcc inline bigger
functions when told to. also make gcc warn if it can't inline a function.

Explicitly inline several functions (including moving VectorNormalize to
mathlib.h so it /can/ be) resulting in a 5.5% speedup for spam2 (88 to 92
fps)
2003-08-11 06:05:07 +00:00
Bill Currie
b88d275994 fix some warnings 2003-08-11 05:16:04 +00:00
Ragnvald Maartmann-Moe IV
f35b1db291 Fix a potential uninitialized variable segfault taniwha noticed, and optimize
particle effects a bit more.
2003-08-09 04:38:11 +00:00
Bill Currie
6a94607d9d rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +00:00
Bill Currie
184aa7beb0 should be a minor speedup to mono lightmaps 2003-08-07 21:05:58 +00:00
Bill Currie
732a9a80d1 gain about 3 fps (180 to 183) in null-renderer 2003-08-07 19:58:39 +00:00
Bill Currie
6063fb75d9 make the console run at full speed no matter what demo_speed is at. what a
lot of work for such a simple concept :P
2003-07-25 22:21:47 +00:00
Bill Currie
772ad66019 don't need that any more (yay:) 2003-07-15 17:41:31 +00:00
Bill Currie
855fc53709 handle alloca properly 2003-07-09 06:28:09 +00:00
Bill Currie
dddf045221 put "FIXME: overflow" on all the char arrays I could find that weren't
obviously safe
2003-07-08 20:11:10 +00:00
Bill Currie
c2c3a62956 nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
cache the value.

don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).

rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.

make sw32 screenshots actually get written.

hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +00:00
Bill Currie
ba3601685c wad pics don't have extensions (plugs a buffer underflow hole) 2003-05-16 19:44:25 +00:00
Brian Koropoff
dd0332632e Make gcc2 stfu. 2003-05-15 04:37:00 +00:00
Brian Koropoff
e2061095a6 Fixed .tga loading for GL targets. SW targets still need work in all
likelyhood.
2003-05-14 21:08:43 +00:00
Ragnvald Maartmann-Moe IV
6763d73f99 Make glError testing static, for now, to shut up compiler warnings. 2003-05-09 05:22:30 +00:00
Ragnvald Maartmann-Moe IV
f6b556a3a1 *beats CVS with the cluebat* 2003-05-09 01:41:56 +00:00
Ragnvald Maartmann-Moe IV
d68b4b6121 \n is nice occasionally. 2003-05-08 22:32:02 +00:00
Ragnvald Maartmann-Moe IV
28dd1612c3 Clean up glError handling. 2003-05-08 22:16:30 +00:00
Bill Currie
f842d98964 initialize noise1 2003-04-22 01:37:13 +00:00
Bill Currie
905f1826eb temporarily remove location support from nq (and location markers from both)
until client code has been cleaned up more
2003-04-21 18:26:21 +00:00
Bill Currie
eb099ae0d3 make qf gcc 3.3 clean 2003-04-17 00:01:48 +00:00
Bill Currie
01bff9c79e WildCode's alias model VA prepatory patch 2003-04-08 04:13:49 +00:00
Bill Currie
e483333bbe beat the skydome bugs to a pulp. no more seam (and probably a bunch faster
on slow cards)
2003-04-05 07:59:29 +00:00
Bill Currie
6cc7d43b53 make the texture coords in skyvec always 1/2 pixel in from the edge 2003-04-04 07:00:51 +00:00
Bill Currie
e00966b319 speed up 16 bit vertex lerping by getting GL to do the 1/256 scaling for us 2003-04-03 23:09:43 +00:00
Ragnvald Maartmann-Moe IV
8db859b77c Minor bit of neatening, remove CHAIN_SURF alias, so it's clearer what is being used where. 2003-03-25 07:25:22 +00:00
Ragnvald Maartmann-Moe IV
6c7701a38b Prevent bad gl_max_size settings from causing buggy drivers to freak out. 2003-03-24 20:21:24 +00:00
Ragnvald Maartmann-Moe IV
3bfdf0aea3 Test for gl errors every frame. 2003-03-21 21:28:09 +00:00
Ragnvald Maartmann-Moe IV
88c2735d9c Make sprite rendering use vertex arrays, as a test for detection of vertex array support (tests only for OpenGL 1.1 or better, at the moment, no driver blacklist yet). 2003-03-20 19:58:18 +00:00
Ragnvald Maartmann-Moe IV
a9c61bb6bf Updated for OpenGL 1.4, plus whitespace. 2003-02-25 05:45:11 +00:00
Bill Currie
6a687f5e45 rename all the globals in quakefs.[ch] to be QFS_* or qfs_* 2003-02-14 19:46:07 +00:00
Ragnvald Maartmann-Moe IV
a34980eda5 Fix easter_egg toggling. 2003-02-14 00:58:22 +00:00
Ragnvald Maartmann-Moe IV
6d6fade23a Change mach64 test to only happen at particle system inits, rather than testing for every individual particle injection.
Mach64 now gets id particle effects. Disabling the majority of effects isn't the best method, IMO.
2003-02-13 21:48:28 +00:00
Bill Currie
4bd1718475 re-arrange viewsize handling to fix the hud bug in glx 2003-02-11 21:24:27 +00:00
Ragnvald Maartmann-Moe IV
83f0901c17 Cleaned up fisheye code which totally ignored QF coding style.
Also attempt to fix an init bug in R_InitFishEyeOnce (add gl_cube_map_capable = false to else).
2003-02-09 19:35:49 +00:00
Bill Currie
3ab4eb6545 Arkadi's mach64 patch 2003-02-06 21:47:33 +00:00
Bill Currie
d63cde4103 import the GL_ARB_texture_cube_map defines 2003-01-15 18:26:58 +00:00
Bill Currie
0ea15c3f82 sw and gl fisheye patches from Arkadi Shishlov (arkadi@it.lv). I don't
think /I/ can play that way (dizzy:)
2003-01-15 16:53:34 +00:00
Bill Currie
761a7546dd re-arrange things so __attribute__ and __builtin_expect are properly
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Ragnvald Maartmann-Moe IV
d2820cd857 Reduce code duplication, kill a function used by only one caller.
Also disables a workaround for "interpolation seams" that I believe to be an old DRI bug. If anyone has skybox (not dome!) seams, try altering the ftc `if 0` to `if 1`.
2003-01-07 22:12:54 +00:00
Bill Currie
71196fedf6 make gcc more anal about prototypes, string constants and function
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
8a2fbf43a7 alphageek's crosshair patch modified so it's crosshair 3 (need to port this
to the sw renderer's:/)
2003-01-03 03:36:45 +00:00
Bill Currie
37c5bb6ec6 merge the bulk of the three screen files into r_screen.c so all common code
is shared.
2002-12-11 17:34:48 +00:00
Bill Currie
bf3fa3dc76 remove some dead code and a lot of unnecessary diffs 2002-12-11 16:45:40 +00:00
Bill Currie
ca55210c6e remove some redundant steps 2002-12-11 05:46:42 +00:00
Bill Currie
88f7b9ae84 it's rgb, not rbg 2002-12-11 05:33:54 +00:00
Bill Currie
15655c23cd get snaps working properly 2002-12-10 18:24:38 +00:00
Bill Currie
7da551d044 the output is rather mangled but the client no longer crashes 2002-12-10 05:04:30 +00:00
Bill Currie
de7299a64f don't crash when doing a remote screenshot 2002-12-09 17:47:12 +00:00
Bill Currie
ca4b3acd6c big protototype cleanup. Now, except for a few cases, all non-static
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Ragnvald Maartmann-Moe IV
00b798c5b6 MORE whitespace. Will it never end? 2002-10-10 20:12:32 +00:00
Ragnvald Maartmann-Moe IV
0b0f9ee371 More whitespace. 2002-10-10 20:03:23 +00:00
Ragnvald Maartmann-Moe IV
ef47bf6e12 gl_skymultipass -> gl_sky_multipass. Much nicer tab completion. 2002-10-10 19:49:36 +00:00
Ragnvald Maartmann-Moe IV
998d68a833 In GL, have r_speeds 1 display particle count. 2002-10-02 04:15:23 +00:00
Bill Currie
9aa84f4ead case i has 7 visits, not 6 :P 2002-10-02 01:58:29 +00:00
Bill Currie
3d668334e6 copy that fix for the other renderers 2002-09-30 21:35:13 +00:00
Bill Currie
b0629d24fa handle the new case Despair discovered. 2002-09-23 06:18:48 +00:00
Ragnvald Maartmann-Moe IV
a9b16f5de5 Tweak ramp decay on new spark shower. 2002-09-17 05:13:13 +00:00
Ragnvald Maartmann-Moe IV
d6a2b54252 Use ramps for spark showers, so they fade in color as well as alpha.
Lightning doesn't have a ramp, so it doesn't use this feature yet.
2002-09-17 02:14:58 +00:00
Bill Currie
f7b4dffcc0 get larger player skins working in gl 2002-09-13 05:32:28 +00:00
Ragnvald Maartmann-Moe IV
2a8896d4a1 Grr, what's with cvs today? 2002-09-13 01:08:21 +00:00
Bill Currie
9f6f50699d remove vid_basepal, creating vid.palette (current palette) and host_basepal 2002-09-10 03:51:10 +00:00
Bill Currie
f6ab24e6bc min-clamp ambientcolor instead of shadecolor. should make for more visible
players
2002-09-09 23:06:08 +00:00
Ragnvald Maartmann-Moe IV
c4609f5195 Experimentally allow external texture loading. Also prevent loading RGB textures as RGBA, which wastes a lot of texture memory, and looks ugly on 16bpp boards. 2002-09-06 21:37:22 +00:00
Ragnvald Maartmann-Moe IV
92db391e7c Optimize model rendering a hair. WildCode spotted that minimum shade was only being applied to the view model (why do we set it up for other stuff if it's not going to be used?). While looking at that, I noticed we could do the divide by 200 in model setup. 2002-09-01 23:45:22 +00:00
Bill Currie
ec47e08e1c go back to using QFile, quakeio.h and quakefs.h 2002-08-27 07:16:28 +00:00
Ragnvald Maartmann-Moe IV
d11fbc0b5c Change from if/else if/else function for setting scale in a number of particle effects, to scale = pow (count, 0.23). Smooth particle size changes with varying count, and doesn't seem any slower in my benchmarks. 2002-08-26 00:11:16 +00:00
Ragnvald Maartmann-Moe IV
ff03367bc2 Whitespace and comment cleanups. 2002-08-25 05:55:28 +00:00
Ragnvald Maartmann-Moe IV
7bf21e20ed Use R_CullSphere for rotated bsp models. 2002-08-23 21:14:43 +00:00
Ragnvald Maartmann-Moe IV
aa85219dc4 Commit R_CullSphere use for alias models. Only a 3.3% speed hit for me, and should quiet "foo is disappearing" whinging. 2002-08-23 04:09:00 +00:00
Bill Currie
c44ec1993d handle up to 512x512 map textures /properly/. would be nicer if the max
could be dynamic
2002-08-22 19:00:55 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea Rename Length to VectorLength. 2002-08-20 02:22:40 +00:00
Ragnvald Maartmann-Moe IV
32a85e7130 Clipping cleanups.
Calculate radius for alias models as well as brush.
Culling is no longer optional on alias models (was only ever disabled for viewmodel, which is a lot of extra effort to avoid clip testing 1 thing out of hundreds).
Clip QSG2 scaled alias models with a scaled bbox.
2002-08-20 00:48:59 +00:00
Bill Currie
55cdde81da rename clmodel to model 2002-08-19 04:15:46 +00:00
Bill Currie
b1a180b25e move the view model check for min_light into the model loader (checks for
progs/v_*)
2002-08-19 04:05:02 +00:00
Bill Currie
1a0cf8d1f4 remove some redundant/incorrect code 2002-08-14 06:28:38 +00:00
Bill Currie
7ed7938b1c get colored lighting working reasonably well 2002-08-14 05:45:50 +00:00
Bill Currie
2abaf27cdc attempt to fix the dark models at centers of dlights 2002-08-12 15:36:52 +00:00
Bill Currie
8e97d6279a first stab at colored alias model lighting 2002-08-12 06:14:55 +00:00
Bill Currie
4123d74e5e don't segfault when a surface uses the `null' texture (r_notexture_mip) 2002-08-09 06:07:25 +00:00
Bill Currie
cbde41c669 damnit! 2002-08-08 04:41:41 +00:00
Bill Currie
3baec9e856 clean out the dead mtex code 2002-08-08 04:27:49 +00:00
Ragnvald Maartmann-Moe IV
f773e1fa36 Minor alias model rendering speedup. 2002-08-03 07:07:23 +00:00
Ragnvald Maartmann-Moe IV
10c3f91a24 Revert taniwha's broken-radeon workaround. 2002-08-03 07:07:00 +00:00
Bill Currie
9c08f5b169 fix a typo that caused weirdness with the lerping 2002-08-03 06:13:35 +00:00
Ragnvald Maartmann-Moe IV
97d6f46f75 Speed up 16bit coord alias models a bit. (only one VectorScale per vertex now) 2002-08-02 18:07:53 +00:00
Bill Currie
2ce0f2ded2 we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Ragnvald Maartmann-Moe IV
587de27849 Another step towards QSG2 compliance. 2002-07-25 14:43:36 +00:00
Ragnvald Maartmann-Moe IV
4ed68266ea Speedup when r_waterripple = 0, and small speedup to texture coordinate calculation. 2002-07-25 14:01:36 +00:00
Ragnvald Maartmann-Moe IV
d3fc8c5fb6 No need for function pointers on R_AddDynamicLights_*, they are never called from outside the R_BuildLightMaps_* function that matches them.
Nice spotting, taniwha!
2002-07-24 15:30:28 +00:00
Ragnvald Maartmann-Moe IV
85c7e43aef Split lightmaps off from surface drawing. 2002-07-23 19:57:47 +00:00
Ragnvald Maartmann-Moe IV
d297c2b3a3 Colormod & alpha for brushmodels, excluding skypoly emittors. 2002-07-07 06:15:36 +00:00
Ragnvald Maartmann-Moe IV
edc4e27124 Minor order fixup. 2002-07-07 02:34:48 +00:00
Ragnvald Maartmann-Moe IV
a49177c605 Merge a few more lines into queue_character, and prepare for optimizing gl Draw_nString. 2002-06-28 17:47:26 +00:00
Ragnvald Maartmann-Moe IV
fd1ded5c4a Add r_nearclip and r_particles_nearclip. Also put some limits on r_farclip. And fix id's insane max and min float, and some minor improvements in frustum setup in GL. 2002-06-26 22:20:12 +00:00
Ragnvald Maartmann-Moe IV
e6e11af426 Move the contents of gl_funcs.c out of the renderer, and into targets where they belong. Also some cleanups. -sgl target is temporarily broken, all others should work. 2002-06-24 21:35:37 +00:00
Chris Ison
70d8026067 Removing -3dfx's dependancy on clide 2002-06-24 15:56:01 +00:00
Ragnvald Maartmann-Moe IV
c8bc5dfb4c QSG2 glows almost working. Plus lots of typos killed. 2002-06-18 21:41:24 +00:00
Ragnvald Maartmann-Moe IV
c25cfe6c9e A couple extra glFinishes a frame just aren't good for performance, even if they are a handy workaround for taniwha's text rendering bug... 2002-06-18 15:40:30 +00:00
Bill Currie
1486c97b8f move the vertex setup and va flushing code into inline functions, killing a
lot of duplicate code. Performance is not harmed :)
also some whitespace
2002-06-18 04:13:46 +00:00
Ragnvald Maartmann-Moe IV
00f5d82a86 Make wizard spike hits visible, plus a couple minor cleanups. 2002-06-15 10:54:26 +00:00
Ragnvald Maartmann-Moe IV
2a4f2a77fb Whitespace. 2002-06-15 10:52:14 +00:00
Bill Currie
b65c96ad99 don't call draw_z_sky_polys for modes that don't need it 2002-06-14 19:25:32 +00:00
Ragnvald Maartmann-Moe IV
eaf0f90c2f Undo thinko. 2002-06-14 06:23:11 +00:00
Ragnvald Maartmann-Moe IV
c7432caf2e Fixes to shadow rendering, plus get QSG scale working for alias models. Which breaks viewmodel rendering until we figure out how that is escaping getting scale set. 2002-06-14 06:08:45 +00:00
Ragnvald Maartmann-Moe IV
f12af8a3d4 Minor cleanup/optimization of sprite model rendering. 2002-06-14 06:06:38 +00:00
Ragnvald Maartmann-Moe IV
463ac44d9f Minor optimization for shadows, and make translucent objects have shadows matching their alpha. 2002-06-14 04:14:52 +00:00
Ragnvald Maartmann-Moe IV
942bf55c06 Flush console text before rendering menus, and a tiny optimization to fullscreen blend rendering in GL. 2002-06-13 22:51:43 +00:00
Ragnvald Maartmann-Moe IV
10d7d17fcc Use vertex arrays for text. Another 1-3% speedup. 2002-06-13 05:24:52 +00:00
Ragnvald Maartmann-Moe IV
ceb73449bb Order of operations cleanup, QSG2 alpha is now colormod[3] in entities. 2002-06-07 11:25:47 +00:00
Ragnvald Maartmann-Moe IV
46949068a2 Check return value on R_AllocDlight. Small optimization, people cutting r_dlight_max heavily should like it. 2002-06-05 22:07:38 +00:00
Ragnvald Maartmann-Moe IV
0552d31b0b Minor optimization. 2002-06-05 06:46:21 +00:00
Ragnvald Maartmann-Moe IV
0bce2d0f2e Add QSG2 colormod, alpha, and scale for sprites. Probably not used by anything, but there you go. 2002-06-05 05:56:13 +00:00
Bill Currie
bebf3f9599 massive speedup to noise_diamondsquare (not that it /really/ matters:) 2002-05-28 05:34:06 +00:00
Bill Currie
f3132162ae speedup r_lightmap_components 3 by ~4.2% in null-render 2002-05-28 03:49:13 +00:00
Bill Currie
101d38bd0c two win32 fixes for gcc 3.1 2002-05-28 03:33:03 +00:00
Bill Currie
acdd37b381 this seems to give ~2.9% speed boost to overkill for null-render 2002-05-28 00:04:01 +00:00
Ragnvald Maartmann-Moe IV
802bcc2762 Another 0.657% speedup for greyscale lighting. Unfortunately, at a price of considerable code duplication. But this is necessary for other planned changes. 2002-05-26 08:56:48 +00:00
Ragnvald Maartmann-Moe IV
6c8e2c24aa *grumbles about old gcc* 2002-05-26 07:07:10 +00:00
Brian Koropoff
75ec7de2f5 This better actually fix the lightmap code. 2002-05-25 21:55:34 +00:00
Brian Koropoff
ddd96312b1 Removed useless dereferencing. With any luck I understand what despair's
code is supposed to do this time.
2002-05-25 20:04:42 +00:00
Ragnvald Maartmann-Moe IV
b7900a2c43 Undo snax's order of operation breakage, and fix the typo that broke lightmap merging for r_lightmap_components 1.
The real problem with greyscale lighting, is in brush model loading. It'll probably take me a while to sort it out, since taniwha didn't get to it before taking off for the weekend. Sorry...
2002-05-25 15:01:23 +00:00
Brian Koropoff
11a14c077e Small order-of-operations fix. 2002-05-24 23:32:34 +00:00
Ragnvald Maartmann-Moe IV
2fe76b39e7 Smarter lightmap handling code. Still considerable optimization possible, at expense of duplicate code. 2002-05-24 17:12:41 +00:00
Brian Koropoff
ee5d0b7a99 Added r_farclip to control the far clipping plane. 2002-05-20 05:11:12 +00:00
Bill Currie
6a5bbf6f0a memory allocation checking cleanup 2002-05-14 06:37:28 +00:00
Bill Currie
44dcf74627 strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie
44f9700ed2 two spelling correctsions are remove a redundant VectorCopy 2002-04-30 16:37:11 +00:00
Brian Koropoff
ff901a312f Added argument-list functions to EXP with trig and inverse trig functions
to start.  More will follow.  Switched to doubles from floats and allowed
numbers with exponents to be parsed properly.  Also changed the number of
significant digits printed to 10.  Changed fov so it is now capped at 1,
not 10.  The float value of fov is now used instead of int, so more
precision can be attained at small values.
2002-04-28 08:30:54 +00:00
Jeff Teunissen
5b069de40c Redo r_wateralpha so that it doesn't force its value based on the watervis
serverinfo. Instead, create a new cl_wateralpha float variable that is set to
r_wateralpha->value in Host_Frame, and use that float during rendering.
2002-04-25 12:51:04 +00:00
Jeff Teunissen
a4f3973ef1 Add multitexture support for Alias models, and disable the multitexture
support for BSP models, until they can be fixed. gl_multitexture should now
actually be a speedup!

NOTE: Some OpenGL implementations have trouble with the texture function
used. 3Dfx Voodoo 1/2 are known to have this trouble. I don't know how to fix
this, or even if it can be fixed. :/
2002-04-16 16:51:35 +00:00
Chris Ison
347cdc5e33 some small performance optimizations with textures and animations 2002-04-15 03:26:08 +00:00
Bill Currie
51805ebd92 nothing much, just give wildcode a 30% speed boost. Basicly, stop binding
a texture for every single brush poly: due to texsort, they will come in
batches.
2002-03-16 09:25:06 +00:00
Bill Currie
1d420edcd0 start work on instrumenting GLstub.so 2002-03-11 23:55:50 +00:00
Bill Currie
26d7463be7 the majority of raptor's sgi build patch. I'll look at the last two bits
(server.c and vid_sdl.c) later.
2002-03-03 06:03:51 +00:00
Bill Currie
2f62b744fa After an interesting discussion with Lordhavoc, make the GPU do more work in
the background. This is achieved by doing only a (qf)glFlush at the end of
the frame, doing the inter rendering-frame processing (ie, client frame
processing), glFinish, glXSwapBuffers, then starting the next frame. I've
changed the glFinish call in SCR_UpdateScreen to glFlush and the glFlush
call in GL_EndRendering to glFinish because there's no point in calling
glFinish followed by glFlush. Also, SwapBuffers should always be precedded
by glFinish rather than just glFlush (in Lordhavoc's experience). The
GL_EndRendering at the end of SCR_UpdateScreen got moved to the beginning.
2002-02-27 05:22:21 +00:00
Bill Currie
6767d6bfa0 win32 compile fixes 2002-01-19 20:45:45 +00:00
Bill Currie
c86c5a78bf finally, the client console is merged 2002-01-16 21:53:42 +00:00
Seth Galbraith
0dcfc6dfb4 load tga versions of .lmp files if present 2002-01-16 01:59:05 +00:00
Seth Galbraith
9c1969146c cleanup, implemented tga loading for gfx.wad files 2002-01-15 21:05:34 +00:00
Seth Galbraith
5f4c7ee7bd implemented VP_PARALLEL_UPRIGHT - ask about my Mighty Oak 2002-01-11 03:00:32 +00:00
Seth Galbraith
7dc5b587f8 also try to load skies from gfx/env as darkplaces does 2002-01-11 01:26:21 +00:00
Bill Currie
6132049bf4 gl_draw.c: whitespace
draw.c: (both sw and sw32) fix Draw_nString to be similar to gl_draw.c
2002-01-10 20:19:22 +00:00
Chris Ison
859c18dc07 tidy up Draw_String calls and switched to Draw_nString were needed 2002-01-10 03:54:00 +00:00
Chris Ison
6073ff8d58 added Draw_nString for displaying a non \0 terminated string 2002-01-09 21:20:22 +00:00
Bill Currie
72d6f34dc8 first step to using a saner internal represnetation for the high precietion
models.
2002-01-07 06:32:46 +00:00
Bill Currie
14fb289f2f duplicate GL_GetAliasFrameVerts so 16 bit alias models don't cost so much
even when they aren't being used.
2002-01-07 03:46:56 +00:00
Bill Currie
b582a02aff fix the broken lighting for unlerped verteces 2002-01-07 01:05:44 +00:00
Ragnvald Maartmann-Moe IV
097ff0006f Rearrange vertex order in quads. 2002-01-06 22:43:51 +00:00
Ragnvald Maartmann-Moe IV
aa36ebf6e4 Little bit of whitespace cleanup. 2002-01-05 19:03:36 +00:00
Seth Galbraith
cb6ef3e225 putting if outside the for loop should speed things up 2002-01-05 16:53:43 +00:00
Seth Galbraith
ac5b6823c6 high precision model rendering in GL 2002-01-05 16:20:38 +00:00
Ragnvald Maartmann-Moe IV
a18fdbca68 Minor clarification in pt_fire ramp aging, plus reduce VectorScale use in fixed distance trails from once per particle to once per trail. 2002-01-05 07:23:23 +00:00
Ragnvald Maartmann-Moe IV
b13efc3a83 Particle updates. Some cleanups, small speedups, and reimplement id's effects. r_particle_styles 0 to see id's effects. 2002-01-04 03:32:59 +00:00
Ragnvald Maartmann-Moe IV
07fb841a49 Whitespace, mark a 1 line function as inline. 2002-01-04 03:25:30 +00:00
Bill Currie
9312681182 some more const correctness (in gl_sky_clip.c) and make the sky poly debug
drawing avialable via the gl_sky_debug cvar.
2002-01-03 18:18:45 +00:00
Bill Currie
013f503738 start getting const-correct on vec3_t params 2002-01-03 05:29:38 +00:00
Bill Currie
c68da1f299 o split up GL_DrawAliasFrame so it's normal (ie, not fullbright) pass only
creating GL_DrawAliasFrame_fb to do the fullbright pass. This removes
    the if (fb) tests.
 o  move the DepthMask setting for modelalpha != 1.0 out of
    GL_DrawAliasFrame* into R_DrawAliasModel to reduce potential GL state
    changes.
 o  minor comment cleanup/corrections
2002-01-02 19:23:09 +00:00
Bill Currie
3cfd2c0a8e make GL_DrawAliasShadow use the data calculated by GL_GetAliasFraveVerts so
shadows don't cost as much when lerping is enabled.
2001-12-30 04:16:25 +00:00
Bill Currie
ee9ed0c395 minor cleanups 2001-12-21 21:52:03 +00:00
Bill Currie
7f9e5755fb go back to my clever code (with the bug fixed this time:P). Hey, if it's
still broken, we can always revert it again ;) (NOT!)
2001-12-21 20:56:54 +00:00
Bill Currie
168d3aa308 tiny speedup to texture uploads 2001-12-21 20:12:51 +00:00
Bill Currie
825b02ad87 minor speedup to skybox loading ;) 2001-12-21 06:07:30 +00:00
Ragnvald Maartmann-Moe IV
010ca032a5 Allow arbitrary power of 2 sizes for tga texture loads, reduce memory footprint needed to load rgb tgas. Speed load of non-RLE tgas.
Some slight code sanity improvements.
2001-12-21 01:41:19 +00:00
Bill Currie
ec44f037c1 remove the obsolete z buffer prototype code 2001-12-20 05:16:59 +00:00
Ragnvald Maartmann-Moe IV
018481b1ac Might as well allow gl_affinemodels to affect the viewmodel as well... 2001-12-19 20:15:38 +00:00
Ragnvald Maartmann-Moe IV
e78bdb3ea6 Fix failure to free cache for non-shadowed stuff (lightning, grenades, etc).
Also a minor speedup (only mess with glHints once per frame, instead of dozens of times).
2001-12-19 18:32:26 +00:00
Ragnvald Maartmann-Moe IV
c764ddc64a Just a massive speedup to gl particles. Enjoy.
(Thanks to LordHavoc for prodding me to use glDrawElements, and munge all the particle textures into 1. Code mine, suggestions his)
2001-12-19 04:03:57 +00:00
Bill Currie
5d643c2483 tiny optimisation to GL_GetAliasFrameVerts 2001-12-18 05:50:57 +00:00
Chris Ison
73f9c3aaa5 some minor tidy/speed up 2001-12-18 03:59:37 +00:00
Chris Ison
1c26723864 changed int to an unsigned int 2001-12-17 23:41:58 +00:00
Chris Ison
db71398238 removed row and col usage from Draw_Character 2001-12-17 23:10:00 +00:00
Bill Currie
b3843f7f5b draw.h:
remove dead Draw_TransPic prototype
draw.c:
	really don't draw spaces in Draw_AltString
2001-12-13 19:13:22 +00:00
Ragnvald Maartmann-Moe IV
f66b7a93e5 Major particle interface cleanup, several bugfixes, and minor performance improvements. Oh, check out "/help easter_eggs" (gl-only, at the moment). 2001-12-11 22:37:30 +00:00
Ragnvald Maartmann-Moe IV
e9690c8ee9 Whitespace. 2001-12-11 20:36:23 +00:00
Ragnvald Maartmann-Moe IV
d4a8224d9b Change hudswap to use a callback, and instead of passing a swap variable to 10 functions, where only 2 use it, use a global variable. Make a few scr functions static inline, too. Got a totally unexpected ~0.45fps speedup. 2001-12-09 14:05:30 +00:00
Bill Currie
b52606aed2 *sigh* Turns out id didn't feel like fixing the bugs in progs so don't blat
out frame errors under normal circumstances.
2001-12-08 20:58:09 +00:00
Bill Currie
52b0c8f3fc how me a repeatable bug and I'll show you a dead bug }:>
(this fixes the "Cache_Free: not allocated" crash)
2001-12-04 17:46:42 +00:00
Bill Currie
9bf575d081 several little tweaks that more than make up for the reversion of low-copy 2001-12-03 08:46:56 +00:00
Bill Currie
4f2f686834 r_netgraph_alpha works again 2001-11-30 03:51:43 +00:00
Ragnvald Maartmann-Moe IV
dea0a2c08d Whitespace. 2001-11-25 08:00:16 +00:00
Bill Currie
1cdf7fa55f clean up the math for id skys a little. doesn't fix the sillyness, but that's
caused by the deliberate texuture wrapping and I think gl isn't coping well
with that when the texture coords wind up getting swapped due to the wrap.
2001-11-25 07:41:17 +00:00
Bill Currie
e99b422628 extinguish gl_fires. it's semi-broken, generally nasty (code wise) and
kinda tacky. also results in a slight speed boost:)
2001-11-25 06:24:26 +00:00
Ragnvald Maartmann-Moe IV
4d406337b6 Move gl_fires into gl, where it belongs.
Also some small cleanups in particles.
Brighten grenade smoke a tiny bit, so it's not so invisible in the typically dark quake areas.
And some minor cleanups to water rendering.
2001-11-24 08:21:07 +00:00
Ragnvald Maartmann-Moe IV
405e8fffc9 Whitespace. 2001-11-24 08:16:43 +00:00
Ragnvald Maartmann-Moe IV
2c8d802935 Whitespace. 2001-11-24 08:08:44 +00:00
Bill Currie
61382f4967 make absolutely certain skin->fb_texture is 0 if there are no fb pixels in
the skin texture.
2001-11-21 08:26:21 +00:00
Bill Currie
7d14013041 fix many, many bugs in the alias skin loading, transforming and rendering
code. This fixes blather's `melted models' (sw), the nq alt player model
skins (gl), the arbitrary limits on skins and skin groups in gl, and the
incorrect timing of group skins (animated) in gl.
2001-11-21 08:14:05 +00:00
Ragnvald Maartmann-Moe IV
3f79367865 Minor rendering cleanup, also may help rendering speed when r_wateralpha = 1, by playing with draw order. 2001-11-20 09:41:15 +00:00
Ragnvald Maartmann-Moe IV
b836566a3d Fix particle physics bug with blob2 particles.
(thanks to taniwha for pointing out half of the fix I was missing)
2001-11-20 08:31:27 +00:00
Bill Currie
5dab7ccaf7 precalculate smoe model specific info (wether the whole model is fullbright,
if it should have shadows, whether it should be scaled/translated (gl eyes),
and the minimum lighting (player)). give a 1.9% speedup in null renderer.
2001-11-20 08:02:35 +00:00
Ragnvald Maartmann-Moe IV
b69e372589 Whitespace. 2001-11-20 06:57:31 +00:00
Chris Ison
5c26b54697 remove smoke I added thismorning 2001-11-15 23:36:14 +00:00
Chris Ison
0e5262c2ea colored explosion smoke 2001-11-15 20:53:23 +00:00