Commit graph

52 commits

Author SHA1 Message Date
Christoph Oelckers
cd25b4be4f - use a TArray to store the particles and remove all 16 bit global variables.
This means one less exit function to deal with - and these days 16 bit variables are a pointless attempt at saving space.
2018-12-15 10:04:49 +01:00
Magnus Norddahl
6d6ee1281e - softpoly: fix normal walls not getting rendered for subsectors with poly objects in them 2018-07-01 14:41:35 +02:00
Magnus Norddahl
bce49ad7c8 - fix Software models don't display over nonexistent sprites 2018-06-17 14:56:34 +02:00
Magnus Norddahl
a91147a3a5 - move DrawArray and DrawElements to PolyTriangleDrawer 2018-06-10 15:58:01 +02:00
Magnus Norddahl
5464d2a577 - add dynamic lights to softpoly and software renderer models 2018-06-05 22:43:11 +02:00
Magnus Norddahl
190b673890 - Modify TriBlendMode enum to match the render styles 2018-05-26 23:06:23 +02:00
Christoph Oelckers
9bdb0f2e49 - renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
2018-05-01 11:29:29 +02:00
Magnus Norddahl
45625399dc - fix softpoly line portals 2018-04-23 23:09:11 +02:00
Magnus Norddahl
2aee68d215 - slightly improve sector portal handling in softpoly 2018-04-23 01:03:37 +02:00
Magnus Norddahl
6e77cb4906 - fix softpoly mirrors 2018-04-22 23:29:39 +02:00
Magnus Norddahl
16a8d71caf - Simplify the portal code in softpoly somewhat 2018-04-21 15:19:28 +02:00
Magnus Norddahl
f5c2ffabc9 - fix softpoly portal crash and blinking translucent objects 2018-04-16 01:08:29 +02:00
Magnus Norddahl
61032cb6ae - fix softpoly portal crash 2018-04-15 14:40:52 +02:00
Magnus Norddahl
2d51fa5b43 - Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Magnus Norddahl
a2b9a70835 - Fix crash when reloading a map 2018-03-17 00:09:43 +01:00
Magnus Norddahl
e71e4b6dc8 - Improved transfer heights support in softpoly 2017-09-30 23:58:11 +02:00
Magnus Norddahl
94a33229cc - Remove unused function argument 2017-09-22 00:56:14 +02:00
Magnus Norddahl
4d671fb618 - Improve softpoly culling performance 2017-09-10 16:29:57 +02:00
Magnus Norddahl
4706c56690 - Fix portals crashing softpoly 2017-09-10 02:17:18 +02:00
Magnus Norddahl
7a1274ab76 - Collect all PVS information first so that processing the individual sectors can be done on multiple threads 2017-09-07 00:34:09 +02:00
Magnus Norddahl
dd0bc02eec - Convert PolyTranslucentObject to be a base class for all the different forms of translucent objects to be drawn 2017-09-02 18:17:55 +02:00
Magnus Norddahl
23aebaecc6 - Cleaned up some copyright statements
- Removed unused cull argument from some functions
2017-09-02 17:14:02 +02:00
Magnus Norddahl
0f0cf7261e - Remove unused code 2017-09-02 15:02:06 +02:00
Magnus Norddahl
b80bf6930a - Translucent 3d floor plane support 2017-09-02 02:51:09 +02:00
Magnus Norddahl
fbaa3e7cb0 - Removed unused cull function argument 2017-09-02 01:34:36 +02:00
Magnus Norddahl
e851734b33 - Added translucent 3d floor walls support 2017-09-02 01:24:57 +02:00
Magnus Norddahl
293f62fcd2 - Striped wall (lightlist) support
- Add two extra clipping planes to poly backend
- Make ShadedTriVertex internal to drawer backend
2017-08-27 23:26:54 +02:00
Magnus Norddahl
05ca52d693 - Fix texture coordinates for 3d floor walls 2017-08-19 00:53:41 +02:00
Magnus Norddahl
c2fa360bbc - Improve 3d floor and underwater rendering 2017-08-17 22:34:23 +02:00
Magnus Norddahl
bf38fd57b0 - Replace subsector gbuffer in softpoly with a zbuffer 2017-08-12 15:16:31 +02:00
Magnus Norddahl
3b8570003a - Improved softpoly sprite clipping 2017-06-10 11:16:58 +02:00
Magnus Norddahl
31125486ad - Improve line portal rendering somewhat 2017-05-14 08:55:30 +02:00
Magnus Norddahl
5c6cbd17a1 - Move polyobj rendering to be handled as a special case in RenderPolyScene 2017-05-12 17:26:17 +02:00
Magnus Norddahl
0537e9c1ba - implement all styles for sprites in softpoly 2017-03-27 21:03:51 +02:00
Magnus Norddahl
a12f0862c9 - remove softpoly intersection math class 2017-03-26 17:12:20 +02:00
Magnus Norddahl
ffc90f16ab - Simplify the PolyDrawArgs interface 2017-03-26 10:10:55 +02:00
Magnus Norddahl
7b58eab332 - fix softpoly light visibility bug 2017-03-26 05:28:27 +02:00
Magnus Norddahl
321e2da979 - initialize clipper with the view frustum for better performance
- change translucent objects to be pointers for faster sorting
2017-03-24 22:04:07 +01:00
Magnus Norddahl
c21037fb03 - fix sky sector portals 2017-03-24 02:11:24 +01:00
Magnus Norddahl
e12f48699e - fix the culling bugs in softpoly by switching to a pseudo-angle clipper 2017-03-23 03:41:44 +01:00
Magnus Norddahl
11e5759913 - detached the poly renderer from the software renderer 2017-03-20 08:28:16 +01:00
Christoph Oelckers
fea4079b7c - moved nodes into FLevelLocals. 2017-03-17 01:42:37 +01:00
Christoph Oelckers
f201dab534 - moved the subsectors into FLevelLocals. 2017-03-17 00:22:52 +01:00
Christoph Oelckers
2b2c986bd0 - cleanup of GL renderer interface and improper header use in software renderer. 2017-03-16 21:34:03 +01:00
Magnus Norddahl
00f6ed45a2 Make LightVisibility thread local 2017-03-12 20:40:00 +01:00
Magnus Norddahl
5fdbbc4f9e Remove usage of r_viewpoint and r_viewwindow globals from software renderer and poly renderer 2017-03-12 18:54:39 +01:00
Magnus Norddahl
0c9014b984 - move r_utility globals into r_viewpoint and r_viewwindow
- change r_utility functions to only work on FRenderViewpoint and FViewWindow
2017-03-11 23:28:07 +01:00
Christoph Oelckers
d2beacfc5f - except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types. 2017-03-09 19:54:41 +01:00
Rachael Alexanderson
28abc96aef - fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00
Magnus Norddahl
4bbf1ba11c Move visibility stuff into LightVisibility 2017-01-26 09:49:07 +01:00