Commit Graph

181 Commits

Author SHA1 Message Date
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 39b1908be8 Sanitize wall computation code a bit and fixes a problem with crossing slopes (E1L3 vertical security doors and E2L4 starting door).
git-svn-id: https://svn.eduke32.com/eduke32@1311 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 19:26:02 +00:00
plagman b47ad2bde2 Works around a precision bug that would cause the sloped floor in the E1L1 bathroom vent to have a wrong normal matrix.
git-svn-id: https://svn.eduke32.com/eduke32@1310 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:37:35 +00:00
plagman 9152cf3b40 Fix detail mapping on ATI cards.
git-svn-id: https://svn.eduke32.com/eduke32@1309 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 17:29:50 +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 b73cc663eb Correctly invalidate the GPU programs and skybox VBO on modeswitches.
git-svn-id: https://svn.eduke32.com/eduke32@1300 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-12 09:57:25 +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 2994614501 Reduce near-clipping range and fixes a bug with one-way walls that are also map limits.
git-svn-id: https://svn.eduke32.com/eduke32@1294 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-02 17:17:24 +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 8181b1141d Fixes the bug where the renderer would get in "external view" mode on slopes.
git-svn-id: https://svn.eduke32.com/eduke32@1291 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 18:11:01 +00:00
plagman a4c5af4d37 Fixes shadow bug.
git-svn-id: https://svn.eduke32.com/eduke32@1290 1a8010ca-5511-0410-912e-c29ae57300e0
2009-04-01 17:58:22 +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 13033e9c29 Fix mirrors and model animation.
git-svn-id: https://svn.eduke32.com/eduke32@1287 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 21:08:52 +00:00
plagman 74a9338243 E1L2 door fix.
git-svn-id: https://svn.eduke32.com/eduke32@1286 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-29 19:31:24 +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 13243ffeae Tie mirror map reflections to specular map texels.
git-svn-id: https://svn.eduke32.com/eduke32@1282 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 16:50:46 +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 fe8775cb21 Sanitize texture coordinate usage in the GPU program. That allows normal and glow maps to benefit from the diffuse map scale.
git-svn-id: https://svn.eduke32.com/eduke32@1280 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 15:54:25 +00:00
plagman 83fc79300e Adds specpower and specfactor tokens for model skins.
git-svn-id: https://svn.eduke32.com/eduke32@1279 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-28 15:19:44 +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 1d2a7c2982 Don't mirror stuff when drawing the shadow maps and don't cast shadows on models for now.
git-svn-id: https://svn.eduke32.com/eduke32@1272 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 11:39:10 +00:00
plagman 5a843f0fd1 Sprite and model shadows.
Also fixes a bug with shadows and mirrors.

git-svn-id: https://svn.eduke32.com/eduke32@1271 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-27 10:39:18 +00:00
plagman f285ad903c Fix blinkiness.
git-svn-id: https://svn.eduke32.com/eduke32@1270 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 17:45:12 +00:00
plagman 88c7967d02 Shadow fix.
git-svn-id: https://svn.eduke32.com/eduke32@1269 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-26 16:41:06 +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 a4070de923 Corrects E1L7 rotating lava bug and minor indentation quirk.
git-svn-id: https://svn.eduke32.com/eduke32@1264 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 16:25:20 +00:00
plagman 6e2bac1c92 Little multi-light optimization.
git-svn-id: https://svn.eduke32.com/eduke32@1263 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 10:24:33 +00:00
plagman a11513c907 Fixes a problem where mirrors and masked walls wouldn't display under certain circumstances.
git-svn-id: https://svn.eduke32.com/eduke32@1262 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 10:09:53 +00:00
plagman 8a2916c2cc Fixes a texture bug.
git-svn-id: https://svn.eduke32.com/eduke32@1261 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-24 09:37:30 +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 62d3116325 Reorganize point light GPU program a bit.
git-svn-id: https://svn.eduke32.com/eduke32@1243 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-12 21:20:01 +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 e158a9e71c Basic model bounding sphere light culling and corrected the bounding sphere calculation algorithm. Note that light still leaks to models/sprites on overlapping sectors, but not on the sectors themselves.
git-svn-id: https://svn.eduke32.com/eduke32@1240 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 17:49:34 +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 9995cc46c2 Repack model geometry as floats (preliminary work for model normals).
git-svn-id: https://svn.eduke32.com/eduke32@1238 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 12:08:33 +00:00
plagman dec9c2cbac Model bounding box and sphere computation.
git-svn-id: https://svn.eduke32.com/eduke32@1237 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-10 09:26:25 +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 7d7a705af9 Work around a precision bug that would cause colinear wall vectors to only be "almost" colinear, causing the cross product to be wrongly validated and resulting in bogus normal vectors for some surfaces.
git-svn-id: https://svn.eduke32.com/eduke32@1234 1a8010ca-5511-0410-912e-c29ae57300e0
2009-03-08 21:07:40 +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 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 6fe53806c7 Fixes a crash when disabling high-res texture replacements.
git-svn-id: https://svn.eduke32.com/eduke32@1226 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 13:10:01 +00:00
plagman ee105f1883 Proper hightile sprite calculation (fixes HRP explosion size).
git-svn-id: https://svn.eduke32.com/eduke32@1225 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 13:05:56 +00:00
plagman 46aa3d439a Propagate build/polymost locals so that polymost_dorotatesprite can correctly draw HUD models on top of polymer.
git-svn-id: https://svn.eduke32.com/eduke32@1224 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 12:30:08 +00:00
plagman 6f945cdb58 Correct calculation of vertical aiming angle.
git-svn-id: https://svn.eduke32.com/eduke32@1223 1a8010ca-5511-0410-912e-c29ae57300e0
2009-02-13 12:16:21 +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
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 2ac3fe6312 Extends materials to mdsprites and also fixes a bug where mdsprites got the wrong pal.
git-svn-id: https://svn.eduke32.com/eduke32@1165 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-26 19:31:26 +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 31c1db57d7 Remove C99-style initializers from the polymer program bits.
git-svn-id: https://svn.eduke32.com/eduke32@1160 1a8010ca-5511-0410-912e-c29ae57300e0
2008-11-26 07:48:24 +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
Renamed from polymer/build/src/polymer.c (Browse further)