Bill Currie
3eb859a88f
Move the entity transform setup into the clients.
...
This has several benifits:
o The silly issue with alias model pitches being backwards is kept out
of the renderer (it's a quakec thing: entites do their pitch
backwards, but originally, only alias models were rotated. Hipnotic
did brush entity rotations in the correct direction).
o Angle to frame vector conversions are done only when the entity's
angles vector changes, rather than every frame. This avoids a lot of
unnecessary trig function calls.
o Once transformed, an entity's frame vectors are always available.
However, the vectors are left handed rather than right handed (ie,
forward/left/up instead of forward/right/up): just a matter of
watching the sign. This avoids even more trig calls (flag models in
qw).
o This paves the way for merging brush entity surface rendering with the
world model surface rendering (the actual goal of this patch).
o This also paves the way for using quaternions to represent entity
orientation, as that would be a protocol change.
2011-12-15 17:09:01 +09:00
Bill Currie
8e531a58c2
Get global fog working for multi-pass rendering.
...
For the world textures, anyway. Entity multi-pass rendering still needs to
be verified.
2011-12-12 17:08:22 +09:00
Bill Currie
91e65b6c80
Rename mplane_t to plane_t and clean up the mess.
...
I got rather tired of there being multiple definitions of mostly compatible
plane types (and I need a common type anyway). dplane_t still exists for
now because I want to be careful when messing with the actual bsp format.
2011-11-28 20:54:34 +09:00
Bill Currie
0f7390dd60
Clean up all the "set but not used" warnings.
...
gcc on my system is failing to treat this specific warning as an error :/
2011-06-19 10:48:02 +09:00
Bill Currie
8919aec663
Get global fog working in mtex mode.
2010-12-10 21:40:36 +09:00
Bill Currie
f98b002f9e
Make R_StoreEfrags const-correct.
...
R_StoreEfrags does not need to modify its parameter or anything to which
it directly refers, so make the pointer single-level and constant.
2010-12-03 13:30:49 +09:00
Bill Currie
6884f97694
allow marcher.bsp to work (initially, anyway)
2007-05-23 10:45:33 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27: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
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
79689baa83
Grievre's crash fix.
2004-02-15 19:56:28 +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
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
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
f7b1196b8d
fix the gl stack overflow (and make sure all skybrush surfaces get checked
...
and queued)
2003-08-28 19:50:28 +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
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +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
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
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
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
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
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
4123d74e5e
don't segfault when a surface uses the `null' texture (r_notexture_mip)
2002-08-09 06:07:25 +00:00
Bill Currie
3baec9e856
clean out the dead mtex code
2002-08-08 04:27:49 +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
Bill Currie
f3132162ae
speedup r_lightmap_components 3 by ~4.2% in null-render
2002-05-28 03:49:13 +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
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
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
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
1dfd2d4eaf
More use of mathlib, and some small optimizations.
2001-11-09 18:51:33 +00:00
Ragnvald Maartmann-Moe IV
ceb307aead
Cleanups, whitespace, convert some ints to unsigned int. Whee!
2001-11-06 05:06:37 +00:00
Ragnvald Maartmann-Moe IV
6af4eae1e5
Couple of cleanups (remove unused variables) and a small optimization.
2001-11-05 14:59:05 +00:00
Bill Currie
dc779acdb5
build the texture chains such that they get rendered front to back. seems to
...
only get about 0.17% speedup in overkill (with just about every thing off),
but it might make more of a difference in-game.
2001-11-05 06:20:35 +00:00
Ragnvald Maartmann-Moe IV
a856cbc413
Fix for r_lightmap_components 4 weirdness.
2001-11-04 20:58:46 +00:00
Ragnvald Maartmann-Moe IV
a2ed608ee7
Some more small speedups.
...
Not entirely thrilled with R_BuildLightMap inside 'store:'. Macros are a pain to work around...
2001-11-04 16:57:47 +00:00
Ragnvald Maartmann-Moe IV
dbb6e37bb7
Remove some unneeded variables.
...
Speed lightmap calculations up for r_lightmap_components 1.
Enough to give a 4.4% speedup to timedemo overkill.
Hint: int/float/int conversions are expensive.
2001-11-04 11:20:35 +00:00
Ragnvald Maartmann-Moe IV
de0b4f65fa
modelalpha and currenentity cleanups.
2001-11-04 07:40:35 +00:00
Bill Currie
85c9e0ab1e
more externs cleaned up
2001-10-29 17:46:03 +00:00
Bill Currie
b5341f0d13
we now compile and link with -fno-common. this cleans up the multiple,
...
uninitialized declarations of variables.
2001-10-23 16:55:23 +00:00
Bill Currie
49fe4e9f05
fix a misplaced s&r
2001-10-11 06:54:29 +00:00
Ragnvald Maartmann-Moe IV
1674e6a763
Clean up of models that are always fullbright.
2001-10-10 05:00:30 +00:00
Ragnvald Maartmann-Moe IV
9cc671e6d2
Try #2 .
...
Change r_maxparticles from short to unsigned int.
Make MAX_DLIGHTS into a cvar, r_dlight_max that sets the unsigned int r_maxdlights.
2001-10-09 20:35:17 +00:00
Bill Currie
95d3600452
fix skybox/skydom map vis issues. I hope this works on all drivers.
2001-10-03 02:51:30 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +00:00
Ragnvald Maartmann-Moe IV
28fe1dc004
Tweak rocket trails. Uglier, but don't bog down rocket snipers. Also a couple tiny optimizations and cleanups.
2001-09-09 19:37:07 +00:00
Bill Currie
05f489735e
code cleanups and possibly minor optimisations
2001-09-07 21:15:08 +00:00
Bill Currie
dc4cd343b5
id's sky code is back (gl_sky_clip 2 when no skybox is loaded). Not as fast
...
as the black polygons (duh:) and not as nice looking as the sky dome, but also
not as slow (fps when standing in the normal coridor looking at the sky in
start: 26 for skydome, 37 for id skys, 44 for black). Good for when you want
to see sky other than black but your card can't handle the fillrate
requirements of skydome. I'll clean up the sqrt in there soonish.
2001-09-03 06:12:10 +00:00
Ragnvald Maartmann-Moe IV
ed4de07e9a
Header and variable declaration cleanups, tiny bit of whitespace.
2001-09-01 08:57:04 +00:00
Bill Currie
d81d7fd02c
glColor cleanup
2001-08-30 18:24:19 +00:00
Bill Currie
5902dcca6a
code cleanup
2001-08-29 03:27:31 +00:00
Ragnvald Maartmann-Moe IV
b1666defb9
Remove unused code.
2001-08-26 19:47:35 +00:00
Ragnvald Maartmann-Moe IV
06dd45bdb1
Merge common lighting code. Still some lightmap-related code in *_rsurf.c that might be mergable. This is the first step towards 3 component lighting for the sw32 renderer.
...
Note that gl_lightmap_components is now r_lightmap_components, and gl_dlight_lightmaps is now r_dlight_lightmaps.
2001-08-25 23:23:14 +00:00
Ragnvald Maartmann-Moe IV
e7fb6a1100
Whitespace, comment cleanups, and a very tiny cleanup/micro-optimization for R_AddDynamicLights.
2001-08-22 11:00:25 +00:00
Bill Currie
06946d6ab4
memset doesn't use bits 8+
2001-08-08 23:32:09 +00:00
Bill Currie
3047a6a4ba
this seems to fix the flickering dlights problem. surface visibility was
...
calculated too late for light marking.
2001-08-08 22:20:57 +00:00
Bill Currie
8883bbb369
some lighting fixes. not quite there yet
2001-08-05 05:07:49 +00:00
Bill Currie
647d38fa40
Make R_MarkLights use the vis info to speed things up. Oddly, even though
...
R_MarkLights is now about 3% instead of about 15%, I've lost 8 fps on my
null GL speed test. However, R_AddDynamicLights has jumped up a bit, so I'm
wording if maybe more surfaces are being lit.
2001-08-05 04:01:45 +00:00
Ragnvald Maartmann-Moe IV
2887dd3950
Fix issue with gl_lightmap_components 4 and lightmap updates.
2001-08-02 04:12:26 +00:00
Ragnvald Maartmann-Moe IV
fd0c5aab36
Garbage comment removal.
2001-08-02 02:28:17 +00:00
Ragnvald Maartmann-Moe IV
6e9b51edfc
(Optionally) Use glTexSubImage2D for lightmap updates. Doesn't give as large a boost as I'd hoped, but will matter far more as other optimizations happen. New cvars gl_lightmap_align does nothing yet, and gl_lightmap_subimage only works in mode 0 and 1. Mode 2 (should be fastest mode on most cards) will eventully get implemented...
2001-08-02 02:18:04 +00:00
Zephaniah E. Hull
908d265212
Clean up and repair of the run time linking, does NOT work until deek
...
commits his gl_funcs.c.
2001-06-26 02:26:46 +00:00
Jeff Teunissen
3fbfa27fcd
Woohoo. The QFGL_* function prefixes are gone again from the tree. It
...
might even work under Windows now, but don't get your hopes too high. :)
2001-06-25 06:17:07 +00:00
Zephaniah E. Hull
3715430479
This is changing more then I wanted to at once, however.
...
The major change is that we no longer require libGL to even exist on the
system at compile time for the GL targets, we dynamicly link to the
libGL of choice at run time. (This probably breaks most non-linux
systems, and all GL targets except -glx, some fixup will be needed.)
(This also kills glquake, dead dead DEAD! GONE FOREVER! WHEE!)
Some gl_draw cleanup.
Commented out equake alias model occlusion test stuff, very experimental.
Added the .lo and .la patterns to the .gitignore files.
Some minor sbar cleanup. (We don't use the disc in use symbol for
anything.)
2001-06-24 09:25:55 +00:00
Bill Currie
323015b11a
include/QF header cleanup. including config.h (or any file from include) is
...
a nono because headers in include/QF get installed, but include don't and thus
would break quakeforge-dev.
2001-05-31 05:33:13 +00:00
Bill Currie
6bf58ab1af
no header includes cvar.h now
2001-05-31 03:41:35 +00:00
Bill Currie
f988572c4d
lighthalf and gl_lightmode, meet Mr. Chainsaw, he will be your playmate today.
2001-05-29 21:59:02 +00:00
Bill Currie
73e6e1684f
FINALLY, the nq and qw renderers are merged. the view and particle subsystems
...
are not yet merged due to their dependence on the client, but that will come
soon.
2001-05-24 19:22:35 +00:00