Bill Currie
d76e4608ab
Rewrite the ruamoko draw api internals.
...
Update for using resources, and add wrappers for Draw_MakePic and
Draw_DestroyPic/Draw_UncachePic.
2012-02-01 18:19:54 +09:00
Bill Currie
bc2aca53c3
Add functions to create/destroy qpics.
...
The creation uses raw 8-bit data (and the system palette). Destroying a
qpic loaded via other means will probably produce nasal demons.
2012-02-01 17:46:15 +09:00
Bill Currie
2b6adaa2d4
Do some more const correctness.
2012-02-01 17:44:55 +09:00
Bill Currie
7e406c20e5
Allow uncaching of qpics.
...
qpics loaded via Draw_CachePic can now be uncached via Draw_UncachePic.
2012-02-01 16:55:35 +09:00
Bill Currie
a849cf7698
Fix a stale include problem.
...
Thanks to iku for pointing it out.
2012-02-01 14:13:00 +09:00
Bill Currie
a131a7ab9d
Fix the gl test... again :/
...
Actually, it probably doesn't make any difference, but making it look
right is still important.
2012-02-01 13:01:24 +09:00
Bill Currie
706f09b247
Put the transparent surfaces on the water chain.
...
I'd actually done this the first time, but then got confused and forgot the
waterchain works with multiple textures. This is actually the right place
as all transparent surfaces need to be sorted irrespective to their
textures. Really, waterchain needs to be renamed.
2012-01-31 18:08:06 +09:00
Bill Currie
b286a35281
Sort transparent surfaces back to front.
...
This allows overlapping transparent surfaces to look like they are
overlapping each other rather than only the nearest one showing.
2012-01-31 16:17:09 +09:00
Bill Currie
c3d2365bd8
Fix a missed default_color init.
...
Wish I'd caught this earlier :/
2012-01-30 21:02:13 +09:00
Bill Currie
c01255a387
Fix a case&paste error.
...
Doesn't fix the color problem for water surfaces on my eeepc, though :(
2012-01-30 20:31:58 +09:00
Bill Currie
8f0ce733ff
Sanitize color handling a little.
2012-01-30 20:31:37 +09:00
Bill Currie
4b948de225
Ensure the lightmap gets rebuilt when the dlights disappear.
...
I didn't realize what that line was for when I copied the code from GL :/
2012-01-30 18:41:27 +09:00
Bill Currie
e4f63fba6c
Fix some integer shift overflows.
...
Thanks to Ozkan Sezer for pointing them out.
2012-01-30 09:13:06 +09:00
Bill Currie
f8dfee6de7
Merge branch 'master' into glsl
2012-01-29 22:36:35 +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
b03e937b67
Implement brush entity alpha.
...
http://www.celephais.net/board/view_thread.php?id=60157& has a good map for
testing (you see an example straight away if you look up). (+set max_edicts
2048)
2012-01-29 16:56:50 +09:00
Bill Currie
8f869c001b
Fix the missing world on map reload.
...
If the map got reloaded but the current leaf didn't change the world (and
most entities) didn't get drawn. Forcing a vis update by first setting
r_viewleaf to null and marking surfaces does the trick :)
2012-01-29 16:09:35 +09:00
Bill Currie
462a9047c6
Fix the missing fog on particles and sprites.
...
Bah, definitely need a metter method of parameter interrogation.
2012-01-29 10:35:23 +09:00
Bill Currie
731236ee07
Implement global fog.
...
Sprites and particles don't seem to be getting fogged correctly, but bsp
and alias models are working.
2012-01-29 10:27:28 +09:00
Bill Currie
4734c5b64a
Implement water alpha.
2012-01-28 21:20:34 +09:00
Bill Currie
7e078c7f9c
Revamp cshifts and implement in glsl.
...
The renderer should now be free of any direct access to client code. Even
3d rendering is now done via a function pointer.
The cshift code is done as a 2d screen function.
2012-01-28 20:45:14 +09:00
Bill Currie
315db554b5
Add some instrumentation to check render speeds.
2012-01-28 14:10:47 +09:00
Bill Currie
2595251162
Do not update every visible lightmap every frame.
...
This takes nq from ~25fps to 65-72 fps on Unforgiven's start map.
2012-01-27 21:48:25 +09:00
Bill Currie
df87cffe15
Start working on the new GL skin code.
2012-01-24 23:06:07 +09:00
Bill Currie
6104db50e1
Fix a gl matrix stack overflow.
...
I'd missed a couple of places for glPopMatrix (worse, one was push!).
2012-01-24 12:10:37 +09:00
Bill Currie
1ef24e0404
Fix a gl matrix stack overflow.
...
I'd missed a couple of places for glPopMatrix (worse, one was push!).
2012-01-24 12:08:12 +09:00
Bill Currie
08990ebb5a
Make top/bottom color work for GLSL.
...
Works quite nicely (love those colormaps).
2012-01-23 19:24:12 +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
61c127abc0
Make a start on skin support.
...
I had this lying around for a while since it was more important to get
other things working first.
2012-01-22 15:49:01 +09:00
Bill Currie
76cb60461d
Tweak the size of point particles.
...
This looks fairly reasonable, but should probably be tweaked further to
base the point size on resolution.
2012-01-21 22:05:24 +09:00
Bill Currie
5080a6f37e
Enable the point size shader variable.
...
This is a rather "evil" hack because GLES doesn't seem to need
GL_VERTEX_PROGRAM_POINT_SIZE, but GL does, and all my work is currently
done in GL rather than GLES. Point particles now work, but the sizes are
all wrong.
2012-01-21 21:54:36 +09:00
Bill Currie
68d956583d
Draw ALL of the particles, not just 2/3 of them.
...
Using quads requires 4 elements, but triangles require 6. I'd gotten the
element array setup right, but I'd forgotten to tweak vacount when drawing
the particles.
2012-01-21 20:16:18 +09:00
Bill Currie
8345f07db2
Implement QF style particles.
...
Actually looks pretty good against the sw style world.
2012-01-21 19:51:18 +09:00
Bill Currie
4955caafe5
Make the dynamic textures more readily available.
...
I want to get QF style particles going in glsl (since id style is currently
stuck at one pixel), but I don't want multiple copies of the texture code.
2012-01-21 19:13:01 +09:00
Bill Currie
358bbc4439
Disable the sky spin effect.
...
It's cool, but not appropriate as a default. All that's needed is a way to
set (and optionally update) sky_velocity (map vars? qc?).
2012-01-21 17:18:29 +09:00
Bill Currie
62c5070d8b
Use the correct type for particle colors.
...
Sending byte data as floats doesn't work too well :P Fixes the colors of
the particles, but not the size :(.
2012-01-21 16:17:54 +09:00
Bill Currie
2cb2f230fd
Print out the point size range.
...
I'm not sure if there's a bug in mesa, or if I'm doing something wrong, but
GL_POINTS doesn't seem to be working properly. I get the points, but
writing to gl_PointSize doesn't make a difference despite the size range
being 1-255.
2012-01-21 15:48:21 +09:00
Sander van Dijk
197481bdbb
in_sdl.c: default to "have_focus" to "1".
2012-01-21 09:27:35 +09:00
Sander van Dijk
8e6c3f7bf8
Make gl_rsurf.c compile without warnings with "gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)".
2012-01-20 20:51:29 +09:00
Bill Currie
5e1a80e016
Implement particles as points.
...
Unfortunately, the maximum point size on Intel hardwar seems to be 1, so I
can't tell if the colors are right.
This is largely just a hacked version of GL's particle code.
2012-01-19 10:39:03 +09:00
Bill Currie
63893b6a2f
Zap some magic numbers.
2012-01-19 10:36:10 +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
42bb10a3d7
Clear out the lightmap scrap at each level change.
...
This allows the demo loop to run more than 4 times (12 demos). Once the
rest of the resource management is done, demos should run indefinitely.
2012-01-17 19:31:50 +09:00
Bill Currie
fc43e5a307
Allow clearing of a scrap.
...
This "frees" all rectangles and subpics allocated from a scrap. subpics
are owned by the scrap from which they are allocated.
2012-01-17 19:31:50 +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
0abb8a7554
Merge the particle physics.
2012-01-15 20:14:36 +09:00
Bill Currie
ece78f7605
Clean out some useless functions.
...
D_Start/EndParticles in the sw renderers will likely never have any
content, so no point in calling or even having them.
2012-01-15 09:34:10 +09:00
Bill Currie
e7b01bb6b6
Put the transparent color back to 0,0,0,0 rgba.
...
Blended sprites were a tad ugly without that.
2012-01-14 22:20:23 +09:00
Bill Currie
c884ef5f80
Convert the colormap to a 2D palette.
...
This skips one level of indirection in the alias model and brush shaders.
Hopefully, this will improve performance on my eeepc.
2012-01-14 21:42:42 +09:00
Bill Currie
928dd92276
Use 0.0 instead of 0.5 for t for palette lookups.
...
I realized it's pretty silly using colormap + palette when I can just
combine the two into one and have a 2D palette. This is in preparation for
that.
2012-01-14 20:51:43 +09:00