Commit graph

308 commits

Author SHA1 Message Date
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)