Bill Currie
fbc1bd9f6e
[renderer] Clean up entity_t to a certain extent
...
This is the first step towards component-based entities.
There's still some transform-related stuff in the struct that needs to
be moved, but it's all entirely client related (rather than renderer)
and will probably go into a "client" component. Also, the current
components are directly included structs rather than references as I
didn't want to deal with the object management at this stage.
As part of the process (because transforms use simd) this also starts
the process of moving QF to using simd for vectors and matrices. There's
now a mess of simd and sisd code mixed together, but it works
surprisingly well together.
2021-03-10 00:01:41 +09:00
Bill Currie
bb6c6963d2
[model] Clean up the globals around model loading
...
Covers only the generic load code (alias etc to follow), but this should
take care of a lot of issues in the future.
2021-02-01 14:39:00 +09:00
Bill Currie
d25f39cc7d
Remove pskindesc from affinetridesc_t.
...
It's never used after being set.
2012-05-19 09:29:05 +09:00
Bill Currie
fb10f38fd4
SW now tries (but fails miserably) to render iqm models.
...
Something seems to be very wrong with the transforms.
2012-05-18 23:31:14 +09:00
Bill Currie
da87ac0ce5
Remove some unused parameters.
2012-05-17 21:33:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
a4c280f2b2
Take the first step towards render plugins.
...
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +09:00
Bill Currie
72fb96245f
Cleanup global symbols for the sw and sw32 renderers.
...
Names not mangled, but those symbols that could be made static have been.
Also, many dead variables have been removed.
2012-02-18 14:34:14 +09:00
Bill Currie
447ff2f2f5
Clean up global symbols for the gl renderer.
...
Where possible, symbols have been made static, prefixed with gl_/GL_ or
moved into the code shared by all renderers. This will make doing plugins
easier but done now for link testing.
2012-02-18 11:48:52 +09:00
Bill Currie
6f10f0cea6
Fix the x86 sw renderer (intel asm).
...
I'd forgotten about assembly code versions when I was doing my testing
when I redid skins. Thanks to Sander for pointing it out.
2012-02-02 17:32:27 +09:00
Bill Currie
7bfddd7ffe
Gut most of the old skin code.
...
Custom skins are smashed on most targets. Player colors don't work, etc.
However, this will let me do a much cleaner implementation.
2012-01-23 16:16:30 +09:00
Bill Currie
470500f79d
Fix an oopsie between pahdr and paliashdr.
...
I understand the reasons, but ooh, the sw renderer is ugly in places.
2012-01-17 21:00:19 +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
72e3a8d507
Merge sw and sw32 alias frame selection.
...
I'm leaving GL for later because lerping complicates things. I'll sort it
out when I implement lerping in GLSL.
2012-01-02 17:47:22 +09:00
Bill Currie
1c480bf75e
Merge the alias skin selection code.
...
We really don't need 4 copies of identical code when 1 will do :P
2012-01-02 15:57:43 +09:00
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
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
e3b47c9c6d
This should make stdint stuff work better in general (can't test properly due to my mingw setup being borked)
2007-11-25 04:44:53 +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
93ee2e489b
more vc2005 patches from phrosty
2007-04-11 22:03:36 +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
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
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
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
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
Bill Currie
9ba80eb4d9
use Hunk_TempAlloc instead of realloc for the alias model verts
2002-01-07 16:43:47 +00:00
Bill Currie
c1c76f7058
whitespace
2002-01-07 06:50:41 +00:00
Seth Galbraith
0a7ddae612
move high precision check out of loop to optimize sw model rendering
2002-01-05 20:00:50 +00:00
Seth Galbraith
1e57bcdca2
no more hardcoded MAXALIASVERTS limit
2002-01-05 17:56:33 +00:00
Seth Galbraith
42456845f0
high precision software mdl rendering
2002-01-05 03:21:02 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +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
Bill Currie
11489550ba
gratuitous_diff--
2001-08-28 22:46:02 +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
dc5846948e
re-enable asm for static builds
2001-06-11 20:59:48 +00:00
Bill Currie
1038f88a64
disable asm in the software renderer for now. This will allow me to fix the
...
files one at a time and allow others to use software independent of asm usage
(even if a little slowly (~14% slower on my dual c450)).
2001-05-25 14:57:31 +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