Bill Currie
ef37ed39a9
Clean up global symbols for the glsl renderer.
...
Where possible, symbols have been made static, prefixed with glsl_/GLSL_ or
moved into the code shared by all renderers. This will make doing plugins
easier but done now for link testing. The moving was done via the gl
commit.
2012-02-18 11:48:52 +09:00
Bill Currie
4707706f5d
Use QF_NEED for the renderer and model libraries.
...
This breaks RPM building, but I can fix that later.
2012-02-10 13:29:45 +09:00
Bill Currie
497718cc40
Plug the memory/texture/vbo leaks.
...
QF still leaks about 3MB/run on demo1, but even 100 runs didn't show any
render issues.
2012-01-29 22:32:35 +09:00
Bill Currie
5dcaeae97b
Fix custom skins in GL for QW.
2012-01-26 12:50:37 +09:00
Bill Currie
df87cffe15
Start working on the new GL skin code.
2012-01-24 23:06:07 +09:00
Bill Currie
3669e3aa2e
Make alias model caching optional.
...
For now, only the glsl loader disables caching, but it stores the frame
vertices in GL memory, so its hunk usage is relatively lower (and will be
lower still when I get skins sorted out).
2012-01-17 19:31:50 +09:00
Bill Currie
fb428f8067
Rename mod_flood.c to floodfill.c
2012-01-17 19:31:50 +09:00
Bill Currie
6f18035c12
Fix up alias-16 support.
...
After getting in contact with serplord, I now know that the sw alias
loading was correct. Turns out the gl loaders was mostly correct, just a
mistaken subtract rather than add. And with that, I can implement alias-16
support in glsl. better yet, since all the work is done in the loader, the
renderer doesn't know anything about it :) However, I need to create some
16-bit models for testing.
2012-01-05 12:52:12 +09:00
Bill Currie
add5440ad1
Upload the normals with the vertex data.
...
Not all hardware can access a texture sampler from the vertex shader, and I
don't want multiple paths this early in the game. Now, vertex normals are
uploaded as shorts. Should be 14 bytes per vertex (was 10, could have been
8 if I had put the normal index with the vertex rather than st).
2012-01-04 09:42:00 +09:00
Bill Currie
2a3151cecd
Hook in alias model drawing.
...
Nothing is visible yet.
2012-01-02 20:28:40 +09:00
Bill Currie
540bccbc27
Load all the alias vertex data as bytes.
...
I had forgotten I wanted to do it this way.
2012-01-02 13:41:12 +09:00
Bill Currie
2ad5aa7aed
Unbind the array and element array buffers when done.
...
Not doing so wreaked havoc on my 2d rendering (what's he doing here, and
why's he messing with my redering? ;)
2012-01-02 10:08:56 +09:00
Bill Currie
f3884c659c
Finish alias skin loading and load vertex data into GL.
2012-01-01 23:55:27 +09:00
Bill Currie
dcf2b14188
Implement alias model skin loading for glsl.
2011-12-25 13:02:26 +09:00
Bill Currie
e62eb23f67
And do the real merge.
...
That drastically simplifies the processes of alias model loading for glsl :)
2011-12-25 11:04:03 +09:00
Bill Currie
c0d37ddc1e
Pseudo merge gl and sw Mod_LoadAliasGroup.
...
Interestingly, this didn't break gl alias model renderering (but then, it
does weird things to the data anyway).
2011-12-25 10:53:53 +09:00
Bill Currie
1f8db5fe3a
Pseudo merge gl and sw Mod_LoadAliasFrame.
2011-12-25 10:34:29 +09:00
Bill Currie
59ef1eae9d
Split out the floodfile code into its own file.
2011-12-23 19:01:31 +09:00
Bill Currie
497461b4c2
Make a start on making a pure GLSL renderer.
...
For now, only nq-glslx will be built, but as there is no actual code, it
doesn't link. However, this gets the glsl stuff into the build system.
2011-12-23 12:19:13 +09:00
Bill Currie
683adf1850
Print the name and texture number for model skins.
...
Use SYS_GLT (1024) for gl texture debugging.
2011-09-26 13:03:53 +09:00
Bill Currie
74a7e07dfc
Use AM_CFLAGS instead of CFLAGS.
...
CFLAGS is meant to be reserved for the user.
2011-05-10 12:44:44 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +00:00
Bill Currie
7d2784e1bc
whitespace
2006-07-23 01:34:14 +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
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
629e22aa61
fix a buffer overflow and an underflow
2004-01-17 05:11:34 +00:00
Ragnvald Maartmann-Moe IV
4597b44334
/, not // in paths. textures//foo.png is ugly. ;)
2004-01-08 03:33:45 +00:00
Ragnvald Maartmann-Moe IV
043c1ce466
Check for %s_luma as well as %s_glow. Also a bit of whitespace.
2004-01-04 01:20:20 +00:00
Bill Currie
40b8974c33
better external skin handling from Grievre
2003-12-28 05:25:06 +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
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
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
5f3573143a
the beginnings of a jihad against buffer overflows
2003-05-08 23:24:02 +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
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
c186266f06
whitespace
2003-03-12 02:21:51 +00:00
Bill Currie
851d203916
work towards a more secure qfs
2003-02-14 22:36:10 +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
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
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
f7b4dffcc0
get larger player skins working in gl
2002-09-13 05:32:28 +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
e2e605841f
Code in variable declarations. Yuck. *thwaps taniwha*
2002-08-25 16:51:30 +00:00
Ragnvald Maartmann-Moe IV
19315a399f
Whitespace, comment cleanups.
2002-08-25 14:25:38 +00:00
Ragnvald Maartmann-Moe IV
44e2fbaa87
More whitespace.
2002-08-22 20:06:30 +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
Ragnvald Maartmann-Moe IV
e9febea31c
Whitespace.
2002-08-19 06:00:31 +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
df55030fa8
Fix alias bounding box sizes, so that large critters don't disappear when at edge of view frustrum...
...
(Taken and debugged from tutorial on quakesrc.org)
2002-06-14 09:33:37 +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
b322835767
fix a missing \n
2002-04-03 18:50:36 +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
6dbdfc0464
yeah, it's an icky global, but it's actually the right way to get at the
...
model header in the model loader.
2002-01-17 02:10:06 +00:00
Seth Galbraith
778af4276e
external tga skin loading, doesn't work for players (teamcolor stuff)
2002-01-16 20:32:39 +00:00
Bill Currie
6637f3fba5
more FIXME and whitespace cleanups
2002-01-12 04:46:15 +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
Seth Galbraith
42456845f0
high precision software mdl rendering
2002-01-05 03:21:02 +00:00
Seth Galbraith
6ec47e6be6
slaying hardcoded mdl vertex and triangle limit
2002-01-04 07:40:00 +00:00
Seth Galbraith
d570f0905f
high precision model loading
2001-12-30 02:30:26 +00:00
Bill Currie
0be2a31f2e
lots of code cleanup. Merge Mod_LoadAllSkins, merge the sw32 model loading
...
code into the sw model loading code, remove all refs to r_pixbytes from the
sw renderer (it was never anything but 1), kill libQFmodels_sw32, remove
all the 16 bit code from the 8 bit sw renderer.
2001-11-21 19:13:53 +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
Bill Currie
ec75b71711
don't bother with fullbright skins for models that are allways fullbright and
...
clean up a misplaced function prototype
2001-11-20 08:45:26 +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
Bill Currie
d168a3daee
this should remove the requirement for gmake on bsd systems
2001-11-12 16:23:41 +00:00
Bill Currie
3ce8029f74
fix a silly goof with the models
2001-10-28 05:43:53 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Bill Currie
b3914eeaaa
elimination of bare printf (with some exceptions) from libs: Sys_Printf is
...
used instead
2001-10-18 16:42:14 +00:00
Bill Currie
a1d2cf3532
duplicate file name cleanup and make dist works
2001-10-03 17:50:36 +00:00
Jeff Teunissen
873521a68d
Makefile cleanup continues. Models.
2001-09-28 09:49:09 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +00:00
Bill Currie
49a85718f8
total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
...
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Bill Currie
74e9f89e8c
forward port the client info string filtering from 0.3 and remove info.h from
...
a couple of c files that no longer need it.
2001-09-11 03:10:29 +00:00
Adam Olsen
f1a016c8a5
- Refine the Cache_Get callback, to use a void * instead of a char *
...
- Switch alias models over to Cache_Get/Cache_Release
2001-08-31 12:22:45 +00:00
Ragnvald Maartmann-Moe IV
20544c6c67
Remove some obsolete comments.
2001-08-25 03:06:46 +00:00
Ragnvald Maartmann-Moe IV
c6266aba36
sw32. Flee in terror. This'll break compilation for everything until -sdl32 compiles. sw32 wont work for a while either, so don't get overly excited yet.
2001-08-25 02:47:11 +00:00
Bill Currie
8059265181
pr_strings.c:
...
fix some off-by-one bugs
gl_mesh.c:
make the messing... message developer mode
2001-08-15 06:01:38 +00:00
Bill Currie
9f2418d873
new cvar: gl_mesh_cache. controls minimum triangle count in a model before
...
the model is cached or cache checks are done for that model. 0 disables
caching entrirely.
2001-08-14 20:02:54 +00:00
Bill Currie
cd522a6f97
should now handle any size of model. also modify the mesh file format slightly
...
(version and commands+verts sum for checking) and change the mesh extention to
.qfms
2001-08-08 08:52:55 +00:00
Ragnvald Maartmann-Moe IV
111dc205d5
whitespace and comment cleanups.
2001-07-22 05:40:34 +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
735a35b2f9
compile fixes from Artur Frysiak <wiget@pld.org.pl>
2001-06-05 17:23:03 +00:00
Bill Currie
06064ec390
compat.h:
...
create a field_offset macro that takes a structure type and a field and
returns the offset of the field within the structure
everything else:
use field_offset to calculate the size of variable sized structs
2001-05-31 18:11:05 +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
Joseph Carter
05adfd0e53
quakefs.h -> vfs.h
...
quakeio.h -> vfile.h
More diff reduction between trunk and my VFS code. Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818
s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
...
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
f0cfc46cb7
model.h:
...
add a crc field to aliashdr_t
model_alias.c:
set it for all models
cl_parse.c:
set the pmodel and emodel info keys to the crcs of the player and eye
models
2001-05-29 17:37:48 +00:00
Bill Currie
4606c6c63a
new automake conditionals: BUILD_GL and BUILD_SW for use in places where it
...
matters (eg, selecting whether to build the gl and or sw specific model code)
2001-05-17 03:48:31 +00:00
Bill Currie
44317f299e
merge gl_mesh.c into libQFmodels
2001-05-11 05:59:17 +00:00
Bill Currie
f5016790d4
forgot to compile test first :/
2001-05-10 15:34:29 +00:00
Bill Currie
d3d3a1c451
finish the model merge
2001-05-10 15:29:29 +00:00
Bill Currie
2c07108c65
model loading code merge. dragged in smoe merges and cleanups of d_iface.h,
...
r_local.h, r_shared.h, client.h and render.h at the same time (couldn't get
away from that:/) verly likely to be lots of breakage (eg, player and eye
models are NOT checksummed atm), but everything builds
2001-05-10 06:01:11 +00:00