Commit graph

1272 commits

Author SHA1 Message Date
Magnus Norddahl
e161bba146 - Specify shader uniforms from ZScript 2017-07-03 22:30:49 +02:00
Magnus Norddahl
1b5f3da9c5 - Fix lump lookup 2017-07-03 01:50:51 +02:00
Magnus Norddahl
befe081683 - Upload custom texture 2017-07-03 01:29:03 +02:00
Magnus Norddahl
ee6d7cf17e - Add initial postprocess shader support to GLDEFS file 2017-07-03 01:26:02 +02:00
Christoph Oelckers
c74356a1c0 - made OpenGL 3.3 a requirement for running the modern render path. Also force '-glversion 3' to use the modern render path, even though actual OpenGL 3.0 won't support it.
This will exclude Intel HD3000 and many obsolete drivers for NVidia and ATI which should have been updated long ago.
2017-06-28 17:57:04 +02:00
Christopher Bruns
e9f03102f4 Update fixed color map for each eye, so light goggles would work in both eyes in stereo 3d modes. 2017-06-27 17:55:11 +02:00
Magnus Norddahl
b6e035e796 - Implemented radial fog support in software light mode 2017-06-25 15:02:34 +02:00
Rachael Alexanderson
f49794d6c6 - fixed: Due to recent changes, textures now use 'bgra' format in OpenGL. The palette tonemap shader had not yet been updated to reflect this. 2017-06-21 19:00:51 -04:00
Christoph Oelckers
f909b82074 - fixed: Blood translations did not properly treat color 0 as transparent. 2017-06-20 09:10:19 +02:00
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
cf1d94c9bb - fixed blood translation's alpha so that CreateTexBuffer can assume that all palette entries in translations are correct. 2017-06-18 09:23:56 +02:00
Christoph Oelckers
a1694a79c6 - removed the FGLBitmap class and replaced all uses with the regular FBitmap.
The only reason this ever existed is that the GL renderer used RGBA instead of BGRA but there's no reason why this is even necessary.
2017-06-18 09:14:33 +02:00
Christoph Oelckers
8b19ae98ea - consolidated the two averageColor instances. 2017-06-07 22:42:59 +02:00
svdijk
c698f10257 Fix setting of the gl_legacy_mode cvar. 2017-06-05 14:45:24 +02: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
Magnus Norddahl
7acb492852 - Add gl_shadowmap_quality cvar that controls the resolution of the 1D shadow map texture 2017-06-04 00:44:49 +02:00
Magnus Norddahl
265df4b797 - Change shadowmap resolution from 1024 to 128 2017-06-03 21:19:34 +02:00
Magnus Norddahl
797cb94b4f - Add stat shadowmap to get performance for the upload part of the shadow maps 2017-06-03 19:24:54 +02:00
Magnus Norddahl
7edb75d299 - The mandatory include compile error fix for unix 2017-06-03 18:28:12 +02:00
Magnus Norddahl
d38dae5de8 - Add gpu stat that displays how much time the GPU spent on named GL groups 2017-06-03 18:14:24 +02:00
Kirill Gavrilov
2a8ebc6c27 Fixed broken Interleaved 3D output when GL Sampler objects are used 2017-06-02 09:10:38 +02:00
Christoph Oelckers
977d5988c5 - fixed weapon sprite light calculation for low light levels. 2017-05-31 09:27:50 +02:00
alexey.lysiuk
0c90253a5d Fixed potentially broken portal rendering after OpenGL context change
https://forum.zdoom.org/viewtopic.php?t=56393
2017-05-30 13:01:51 +03:00
Magnus Norddahl
b111a708da - Fix compile error and some warnings 2017-05-27 06:27:36 +02:00
Magnus Norddahl
3f991429d1 - Reduce the number of naked new/delete calls in OpenGLSWFrameBuffer 2017-05-27 02:31:15 +02:00
Christoph Oelckers
7bc5573baa - call P_FindParticleSubsectors before rendering a save picture in OpenGL.
This entry point was the only one missing that call.
2017-05-21 12:45:49 +02:00
Christoph Oelckers
fc0855fac7 - fixed size of particles in the hardware renderer.
From the look of it the scale was changed in the software renderer several years back but the hardware renderer never got adjusted for it.
This also adds a bit of compensation to round particles so that they get rendered a bit larger than square ones.
2017-05-21 12:36:34 +02:00
Christoph Oelckers
a4231ffd00 - more handling of some very broken old ATI drivers. 2017-05-19 21:33:48 +02:00
Christoph Oelckers
c8e631bf26 - fixed: The colormap was not fully initialized for 3D floors in sectors where neither the original floor nor ceiling were visible. 2017-05-19 11:42:44 +02:00
Christoph Oelckers
437dd68d79 - the Render state must be applied before performing a portal clear screen, because it would still be set to stencil drawing at this point. 2017-05-14 12:42:25 +02:00
Christoph Oelckers
ef7e4fe678 - draw empty portals in black, not the last set color. 2017-05-14 12:31:51 +02:00
Christoph Oelckers
2bf8e8f1c0 - fixed: InitClipper was missing a call to Clipper.Clear. 2017-05-09 12:20:49 +02:00
Christoph Oelckers
762ba13cd9 - store the last found OpenGL version in the INI so that modern GL related options can be removed when running old hardware with software rendering. 2017-05-08 19:30:51 +02:00
Christoph Oelckers
4a5fe65ce8 - added missing check for RenderStyle None to GL weapon drawer. 2017-05-08 19:13:18 +02:00
Magnus Norddahl
81de951abc - Fix missing include 2017-05-06 22:25:18 +02:00
Magnus Norddahl
f083109b51 - Add SSE code to OpenGLSWFrameBuffer::OpenGLPal::Update to workaround a broken auto-vectorizer in GCC 2017-05-06 22:03:32 +02:00
Christoph Oelckers
567c21cdeb - fixed recursion in Dim functions. When the main worker function was renamed to DoDim the Super calls were not fixed for it. 2017-05-06 10:44:29 +02:00
Christoph Oelckers
99a61e74c7 - fixed: The first model ID was always initialized to 0, even if that model wasn't even present in the definition. 2017-05-04 00:37:43 +02:00
Rachael Alexanderson
5a450b5eaa - fixed: +FLIPSPRITE works in mirrors in OpenGL now. 2017-05-03 15:56:33 -04:00
Rachael Alexanderson
00a4993654 - forgot to implement +SPRITEFLIP for OpenGL 2017-05-03 21:13:31 +02:00
Magnus Norddahl
e68da4cd6b - Fix crash in glswfb if vid_hw2d is toggled off 2017-05-02 22:56:31 +02:00
Christoph Oelckers
b5dc5ceb3c - removed some unused static variables 2017-04-26 14:48:33 +02:00
Christoph Oelckers
ace0568d09 - now that SSE2 is a required feature for compiling on x86, DoBlending_MMX has no use anymore and could be removed, as could the checks for bRDTSC, which is an older hardware feature than SSE2. There's also little point printing pre-SSE2 hardware features because they can be assumed to be present on anything the code can run on. 2017-04-23 11:54:08 +02:00
Christoph Oelckers
47bcd8aaa2 - added per-layer translucency support to the OpenGL PSprite drawer. 2017-04-15 17:25:46 +02:00
Christoph Oelckers
47bb29bac6 - check the return value of ogl_LoadFunctions and abort if it indicates failure.
If this happens there is normally something very wrong on the system side so continuing is not advised.
2017-04-14 15:32:04 +02:00
Christoph Oelckers
dc5a5419fc - took DCanvas and all its subtypes out of the DObject tree.
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.

Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00