Commit graph

54 commits

Author SHA1 Message Date
Christoph Oelckers
3b024c347b - use a dedicated flag word for the dynamic light flags instead of piggybacking on some flags4 bits. 2017-06-18 10:15: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
alexey.lysiuk
4716b712b1 Fixed compilation issues with isnan()
Need to do it in pure C++ way to avoid C99 macro at all costs
Tested with CI targets, on Debian Jessie using GCC 4.9 and on Ubuntu 16.04 using GCC 5.4
2017-03-28 17:10:06 +03:00
alexey.lysiuk
020c34abfa Added workaround for undefined isnan()
All our continuous integration targets have no problems with C99 isnan() macro but on Ubuntu 16.04 compilation fails
It appeared that some implementation of C++ Standard Library may undefine bunch of C macros to avoid conflicts with own declarations
2017-03-27 17:06:21 +03:00
alexey.lysiuk
e5d4d9a36a Fixed compilation with GCC/Clang
src/swrenderer/line/r_walldraw.cpp:102:13: error: expected unqualified-id before ‘(’ token
2017-03-26 22:10:05 +03: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
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
a408ea312f Remove if statement that was always false 2017-03-13 17:54:05 +01:00
Magnus Norddahl
a663f71a9f - Added thread safety to texture loading in the software renderer 2017-03-12 22:53:20 +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
Christoph Oelckers
c008ddaf66 - replaced homegrown SWORD, SBYTE and uint32_t types. 2017-03-09 19:31:45 +01:00
Magnus Norddahl
65f8d65858 Minor code clean up 2017-03-06 23:27:02 +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
56045c1293 Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer 2017-02-23 09:02:13 +01:00
raa-eruanna
a2edca6032 - fix at least one of the GCC errors 2017-02-13 07:01:44 -05:00
Magnus Norddahl
cfe4c55973 Remove software renderer internals from F3DFloor 2017-02-04 19:13:56 +01:00
Magnus Norddahl
d9e545a519 Hook up thread slices and eliminate some statics hiding in misc functions 2017-02-04 15:51:54 +01:00
Magnus Norddahl
6f5e720576 Split drawer command queue from drawer threads 2017-02-04 12:38:05 +01:00
Magnus Norddahl
627a388d57 Move renderer singletons into a RenderThread class 2017-02-04 00:25:37 +01:00
Magnus Norddahl
892350ac2e Add functions to CameraLight 2017-02-03 09:00:46 +01:00
Magnus Norddahl
c219969b68 Fix blinking wall light regression 2017-02-02 18:46:21 +01:00
Magnus Norddahl
e90b73539e Move viewport drawing to its own folder 2017-02-02 15:10:06 +01:00
Magnus Norddahl
f3d968cf41 Move wall drawer args into functions 2017-02-02 11:16:18 +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
c486892c4a Make colfunc, wallfunc, spanfunc private and remove the rest 2017-01-30 11:43:15 +01:00
Magnus Norddahl
e17c8c1678 Split wall drawer selection from sprite 2017-01-30 11:25:25 +01:00
Magnus Norddahl
162f469630 Remove unused variables from the old 4 column drawers 2017-01-29 10:25:32 +01:00
Magnus Norddahl
7c7d6e99e9 Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs 2017-01-29 10:05:37 +01:00
Magnus Norddahl
92bd752935 Move drawerargs globals into a class and make them local 2017-01-29 07:49:04 +01:00
Magnus Norddahl
4afac0f2cc Force all drawing to go through DrawerStyle 2017-01-28 16:36:39 +01:00
Magnus Norddahl
5f38b15635 Move colfunc family of globals into a DrawerStyle class and localize its usage 2017-01-28 07:08:59 +01:00
Magnus Norddahl
ed05a2edd3 Create CameraLight class 2017-01-26 10:22:54 +01:00
Magnus Norddahl
9d9395c855 Updated the copyright 2017-01-26 06:59:20 +01:00
Magnus Norddahl
86d9594d6e Convert r_walldraw to a class 2017-01-24 08:41:35 +01:00
Magnus Norddahl
ac74a7a1e0 Refactor wall setup into ProjectedWallLine and ProjectWallTexcoords 2017-01-24 06:50:17 +01:00
Magnus Norddahl
8788a9e788 - Change all sky drawing code use to use the sky drawers
- Add support for drawing repeating skies in the sky drawers
- Add the old 4 column sky fade optimization to the 1 column variant (fixes speed regression when 4col was removed)
- Remove skyplane globals
- Remove walldraw code used to draw the old skies
2017-01-19 00:02:51 +01:00
Magnus Norddahl
9723078121 Removed dc_texturemid 2017-01-12 22:52:17 +01:00
Magnus Norddahl
bd8d2f501f Remove dc_light_list 2017-01-12 22:11:25 +01:00
Magnus Norddahl
9e940b4287 Remove basecolormap global 2017-01-12 21:29:19 +01:00
Magnus Norddahl
929e07697d Remove foggy global 2017-01-12 20:13:21 +01:00
Magnus Norddahl
f912b4ab8b Convert r_actualextralight global to a function 2017-01-12 19:09:13 +01:00
Magnus Norddahl
80e1844d6c Split r_main into r_viewport, r_scene and r_light 2017-01-12 16:21:46 +01:00
Magnus Norddahl
3f8e5d26b8 Rename RenderBSP to RenderOpaquePass and RenderTranslucent to RenderTranslucentPass 2017-01-11 20:42:39 +01:00
Magnus Norddahl
e806b9424c Move r_portal into a class 2017-01-05 04:55:26 +01:00
Magnus Norddahl
5f8075f726 Convert r_3dfloors to a class 2017-01-04 18:54:14 +01:00
Magnus Norddahl
abdc7f9ff1 Move WindowLeft, WindowRight, MirrorFlags to r_portal 2017-01-03 19:25:00 +01:00