plagman
0d6dc3a531
Model normal mapping support. This calculates the averaged texture-tangent basis for every face of every model when loading them, so this change will make startup times a lot worse until we implement a way to cache the computed models to disk.
...
git-svn-id: https://svn.eduke32.com/eduke32@1594 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-24 05:57:43 +00:00
terminx
e65891aad6
Very few actual changes... mostly formatting fixes from astyle
...
git-svn-id: https://svn.eduke32.com/eduke32@1593 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-23 22:12:02 +00:00
plagman
f3802b7897
Properly invert the tangent space matrix instead of transposing it (after all, model tangent space isn't guaranteed to be orthogonal) and do so offline. This removes a little strain from the GPU.
...
git-svn-id: https://svn.eduke32.com/eduke32@1591 1a8010ca-5511-0410-912e-c29ae57300e0
2010-01-21 05:52:19 +00:00
plagman
905abc3091
Proper editor picking code for Polymer. Also fixes a bunch of tabs that MSVC snuck in polymer.c.
...
git-svn-id: https://svn.eduke32.com/eduke32@1554 1a8010ca-5511-0410-912e-c29ae57300e0
2009-12-07 07:01:44 +00:00
terminx
20c028b2e9
Memory cleanups, use Bm/c/realloc/free everywhere (configured as nedmalloc version in compat.h), add large page support for Vista/7, tweak nedmalloc settings, add support for projecting textures from SE50 spotlights placed in maps via sprite owner member (manipulated through CONs via sprite htpicnum member), fix building Mapster32 with MSVC, increase PR_MAXLIGHTS to 1024
...
git-svn-id: https://svn.eduke32.com/eduke32@1527 1a8010ca-5511-0410-912e-c29ae57300e0
2009-10-07 06:47:35 +00:00
plagman
dee579c030
Custom aspect ratio support for Polymer: r_pr_customaspect. Implements bug 2799107.
...
git-svn-id: https://svn.eduke32.com/eduke32@1507 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-30 14:32:11 +00:00
terminx
fe6e27e819
Use C versions of divscale##() instead of asm to work around an overflow with drawmapview(), get rid of leftover custom 'int64' type in favor of int64_t, other minor fixes
...
git-svn-id: https://svn.eduke32.com/eduke32@1492 1a8010ca-5511-0410-912e-c29ae57300e0
2009-09-09 07:19:14 +00:00
terminx
a9c8d071a6
Couple weeks worth of random bs changes
...
git-svn-id: https://svn.eduke32.com/eduke32@1490 1a8010ca-5511-0410-912e-c29ae57300e0
2009-08-28 23:08:00 +00:00
terminx
1538f39289
fix building with MSVC after Helixhorned's commit
...
fix FastLZ mipmap corruption issue
fix Polymer MSVC warnings
rewrote qsprintf to take up to 32 parameters, either quotes or gamevars
added qstrncat to concatenate n characters of one quote to another
exposed internal sectorofwall() function to CON
changed CON parser to count ( ) ; and , as whitespace so people can make their code more readable
added ACTIVATOR and ACTIVATORLOCKED support to SE49 and SE50
added SPRITE_USEACTIVATOR flag to allow actor execution based on whether a sector is "locked" or not
rearranged a few structures for faster array lookups
fixed EVENT_HOLSTER
git-svn-id: https://svn.eduke32.com/eduke32@1457 1a8010ca-5511-0410-912e-c29ae57300e0
2009-07-12 01:55:34 +00:00
plagman
5cdc55591b
Adds r_pr_ati_nodepthoffset and the proper detection code to winlayer and sdlayer to make polymer run properly on R520-class Radeon chips. A bug needs to be filed to AMD.
...
git-svn-id: https://svn.eduke32.com/eduke32@1446 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-28 21:16:11 +00:00
plagman
9556762493
Changes r_pr_atiworkaround to r_pr_ati_fboworkaround and ports the detection code to SDLayer.
...
git-svn-id: https://svn.eduke32.com/eduke32@1445 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-28 21:03:50 +00:00
terminx
47a9332a16
More memory pool crap, startup window log update fixes, gameland light changes and minor polymer fixes
...
git-svn-id: https://svn.eduke32.com/eduke32@1430 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-13 21:06:45 +00:00
plagman
8982670fbc
Sanitizes prsector and prwall flags, fixes a mempool crash when exiting the game before the engine gets initialized, and adds polymer_texinvalidate() to fix water/nightvision global palette change. SwissCM is still an asshole.
...
git-svn-id: https://svn.eduke32.com/eduke32@1428 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 09:32:23 +00:00
terminx
2f86c2a20f
Cleaning out tree... some light changes, polymer memory pools, some meaningless optimizations, etc
...
git-svn-id: https://svn.eduke32.com/eduke32@1425 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 06:19:58 +00:00
terminx
fab4638ca8
nedmalloc, from http://www.nedprod.com/programs/portable/nedmalloc/
...
greatly speeds up memory allocations
git-svn-id: https://svn.eduke32.com/eduke32@1424 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-09 02:12:35 +00:00
terminx
9973478a9d
Fix rendmode != 4 SE light crashes
...
git-svn-id: https://svn.eduke32.com/eduke32@1423 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-08 00:31:53 +00:00
plagman
e8cbecf935
This adds support for animated, palettized and shaded skies.
...
git-svn-id: https://svn.eduke32.com/eduke32@1418 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 18:38:13 +00:00
plagman
a8cd07d692
Fixes light culling.
...
git-svn-id: https://svn.eduke32.com/eduke32@1413 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-07 12:51:00 +00:00
terminx
0744452216
More light stuff... most gameland lights should be working again now
...
git-svn-id: https://svn.eduke32.com/eduke32@1409 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 22:30:53 +00:00
plagman
0688522507
Adds r_pr_shadowfiltering and r_pr_atiworkaround cvars.
...
git-svn-id: https://svn.eduke32.com/eduke32@1408 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 16:00:48 +00:00
plagman
dbb84c7ee8
Reverts the priority change and removes applylights.
...
git-svn-id: https://svn.eduke32.com/eduke32@1404 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 13:12:29 +00:00
terminx
d4bca26bd9
Light stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@1402 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-06 10:20:00 +00:00
plagman
a23c9c23ba
This overhauls the light culling/management code. Note: this renders the current gameland dynamic light code useless, to it'll have to be ported before they're back. Please don't complain on the forums.
...
git-svn-id: https://svn.eduke32.com/eduke32@1397 1a8010ca-5511-0410-912e-c29ae57300e0
2009-06-01 20:55:36 +00:00
terminx
8474211c95
Misc small fixes
...
git-svn-id: https://svn.eduke32.com/eduke32@1390 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-22 23:49:25 +00:00
plagman
5eae5cdc50
Moves editorselect and clearmapdata to non-external function categories, makes them static and prototypes them in the header.
...
git-svn-id: https://svn.eduke32.com/eduke32@1387 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-17 16:12:53 +00:00
plagman
a5f8978a9f
Spotlightmaps.
...
git-svn-id: https://svn.eduke32.com/eduke32@1377 1a8010ca-5511-0410-912e-c29ae57300e0
2009-05-12 20:08:38 +00:00
terminx
30a649c86f
Some more cvar stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@1355 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-29 19:43:51 +00:00
terminx
ec0a8f2033
Modified priority system to use 6 priority levels instead of 3, added proper def syntax "specular" and "normal" which work identically to "detail" and "glow" for defining normals and specular maps (defining these with pals 100 and 101 will no longer work)
...
git-svn-id: https://svn.eduke32.com/eduke32@1350 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-28 22:56:43 +00:00
plagman
9241ab974a
Don't step over the bounds of the plane buffer in buffertoplane (now computeplane).
...
git-svn-id: https://svn.eduke32.com/eduke32@1334 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-19 17:23:07 +00:00
plagman
5b3524d621
Message log cleanup for GPU program compilation and removed a GL error.
...
git-svn-id: https://svn.eduke32.com/eduke32@1324 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 13:58:38 +00:00
plagman
2ac7c2dc1e
ATI fixes. (sigh)
...
git-svn-id: https://svn.eduke32.com/eduke32@1323 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 12:37:44 +00:00
plagman
b006c85790
Update the TODO list and fix the light leaking fix.
...
git-svn-id: https://svn.eduke32.com/eduke32@1322 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-14 08:39:13 +00:00
terminx
3d7a6a3572
git-svn-id: https://svn.eduke32.com/eduke32@1316 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-13 06:53:03 +00:00
terminx
22a7ec1b3b
git-svn-id: https://svn.eduke32.com/eduke32@1315 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-13 06:01:50 +00:00
terminx
ec71eebecb
git-svn-id: https://svn.eduke32.com/eduke32@1312 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 21:52:49 +00:00
plagman
26a9a58af3
Adds a bunch of cvars to tweak polymer.
...
git-svn-id: https://svn.eduke32.com/eduke32@1307 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:14:18 +00:00
plagman
82153bd763
Clean up a bit of dead code.
...
git-svn-id: https://svn.eduke32.com/eduke32@1306 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 16:39:54 +00:00
plagman
b7449a87b9
Light priority system.
...
git-svn-id: https://svn.eduke32.com/eduke32@1305 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 16:28:20 +00:00
plagman
567c0bdd86
Per-frame lights cleanup.
...
git-svn-id: https://svn.eduke32.com/eduke32@1304 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 13:51:43 +00:00
plagman
80670cac29
Game-tic lights and recon car headlights.
...
git-svn-id: https://svn.eduke32.com/eduke32@1303 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 13:02:36 +00:00
plagman
6477b236b2
Minshade and maxshade parameters for dynamic lighthacks.
...
git-svn-id: https://svn.eduke32.com/eduke32@1302 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 12:32:50 +00:00
plagman
35691be969
Fixes models after modeswitches on Windows and removes warnings.
...
git-svn-id: https://svn.eduke32.com/eduke32@1301 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 10:46:31 +00:00
plagman
652262626a
Polymost-like shading.
...
git-svn-id: https://svn.eduke32.com/eduke32@1298 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-11 18:01:39 +00:00
plagman
68cad843f6
Adds pr_maxlightpasses cvar.
...
git-svn-id: https://svn.eduke32.com/eduke32@1293 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:52:15 +00:00
plagman
82605aa44c
Don't prepare shadows of lights that aren't in view.
...
git-svn-id: https://svn.eduke32.com/eduke32@1292 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:34:11 +00:00
plagman
6209446b1f
Lighthacks.
...
git-svn-id: https://svn.eduke32.com/eduke32@1288 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-31 23:23:06 +00:00
plagman
3d6b06e958
pr_specularoverride and less retarded default values for the parallax overrides.
...
git-svn-id: https://svn.eduke32.com/eduke32@1285 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 17:14:41 +00:00
plagman
9b4dae022d
4-step Iterative parallax mapping, parallaxscale and parallaxbias DEF tokens for normal maps, support for floating-point cvars, pr_overrideparallax cvar to fine-tune the scale and bias settings.
...
git-svn-id: https://svn.eduke32.com/eduke32@1284 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 15:16:33 +00:00
plagman
73149ef78b
Faster normal mapping.
...
git-svn-id: https://svn.eduke32.com/eduke32@1283 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 18:25:30 +00:00
plagman
33d75c0cc7
Specular maps (pal 101).
...
git-svn-id: https://svn.eduke32.com/eduke32@1281 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 16:14:10 +00:00
plagman
50af4984ad
Adds specpower and specfactor definition tokens for textures.
...
git-svn-id: https://svn.eduke32.com/eduke32@1278 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 12:14:37 +00:00
plagman
df26ab3c7d
Sanitize terminology a bit.
...
git-svn-id: https://svn.eduke32.com/eduke32@1277 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 11:43:16 +00:00
plagman
6e13967287
Hack to avoid horizontal shadow maps.
...
git-svn-id: https://svn.eduke32.com/eduke32@1274 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 13:46:40 +00:00
plagman
0cd0afa945
Cast light on models and self-shadowing.
...
git-svn-id: https://svn.eduke32.com/eduke32@1273 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 12:56:42 +00:00
plagman
ed3198b65f
Shadows.
...
git-svn-id: https://svn.eduke32.com/eduke32@1268 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 16:32:00 +00:00
plagman
b2e3b85e6d
Spotlight frustum caculation and culling.
...
git-svn-id: https://svn.eduke32.com/eduke32@1267 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 21:14:51 +00:00
plagman
bd69a9a286
Spotlights.
...
git-svn-id: https://svn.eduke32.com/eduke32@1266 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 19:48:27 +00:00
plagman
53bbdc9cd7
Optimize lighting model a bit.
...
git-svn-id: https://svn.eduke32.com/eduke32@1265 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-25 13:23:35 +00:00
plagman
b5c4b521f7
Render targets, FBO mirrors with normal displacement, fix for masked walls with animated walls, various cleanups.
...
git-svn-id: https://svn.eduke32.com/eduke32@1255 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-23 14:18:20 +00:00
plagman
68866d606e
Do a depth only pass before actual rendering and only occlusion check for map boundary sectors.
...
git-svn-id: https://svn.eduke32.com/eduke32@1252 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-18 15:05:58 +00:00
plagman
f982323443
Bump mapping (hardcoded to palette 100 for now, will do the defs glue later to make it more convenient to package the source for public releases).
...
TODO: use the inverse TBN on a world-space light vector instead of transforming every fragment interpolated normal into eye-space with the TBN * the view matrix.
git-svn-id: https://svn.eduke32.com/eduke32@1244 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-13 15:18:46 +00:00
plagman
8bdb217ca1
Multi-pass shading and correct a light culling bug.
...
git-svn-id: https://svn.eduke32.com/eduke32@1242 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-12 13:51:30 +00:00
plagman
09ef2dae34
Calculate inverse TBN matrix for planes.
...
git-svn-id: https://svn.eduke32.com/eduke32@1241 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-11 13:23:05 +00:00
plagman
512bb9a5ab
MD3 normals.
...
git-svn-id: https://svn.eduke32.com/eduke32@1239 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 14:30:34 +00:00
plagman
e41322dd47
Sprite lighting.
...
git-svn-id: https://svn.eduke32.com/eduke32@1235 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 22:59:54 +00:00
plagman
ad1091b2df
Light culling and proper diffuse material.
...
git-svn-id: https://svn.eduke32.com/eduke32@1233 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 20:38:51 +00:00
plagman
3da52aede8
Update TODO list to current state of things.
...
git-svn-id: https://svn.eduke32.com/eduke32@1232 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-03 21:12:17 +00:00
plagman
dec76c4907
Glue code between internal light source management and the game.
...
git-svn-id: https://svn.eduke32.com/eduke32@1227 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-14 14:31:58 +00:00
plagman
dba29b0fbe
Shader Model 3 "compatibility" for multilights. The light count will be arbitrarily limited and performance will be suboptimal, but it should work.
...
git-svn-id: https://svn.eduke32.com/eduke32@1222 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-05 08:56:59 +00:00
plagman
03b6403312
Very tentative attempt at backwards-compatible multi-lights.
...
git-svn-id: https://svn.eduke32.com/eduke32@1219 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-23 10:59:18 +00:00
plagman
91c6cf8f7a
Multiple light sources and repair the indentation fuckup caused by the transition to normalized integer types.
...
git-svn-id: https://svn.eduke32.com/eduke32@1212 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-16 05:03:12 +00:00
plagman
d1b9aa4c5c
I'm about to change the core lighting code pretty deeply and I'll be happy to have this revision as a working backup after I screw everything up.
...
git-svn-id: https://svn.eduke32.com/eduke32@1211 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-14 14:13:51 +00:00
terminx
9095a4911d
git-svn-id: https://svn.eduke32.com/eduke32@1206 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-10 07:38:50 +00:00
terminx
d6914ed108
ass rape
...
git-svn-id: https://svn.eduke32.com/eduke32@1205 1a8010ca-5511-0410-912e-c29ae57300e0
2009-01-09 09:29:17 +00:00
terminx
c94b4d63cb
separate objects for polymost.c/mdsprite.c/hightile.c and friends
...
git-svn-id: https://svn.eduke32.com/eduke32@1173 1a8010ca-5511-0410-912e-c29ae57300e0
2008-12-02 10:44:39 +00:00
plagman
f062dafaed
Light my fire.
...
git-svn-id: https://svn.eduke32.com/eduke32@1170 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-29 20:16:19 +00:00
plagman
0c869a2254
Fullbright/glow material bit.
...
git-svn-id: https://svn.eduke32.com/eduke32@1169 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-27 23:00:57 +00:00
plagman
b50b229c1d
Detail map material bit.
...
git-svn-id: https://svn.eduke32.com/eduke32@1168 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-27 22:26:46 +00:00
plagman
f0c5278293
Added model animation interpolation in the material system.
...
git-svn-id: https://svn.eduke32.com/eduke32@1167 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-27 16:19:24 +00:00
plagman
b60ee26a25
Moved sprite flipping in the material code and implemented polymost texture scaling.
...
git-svn-id: https://svn.eduke32.com/eduke32@1164 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-26 17:24:08 +00:00
plagman
e884cef8df
Factor the material code that's all over the place.
...
git-svn-id: https://svn.eduke32.com/eduke32@1163 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-26 14:22:07 +00:00
plagman
b8c7125222
Diffuse map bit and _prprograminfo for storing possible uniform and attributes locations.
...
git-svn-id: https://svn.eduke32.com/eduke32@1162 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-26 08:37:14 +00:00
plagman
0f385d3021
Material/program validation and diffuse modulation bit.
...
git-svn-id: https://svn.eduke32.com/eduke32@1154 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-25 11:32:49 +00:00
plagman
bd98e3676b
In a material world...
...
git-svn-id: https://svn.eduke32.com/eduke32@1153 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-25 10:42:22 +00:00
plagman
08923413f2
Polymer GPU program management stuff.
...
git-svn-id: https://svn.eduke32.com/eduke32@1152 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-25 09:07:38 +00:00
terminx
d9867cfaaf
Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake
...
git-svn-id: https://svn.eduke32.com/eduke32@1105 1a8010ca-5511-0410-912e-c29ae57300e0
2008-10-20 03:09:19 +00:00