Bill Currie
75d7f4cecb
[renderer] Clean up particles a little
...
The quake-specific enums are now in the client header, and the particle
system now has a gravity field rather than getting it from
vid_render_data (which I hope to eventually get rid of entirely).
2022-03-29 14:43:38 +09:00
Bill Currie
c05476f94b
[renderer] Move most of the scene rendering into r_screen
...
r_screen isn't really the right place, but it gets the scene rendering
out of the low-level renderers and will make it easier to sort out
later, and hopefully easier to figure out a good design for vulkan.
2022-03-17 17:57:50 +09:00
Bill Currie
3bdec49587
[sw] Remove r_origin entirely
...
And clean up a lot of modelorg (a little trickier than it was for gl due
to messy usage).
2022-03-11 13:10:20 +09:00
Bill Currie
1fef0e50e0
[particles] Use read data instead of written data
...
I'm not sure this makes any difference (at 2500fps, the noise is crazy),
but fewer instructions can't hurt.
2022-03-09 06:47:43 +09:00
Bill Currie
a9cc51b22c
[particles] Use correct index for source ramp
...
This fixes both the weird colors and a segfault in the 32-bit software
renderer.
2022-03-08 20:16:18 +09:00
Bill Currie
d70d72e6e4
[particles] Create a psystem object
...
This takes care of the global variables to a point (there is still the
global struct shared between the non-vulkan renderers), but it also
takes care of glsl's points-only rendering.
2021-12-24 06:45:13 +09:00
Bill Currie
372c89b479
[particles] Merge physics code
...
The particle physics is called by the renderer.
2021-12-24 06:45:13 +09:00
Bill Currie
8d2791752e
[particles] Merge particle spawning into client
...
After yesterday's crazy marathon editing all the particles files, and
starting to do another big change to them today, I realized that I
really do need to merge them down. All the actual spawning is now in the
client library (though particle insertion will need to be moved). GLSL
particle rendering is semi-broken in that it now does only points (until
I come up with a way to select between points and quads (probably a
context object, which I need anyway for Vulkan)).
2021-12-24 06:45:13 +09:00
Bill Currie
ce4bb1d56c
[renderer] Move particles over to simd
...
This has the advantage of getting entity_t out of the particle system,
and much easier to read math. Also, it served as a nice test for my
particle physics shaders (implemented the ideas in C). There's a lot of
code that needs merging down: all but the actual drawing can be merged.
There's some weirdness with color ramps, but I'll look into that later.
2021-12-24 06:45:13 +09:00
Bill Currie
6eb6b6c0ba
Change pointer_t to unsigned and clean up the mess.
...
It doesn't make sense to have negative pointers. The size of the commit is
from enabling gcc's -Wtype-limits warning and cleaning up that mess too.
2012-12-21 21:53:13 +09:00
Bill Currie
5b054dd98b
Add "slow grav" for smoke.
...
Removes one more set of hard codings from particle types.
2012-08-12 11:42:18 +09:00
Bill Currie
5a5b31bae4
Correct the direction of pt_fire particles.
...
sub_grav() was accelerating the particle in the wrong direction. Down being
+ve gravity caused a bit of confusion (though it was a c&p error).
2012-08-10 13:56:01 +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
525dbcc13e
Ensure code paths stay within the one renderer.
...
The gl renderer calling sw functions is bad news. Still all black, but I
think that's because palette setting is disabled.
2012-04-11 22:45:23 +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
4b390909f2
Move r_gravity to it's rightful home.
...
r_part.c makes much more sense.
2012-02-01 20:03:16 +09:00
Bill Currie
0abb8a7554
Merge the particle physics.
2012-01-15 20:14:36 +09:00
Bill Currie
2b81eaea6c
console.h include cleanup
2007-11-06 12:40:38 +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
5686ff51e5
Make R_DarkFieldParticles & R_EntityParticles work in all renderers.
2003-10-22 06:00:36 +00:00
Ragnvald Maartmann-Moe IV
0205a8a999
Optimize and slightly clean up R_DarkFieldParticles & R_EntityParticles.
2003-10-22 01:04:35 +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
Ragnvald Maartmann-Moe IV
ca50e1945b
Oops.
2002-09-13 00:23:58 +00:00
Ragnvald Maartmann-Moe IV
587de27849
Another step towards QSG2 compliance.
2002-07-25 14:43:36 +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
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
29a8d84806
cl_maxparticles to r_particles_max. annoying, but makes cl_ tab-completion less so.
2001-12-03 08:55:46 +00:00
Ragnvald Maartmann-Moe IV
3ad79cc970
Change particle limit from a short to an unsigned int. Possibly a tiny speedup, also allows for absurd particle counts...
2001-10-30 19:42:29 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Bill Currie
3601b5ba35
fix the minor breakage were /no/ particles were being generated
2001-10-27 21:39:58 +00:00
Bill Currie
d9fd8dc29f
make r_particles truely a flag and call R_MaxParticlesCheck when r_particles
...
changes
2001-10-27 08:31:45 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +00:00
Ragnvald Maartmann-Moe IV
bb6796247c
Kill r_particles->int_val testing in gl particle engine. Also merge a bit down to r_part.c/r_cvar.c. Properly declare cl_max_particles (how the heck was it working when only ever declared as exter cvar_t *cl_max_particles?).
...
Should be a minor speedup for gl, definitely a code cleanup.
2001-09-22 02:37:45 +00:00
Ragnvald Maartmann-Moe IV
fc1ab9640e
r_numparticles is now r_maxparticles. Ah, the joy of sane variable names.
2001-09-19 18:07:09 +00:00
Ragnvald Maartmann-Moe IV
333bd5ea17
R_EntityParticles cleanup.
2001-08-30 19:51:11 +00:00
Bill Currie
a9d6bc9a30
total nukage of #ifdef QUAKE2 (R_DarkFieldParticles is present, just unused)
2001-08-27 23:21:09 +00:00
Ragnvald Maartmann-Moe IV
793efd6976
Whitespace.
2001-08-27 01:00:03 +00:00
Ragnvald Maartmann-Moe IV
84b2070d17
Whitespace.
2001-08-26 16:54:33 +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
18fd21da77
merge the particle system
2001-05-29 19:58:35 +00:00