Commit graph

205 commits

Author SHA1 Message Date
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
Rachael Alexanderson
8dff91915a - remove vestigial version.h include from r_portal.cpp. This should stop r_all.o from compiling every single commit. 2017-07-31 11:12:08 -04: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
Magnus Norddahl
bf4d7234e1 - Increase MAXWIDTH and MAXHEIGHT defines to support supersampled 5K monitors 2017-07-23 22:04:00 +02:00
Christoph Oelckers
ffc529d100 - let r_*_cull variables default to 0. 2017-07-20 14:23:45 +02:00
Magnus Norddahl
c38d0c1637 Merge branch 'line_distance_cull' into qzdoom
# Conflicts:
#	src/swrenderer/scene/r_opaque_pass.cpp
2017-07-12 07:11:43 +02:00
Magnus Norddahl
7d1de667be - Added r_line_distance_cull cvar that culls lines beyond the specified distance 2017-07-12 06:56:34 +02:00
Rachael Alexanderson
e1b4bb11ba Merge https://github.com/coelckers/gzdoom 2017-07-09 20:09:12 -04:00
Magnus Norddahl
ddd1b629c3 - Calculate globvis/r_visibility in r_utility and use it in GL and poly renderers 2017-07-09 19:01:34 +02:00
Rachael Alexanderson
6a402c28d8 Merge https://github.com/coelckers/gzdoom 2017-07-02 16:36:46 -04:00
Rachael Alexanderson
aa2a39da19 Revert "- Remove r_sprite_distance_cull"
This reverts commit 44546ce16a.
2017-07-02 16:35:40 -04:00
Magnus Norddahl
6d8281c812 - Fix voxel clipping for r_scene_multithreaded 2017-07-02 18:22:28 +02:00
Magnus Norddahl
4545539045 - Add polyobj support to r_scene_multithreaded 2017-07-02 17:22:59 +02:00
Magnus Norddahl
efb1a8d113 - Don't add 3D floor dummy draw segments to the list 2017-07-02 14:46:19 +02:00
Magnus Norddahl
e19c8eba62 - Switch sprite drawing to use the interesting draw segments list
- Stop adding 3D floor "fake" draw segments to the interesting segments list
- Rename InterestingSegments list to TranslucentSegments
2017-07-01 23:55:41 +02:00
Magnus Norddahl
42fedd0f4c - Improve sprite performance when there are many draw segments 2017-07-01 03:31:06 +02:00
Magnus Norddahl
44546ce16a - Remove r_sprite_distance_cull 2017-07-01 03:29:28 +02:00
Magnus Norddahl
0cd575363f - Add r_sprite_distance_cull that per default culls all things further than 5000 units away 2017-06-28 19:55:11 +02:00
Magnus Norddahl
9c3361dfe2 - Fix stat fps to write something slightly more useful 2017-06-27 21:15:26 +02:00
Magnus Norddahl
f34ededdef - Improved fuzz rendering in software renderer by scaling it relative to 320x200 2017-06-25 00:35:15 +02:00
Rachael Alexanderson
e290274fb7 - fixed: Now fully fixed the 3d floor + fog boundary issue.
- Revert "- Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this."

This reverts commit 7e292fbfec.
2017-06-19 17:19:44 -04:00
Rachael Alexanderson
7e292fbfec - Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this. 2017-06-19 17:05:53 -04: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
Magnus Norddahl
c30010370e - Fix voxels not being rendered when the replaced sprite texture doesn't exist 2017-06-01 00:26:25 +02:00
Christoph Oelckers
9d73e4c635 - fixed errors in wallsprite setup for the classic software renderer:
* it did not use the correct texture.
* it had a math error in the right edge's y-coordinate calculation.
2017-05-23 09:37:38 +02:00
Magnus Norddahl
e27e89b57d - Make sure a hung worker thread always crashes the application 2017-05-21 12:03:12 +02:00
Rachael Alexanderson
2acb485121 - Added +SPRITEFLIP which reverses a sprite's left-rightness. 2017-05-03 21:13:31 +02:00
Christoph Oelckers
57d703236b - changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files. 2017-04-17 12:27:19 +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
f049e6145b - remove all usage of std::make_unique to keep things C++11 compliant 2017-04-11 01:25:44 +02: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
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
921bc763fb - separated the software-renderer-specific parts of colormap processing from the common parts.
- moved testcolor and test fades into SWRenderer files.

These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +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
225ce82a5a - turned r_scene_multithreaded back off as zdcmp2 revealed some problems 2017-03-15 04:01:28 +01:00
Magnus Norddahl
366d1637ce - enable r_scene_multithreaded 2017-03-15 03:01:43 +01:00
Magnus Norddahl
3838ec3edc - allow drawer queues to run immediately to improve r_scene_multithreaded performance
- removed unused pass ranges in DrawerThread
2017-03-14 23:03:14 +01:00
Christoph Oelckers
d86bd470e5 - moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code. 2017-03-14 18:31:11 +01:00
Christoph Oelckers
5141fee8c0 - reverted the change of position where polyobjects get linked to the subsectors. 2017-03-13 21:17:25 +01:00
Magnus Norddahl
a08f35fe3b Fix missing player sprites in some situations when r_scene_multithreaded is on 2017-03-13 19:19:46 +01:00
Magnus Norddahl
00f6ed45a2 Make LightVisibility thread local 2017-03-12 20:40:00 +01:00
Magnus Norddahl
6788b19e89 - stop using PORTSF_INSKYBOX flag in software renderer as it is not thread safe 2017-03-12 19:43:40 +01:00
Magnus Norddahl
3113db798d Debug build compile fix 2017-03-12 19:10:52 +01:00