Commit graph

736 commits

Author SHA1 Message Date
Bill Currie
6e2d625d36 Load the skybox faces into the correct cubemap slots.
Quake and GL are rotated relative to each other, so care must be taken
when loading and rendering.
2012-01-12 15:13:19 +09:00
Bill Currie
f1eea0176c Fix the too near far-clip plane.
I don't know if I miss-copied that, or if there's a bug in FTE's code.
2012-01-12 13:41:06 +09:00
Bill Currie
a66fcb8448 Implement skyboxes.
The texture assignments are incorrect, but it's otherwise working.
2012-01-12 11:05:34 +09:00
Bill Currie
8bcef272e6 Render the id skys :)
Wow... smooth.
2012-01-11 21:26:12 +09:00
Bill Currie
f6f2e4f406 Create and load the id sky shader. 2012-01-11 16:02:20 +09:00
Bill Currie
89ae6eca8b Even better?
It's difficult getting the same result because GL st are 0-1 but sw quake's
st are 0-inf % 64.
2012-01-11 07:51:15 +09:00
Bill Currie
5dbf913d41 Get the turbulence more correct.
This looks right, and should be easier to tweak.
2012-01-11 06:38:27 +09:00
Bill Currie
d2dae4cc58 Produce a saner turbulence.
I'm not quite sure it's right. Need to watch sw's turb a bit more.
2012-01-10 21:11:21 +09:00
Bill Currie
3508972d66 Draw water surfaces... with some really funky turbulence.
It seems I misunderstood the sw turbulence code.
2012-01-10 20:50:47 +09:00
Bill Currie
e38d72f50b Get brush entity rendering working.
Unfortunately, the intel driver on my eeepc doesn't like the mipmas for
plat_top2 or +2floorsw. If I either don't load their mipmaps, or skip
drawing them, things seem to work nicely.
2012-01-10 13:06:02 +09:00
Bill Currie
3326aceed8 Rewrite the texture chain index list building.
It turns out my complicated plan was just that: complicated. Although there
are currently some bugs, the method I used to build the VBO in the first
place will work equally well for building the index lists.
2012-01-09 21:16:08 +09:00
Bill Currie
754dda92ff Get the lightmap texture properly. 2012-01-09 21:13:40 +09:00
Bill Currie
ef311b60d6 Remove a now dead function. 2012-01-09 18:55:30 +09:00
Bill Currie
2b45cd693f Fix the black overbright dlights.
t was unsigned and underflowing. This fixes the problem but keeps the
bitshift unsigned clean.
2012-01-09 18:05:41 +09:00
Bill Currie
310ba49f17 Make the dynamic lightmaps... dynamic. 2012-01-09 16:46:20 +09:00
Bill Currie
0005c97865 Temporary weaks so things look halfway decent.
GL mipmaps and paletted textures don't mix, and lightmaps work quite well
with linear sampling.
2012-01-09 16:26:28 +09:00
Bill Currie
12fd6bd390 Fix the segfault on map change.
I had forgotten to call R_ClearTextures when I'd rearranged the code.
2012-01-09 10:16:54 +09:00
Bill Currie
8779755e9c Dump allocated rects for glsl_scraps BLAH. 2012-01-09 01:31:29 +09:00
Bill Currie
f658e6c32e Initialize d_lightstylevalue.
"Let there be light!", but chaos still reigns (broken lightmap updates).
2012-01-09 01:30:26 +09:00
Bill Currie
1229d24ef6 Get world rendering mostly working.
Just some problems with lightmaps. There also seem to be some issues with
seams (t-junctions?) and far clip, but they're quite separate.

There's also a problem with a segfault when loading a second map.
2012-01-08 22:09:51 +09:00
Bill Currie
7428a91526 Try, but fail, to render the world. 2012-01-08 20:39:36 +09:00
Bill Currie
ea377b80c5 Remove some redundate statements. 2012-01-08 20:38:56 +09:00
Bill Currie
f8d7bcf271 Rename R_RecursiveWorldNode to R_VisitWorldNodes in gl. 2012-01-08 18:16:33 +09:00
Bill Currie
6abaa5ea74 Build the display list for all loaded brush models.
The entire vertex set from every model is put into one list (not yet
uploaded). chains of elements arrays are build for non-instanced models
(instanced models will have their chains built each frame).
2012-01-08 17:45:44 +09:00
Bill Currie
fa82c37bd0 Pre-invert subpic->size.
I forgot to do this earlier :/
2012-01-08 17:44:28 +09:00
Bill Currie
601cc6e3d1 Make a start on bsp rendering.
Still nothing being rendered: still in the process of building the display
lists, but I'm making good progress. Get this into git before something
goes wrong :)
2012-01-08 10:29:38 +09:00
Bill Currie
ec7d01f9b2 Merge out R_TextureAnimation. 2012-01-08 10:21:08 +09:00
Bill Currie
655252a506 Fix some warnings. 2012-01-07 23:11:56 +09:00
Bill Currie
aa27a3f49c Load bsp model textures as repeating mipmaps. 2012-01-07 18:05:54 +09:00
Bill Currie
29a0dc0b68 Actually build the lightmaps, and fix a silly bug in the scrap allocator.
Also, add a command for dumping scrap statistics.
2012-01-07 15:35:08 +09:00
Bill Currie
8a5658ed61 Implement the bulk of the lightmap code.
Now just to get surface rendering going and hook in the lights.
2012-01-07 14:53:23 +09:00
Bill Currie
0993803006 Add texture sub-image management.
The planned uses are lightmaps and 2d icons.
2012-01-06 16:24:13 +09:00
Bill Currie
2ae044effd Split out vrect_t to its own file and add support functions.
The rest is cleanup after removing a wart from one of the field names.
2012-01-06 09:52:14 +09:00
Bill Currie
42266cddd5 Get models being lit by the world's lightmaps.
Even though the world isn't rendered yet.
2012-01-05 22:37:02 +09:00
Bill Currie
423e08ce21 Add demo to "movie" conversion.
It currently writes a series of png files (QF/qfmvNNNNNN.png), at a fixed
rate of 30fps, with no sound recording.
2012-01-05 19:19:37 +09:00
Bill Currie
b13a2b6dbd Move screenshots to $fs_userpath/QF.
I got tired of screenshots getting scatter across the tree. ShotsPath in
the dirconf can override this.
2012-01-05 17:07:27 +09:00
Bill Currie
297a4e2756 Put the D_FlushCaches mess back.
It turns out that when it is called is highly timing sensitive :(
However, the rest of R_ClearState remains.
2012-01-05 15:50:20 +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
c6bcd7aedb Normalize the vertex normals.
I was wondering why the lighting looked a little extreme in overkill.
2012-01-05 12:45:43 +09:00
Bill Currie
bfc743fdcd Add my point shaders before I lose them. 2012-01-04 18:47:03 +09:00
Bill Currie
8fbc6221f7 Get sprite interpolation working.
It's not perfect (it can't be), but it looks a whole lot nicer than no
interpolation.
2012-01-04 18:31:35 +09:00
Bill Currie
6050901e0e Break out the entity blend calculations.
This allows alias and sprite model lerping to share the code.
2012-01-04 18:30:47 +09:00
Bill Currie
836209e5c6 Enable lerping of alias models.
Done in hardware }:>
2012-01-04 16:36:43 +09:00
Bill Currie
f0e88bbe85 Rip out the duplicate lerp code and merge it.
While the vertex lerping needs to be duplicated in the current GL code,
there's no need for the setup code to be duplicated. Also, I want it for
GLSL.
2012-01-04 16:26:52 +09:00
Bill Currie
99381b8b8c Rework the alias vertex shader and rendering code for lerping.
Lerping isn't actually done yet (need to get both poses and blend), but
this still renders correctly with blend forced to 0.0.
2012-01-04 14:35:34 +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
fea7acd871 Enable vis calculation.
One nice thing about this project: I now KNOW that efrags works the way I
wanted it to: all those torches are now toggleable via r_novis :)
2012-01-03 23:20:01 +09:00
Bill Currie
d0a0440056 Make R_SplitEntityOnNode easier to read. 2012-01-03 23:19:21 +09:00
Bill Currie
454047ab92 Make r_novis 0 take effect immediately. 2012-01-03 23:17:49 +09:00
Bill Currie
0797183201 Merge R_MarkLeaves from gl, sw, and sw32.
Other than novis, they're functionally identical. Now sw and sw32 have
novis as well.
2012-01-03 21:09:13 +09:00