Commit graph

52 commits

Author SHA1 Message Date
Magnus Norddahl
16a8d71caf - Simplify the portal code in softpoly somewhat 2018-04-21 15:19:28 +02:00
Magnus Norddahl
ee443b6fb6 - disable software models 2018-04-14 22:22:40 +02:00
Magnus Norddahl
7e544c66fe Merge remote-tracking branch 'gzdoom/master' into swmodels 2018-04-13 21:35:21 +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
Christoph Oelckers
6d6196388e - made SPROFS a more usable feature.
This was originally invented to fix the sprite offsets for the hardware renderer.
Changed it so that it doesn't override the original offsets but acts as a second set.
A new CVAR has been added to allow controlling the behavior per renderer.
2018-03-31 10:37:46 +02:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Magnus Norddahl
52be9895b7 - Disable softpoly models 2017-12-03 00:23:28 +01:00
Magnus Norddahl
00d7dd0c64 - Implement model rendering in softpoly 2017-11-24 00:39:10 +01:00
Magnus Norddahl
5532266b14 - Fix softpoly sprite positioning bug 2017-11-20 22:43:44 +01:00
Magnus Norddahl
d7164ba4e1 - Don't apply dynamic light to fullbright sprites 2017-09-23 16:22:22 +02:00
Magnus Norddahl
f3ba92f03c - Add dynamic light to sprites 2017-09-23 14:14:59 +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
23aebaecc6 - Cleaned up some copyright statements
- Removed unused cull argument from some functions
2017-09-02 17:14:02 +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
alexey.lysiuk
eb52088487 Fixed compilation warnings reported by Clang
src/gl/scene/gl_sprite.cpp:685:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/polyrenderer/scene/poly_sprite.cpp:297:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/swrenderer/scene/r_opaque_pass.cpp:975:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/sound/mididevices/music_timiditypp_mididevice.cpp:548:30: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-08-13 16:42:08 +03:00
Magnus Norddahl
6d6c25bb26 - Add sprite adjustment to softpoly 2017-08-13 01:10:33 +02:00
Magnus Norddahl
bf38fd57b0 - Replace subsector gbuffer in softpoly with a zbuffer 2017-08-12 15:16:31 +02:00
Rachael Alexanderson
b6c15b997a - added 'r_debug_disable_vis_filter' cvar for debug purposes, to show all objects regardless of their actor filter fields. 2017-07-29 17:03:43 -04:00
Rachael Alexanderson
91ff447a90 - fixed compile from last commit
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
712d21e26a - implement per-renderer sprite hiding based on the actor's render feature flags
- hook the thing up to zscript (does not currently compile)
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
c18134dbd3 - r_vanillatrans: Cache the cache! Transform the function into a global variable and recheck at the start of D_Display 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
68b6f922f7 - Added auto-detection scheme for r_vanillatrans
It now works the following way:
(0) - Force off (ZDoom defaults)
(1) - Force on (Doom defaults)
(2) - Auto off (Prefer ZDoom defaults - if DEHACKED is detected with no ZSCRIPT it will turn on) (default)
(3) - Auto on (Prefer Doom defaults - if DECORATE is detected with no ZSCRIPT it will turn off)
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
2997f31f9f - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
89b372cb01 - Changed MF7_SPRITEFLIP, MF8_ZDOOMTRANS to RenderFlags
- Added RF_ZDOOMADD
- renamed r_canontrans to r_vanillatrans
- this developer's insanity level has increased by 231%.
2017-06-04 12:30:35 +02:00
Rachael Alexanderson
01f88cfb16 - Added 'canonical transparency' cvar r_canontrans - this simply turns off transparency for Doom objects that were marked as transparent sometime in ZDoom's development cycle 2017-06-04 12:30:35 +02:00
Christoph Oelckers
e4d2380775 - moved all remaining fields from PClassActor to FActorInfo.
- added a few access functions for FActorInfo variables.

With PClassActor now empty the class descriptors can finally be converted back to static data outside the class hierarchy, like they were before the scripting merge, and untangle the game data from VM internals.
2017-04-12 00:07:41 +02:00
Magnus Norddahl
d15def7d41 - remove TriVertex::NumVaryings as this did not help on readability at all 2017-03-28 10:52:19 +02:00
Magnus Norddahl
5adf7463cd - support render styles on decals 2017-03-27 21:59:43 +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
f178646e1a - improve sector portals rendering in softpoly
- fix a softpoly memory leak and change vertex list to be allocated using the frame allocator
2017-03-24 07:28:28 +01:00
Magnus Norddahl
d437b342db - replaced the softpoly drawers with templated versions 2017-03-21 14:12:19 +01:00
Magnus Norddahl
11e5759913 - detached the poly renderer from the software renderer 2017-03-20 08:28:16 +01:00
Christoph Oelckers
b529b1e3a7 - removed several unneeded GL headers from the software renderer's sources.
- consolidated the code to calculate a sprite's display angle for all 3 renderers.

As it turned out, they all differed in their feature support because they had always been updated independently by different people.
2017-03-16 13:49:34 +01:00
Christoph Oelckers
3aa7687d91 - made 'nocoloredspritelighting' a global option and also implemented it in the software renderer. 2017-03-16 00:56:03 +01:00
Christoph Oelckers
76d3ae5ba2 made the sector's color_* properties work in the software renderer.
With no 3D floors this appears to be ok, but there are so many places where colormaps are being set in the software renderer that I cannot guarantee that I got all of them correct. This will need some testing.
2017-03-15 23:24:53 +01:00
Christoph Oelckers
9a24771a7d - refactored FDynamicColormap out of sector_t.
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +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
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
892350ac2e Add functions to CameraLight 2017-02-03 09:00:46 +01:00
Magnus Norddahl
93166fa150 Remove r_swtruecolor variable as it is redundant 2017-02-01 21:42:08 +01:00
Magnus Norddahl
e78e76a593 Move r_viewport variables into a class 2017-02-01 16:02:21 +01:00
Magnus Norddahl
ed05a2edd3 Create CameraLight class 2017-01-26 10:22:54 +01:00
Magnus Norddahl
4bbf1ba11c Move visibility stuff into LightVisibility 2017-01-26 09:49:07 +01:00
Magnus Norddahl
6c76c8534b Change visstyle_t back to how it was in ZDoom and stop using it internally in the swrenderer 2017-01-16 16:23:02 +01:00
Magnus Norddahl
e1506df8a6 Change globvis to be picked up from the r_light values in softpoly 2017-01-13 15:22:22 +01:00