Commit graph

328 commits

Author SHA1 Message Date
Christoph Oelckers
ef3421eee5 - moved dynamic lights out of the GL code into the common game code.
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Christoph Oelckers
e7330cfa03 - all main functions in gl_scene.cpp now belong to the new GLSceneDrawer class. 2017-03-12 12:51:26 +01:00
Christoph Oelckers
e4d7d9de8b - moved several more functions from FGLRenderer to GLSceneDrawer. 2017-03-12 12:03:54 +01:00
Magnus Norddahl
c79051126e Fix ssao being applied to skybox portals 2017-03-12 00:22:58 +01:00
Christoph Oelckers
0aa0db637c - started adding a SceneDrawer class to the OpenGL renderer.
This will eventually hold all the global variables for the rendering.
2017-03-12 00:19:20 +01:00
Christoph Oelckers
9eae422dab Merge branch 'shadowmaps' of https://github.com/raa-eruanna/qzdoom into 3.0_work
# Conflicts:
#	src/CMakeLists.txt
#	wadsrc/static/language.enu
2017-03-11 19:55:43 +01:00
Christoph Oelckers
921abc404d - fixed GCC warnings and errors
(Is there anyway to tone down GCC's warning level? It outputs too many false positives for potentially uninitialized variables in which the genuine errors get drowned.)
2017-03-11 19:02:35 +01:00
Christoph Oelckers
a4710bcdb0 - did a bit of header cleanup to reduce the dependency on dobject.h. 2017-03-09 23:30:42 +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
6df3b3fbca Changed the light collision structure uploaded to the GPU to be a binary tree using AABBs for the nodes instead of a BSP plane 2017-03-07 15:58:22 +01:00
Magnus Norddahl
62c285f7b3 Create a shadowmap texture and upload light list 2017-03-02 16:19:06 +01:00
Magnus Norddahl
7a4b01471d Add class updating and managing the shadow map texture 2017-03-02 16:19:06 +01:00
Magnus Norddahl
6363c6cf58 Add a shadowmap shader 2017-03-02 16:19:06 +01:00
Magnus Norddahl
58c7c3c902 Upload BSP tree to the GPU 2017-03-02 16:19:06 +01:00
Rachael Alexanderson
2a71ec89de Merge https://github.com/coelckers/gzdoom 2017-02-13 17:02:56 -05:00
Christoph Oelckers
cb758f6dab - added a 'nolightfade' MAPINFO option which disables light diminishing in OpenGL. Note that this only works for light modes 0-3. Modes 4 and 8 use special light math that would not work if such a setting was forced. 2017-02-13 22:17:15 +01:00
Rachael Alexanderson
a52f79055d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/menu/playerdisplay.cpp
2017-02-11 05:05:24 -05:00
Christoph Oelckers
8c780ab7ff - exported the drawer function of the colorpicker menu. 2017-02-10 13:21:35 +01:00
Rachael Alexanderson
226e5238fc Merge https://github.com/coelckers/gzdoom 2017-02-01 21:57:37 -05:00
Christoph Oelckers
6d28aa3541 - do not use strtol for parsing critical values that can get large.
This function will truncate everything that is larger than LONG_MAX or smaller than LONG_MIN to fit into a long variable, but longs are 32 bit on Windows and 64 bit elsewhere, so to ensure consistency and the ability to parse larger values better use strtoll which does not truncate 32 bit values.
2017-02-01 11:19:55 +01:00
Rachael Alexanderson
0af86efb17 Merge https://github.com/coelckers/gzdoom 2017-01-29 18:17:09 -05:00
Christoph Oelckers
a2a1d214c0 - extended give and take cheat's arguments to full integers. 2017-01-29 11:45:28 +01:00
Rachael Alexanderson
0c101102dc Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_main.cpp
#	src/r_segs.cpp
#	src/r_things.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Christoph Oelckers
4f5d5d5de7 - this should have been in the last commit. 2017-01-28 21:49:52 +01:00
Christoph Oelckers
ee22a9371b - use Doom64 colors on sectors and linedefs. 2017-01-28 20:44:46 +01:00
Christoph Oelckers
12d073a27d - objectcolor stuff.
# Conflicts:
#	src/gl/renderer/gl_renderstate.cpp
2017-01-28 19:06:21 +01:00
Christoph Oelckers
1d2ae53ecb Revert "- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly."
This reverts commit dd03bb1fcb.

Turns out that making this work in GL will create a complete mess so better remove the option as it would only cause problems.
2017-01-28 18:26:52 +01:00
Rachael Alexanderson
d27a152d9b Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_main.cpp
#	src/r_segs.cpp
#	src/r_things.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.txt
2017-01-28 09:38:10 -05:00
Christoph Oelckers
dd03bb1fcb - made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly. 2017-01-28 12:20:18 +01:00
Rachael Alexanderson
c923f8c5e1 - fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game. 2017-01-28 10:04:22 +01:00
Rachael Alexanderson
f9eb06a22e - fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game. 2017-01-28 00:13:27 -05:00
Rachael Alexanderson
a04699ec1c Merge https://github.com/coelckers/gzdoom 2017-01-24 18:15:39 -05:00
Rachael Alexanderson
c1ff1c6336 - Set banded light to "false" to not impact GZDoom defaults. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson
9a777f719b - Added "gl_bandedswlight" to reduce the software light emulation gradient to 32 levels. 2017-01-24 22:24:53 +01:00
Rachael Alexanderson
84d2a89f49 Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	wadsrc/static/language.enu
2017-01-24 12:03:57 -05:00
Rachael Alexanderson
eb3f83f908 - Since tonemap tweaks are on the menu now, make their changes affect instantly. 2017-01-24 17:57:03 +01:00
Rachael Alexanderson
494be00ce5 - Made default values for gl_paltonemap_powtable and gl_paltonemap_reverselookup more "id-like". 2017-01-24 17:57:03 +01:00
Rachael Alexanderson
6e47bf9bbc - Added gl_paltonemap_powtable and gl_paltonemap_reverselookup for tweaking palette tonemap generation. 2017-01-24 17:57:03 +01:00
Rachael Alexanderson
82ee9e7399 Merge https://github.com/coelckers/gzdoom 2017-01-11 07:48:45 -05:00
Christoph Oelckers
72101473d0 - fixed: The texture for legacy dynamic light handling was always allocated, even if not needed, and it was never freed. 2017-01-11 10:47:45 +01:00
Rachael Alexanderson
05662e5c4d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_plane.cpp
#	src/r_things.cpp
2017-01-09 09:51:06 -05:00
Christoph Oelckers
cd7986b1b1 - refactored global sides array to be more VM friendly.
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
Rachael Alexanderson
de5f5a1221 Merge https://github.com/coelckers/gzdoom 2017-01-06 22:06:25 -05:00
alexey.lysiuk
d77718d422 Fixed harmless uninitialized variables warnings
No more 'variable  is used uninitialized whenever switch default is taken' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
9ed2da176e Fixed signed/unsigned mismatch in comparisons
No more 'comparison of integers of different signs' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
Rachael Alexanderson
c7dce79831 Merge https://github.com/coelckers/gzdoom 2017-01-01 10:54:19 -05:00
Christoph Oelckers
e4c63563e3 - fixed: The 3D floor light splitting code for sprites did not copy the sector's fog density.
- fixed: fog calculations for fuzz effects were wrong.
2017-01-01 00:16:53 +01:00
Rachael Alexanderson
07f22a090c Merge https://github.com/coelckers/gzdoom 2016-12-28 21:16:14 -05:00
Christoph Oelckers
d748b6ad70 - added explicit fog density as a sector property, accessible through UDMF and ACS.
- allow changing sector glow information through ACS.
2016-12-29 01:12:17 +01:00