Commit graph

196 commits

Author SHA1 Message Date
Rachael Alexanderson
d36993a03b - Textured automap would crash due to an additional parameter in the software renderer to the FillSimplePoly function call, causing stack issues. 2016-11-08 15:05:23 -05:00
Christopher Bruns
779e6acb7b Create "final" two non-VR 3D modes: Column-interleaved and checkerboard. 2016-10-09 13:05:50 -04:00
Christoph Oelckers
4eb5f10b02 - use normals to have proper light attenuation. So far only implemented for walls and flats. Models are planned but need some thinking about how to efficiently collect all required lights for an object. 2016-10-03 16:09:32 +02:00
alexey.lysiuk
c68aa2b241 Added FXAA post-processing
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
5391216756 Delete unused new BlitFromEyeTexture() method I ended up not using. 2016-10-02 16:27:43 -04:00
Christopher Bruns
460b653709 Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode. 2016-10-02 16:10:21 -04:00
Christopher Bruns
79046580d5 Partial implementation of row interlaced mode. 2016-10-02 16:09:22 -04:00
Christoph Oelckers
cfa6b817b5 - made bloom and tonemap settings game specific and save all related CVARs.
As was pointed out: "That said, there is one minor problem - different game artstyles can constitute whether Bloom is turned on, which tonemap is used, etc. For example, when playing Doom, I like having my bloom on, but if I am going to start playing the Adventures of Square, the art style and bloom don't mix, in my opinion. For this, I have to remember to switch my bloom settings every time I switch IWad"
2016-10-01 21:34:13 +02:00
Christoph Oelckers
ee2766d00b - made adjustments for new savegame code. 2016-09-24 01:47:44 +02:00
Christoph Oelckers
960ed5130c - fixed: DTA_ColorOverlay was not properly handled by F2DDrawer. 2016-09-22 10:20:36 +02:00
Christopher Bruns
1f79e23d5b Implement wide side-by-side mode, using adjusted aspect ratio in projection matrix.
Use optimal framebuffer size for side-by-side modes.
2016-09-22 09:25:46 +02:00
Magnus Norddahl
af699dcebc Make bloom/exposure less aggressive 2016-09-22 09:13:33 +02:00
Magnus Norddahl
f7b6b1433c Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing 2016-09-22 09:13:32 +02:00
Christoph Oelckers
8b6e09ca09 - changed the license of the OpenGL renderer to LGPL v3.
This was done to clean up the license and to ensure that any commercial fork of the engine has to obey the far stricter requirements concerning source distribution. The old license was compatible with GPLv2 whereas combining GPLv2 and LGPLv3 force a license upgrade to GPLv3. The license of code that originates from ZDoomGL has not been changed.
2016-09-14 20:01:13 +02:00
Magnus Norddahl
8b7267cf87 MaskAnaglyph present mode 2016-09-09 00:36:11 +02:00
Magnus Norddahl
ccbe5160b0 Split F2DDrawer::Flush into Draw and Clear 2016-09-09 00:36:10 +02:00
Magnus Norddahl
aaa3581ee6 Hook up eye textures in renderer 2016-09-09 00:36:10 +02:00
Magnus Norddahl
4bdd872f09 Add eye textures and FBOs to FGLRenderBuffers 2016-09-09 00:36:09 +02:00
raa-eruanna
5a64307ad1 Changes the tonemap generation algorithm. 2016-09-08 00:51:48 +02:00
Magnus Norddahl
5f02e08c8e Fix minimize crash 2016-09-04 03:15:50 +02:00
Magnus Norddahl
dc39a006dc Fix palette tonemap precision and compile error on Intel 2016-09-04 02:37:59 +02:00
Christoph Oelckers
90ab0223a6 - handle colormap parameter reset when renderbuffers are toggled. 2016-09-03 00:36:23 +02:00
Magnus Norddahl
77dde2e3ad Fix not switching back to the default frame buffer when gl_renderbuffers is toggled off 2016-09-03 00:13:05 +02:00
Christoph Oelckers
589936f570 - draw the colormap blend after postprocessing, not before it.
- added colormap shader to postprocessing.

This replaces the in-place application of fullscreen colormaps if renderbuffers are active. This way the fully composed scene gets inverted, not each element on its own which is highly problematic for additively blended things.
2016-09-01 17:14:51 +02:00
Christoph Oelckers
3389a5a74e - removed most of the specific options for legacy hardware and consolidated them in one variable (does not work yet.) 2016-09-01 11:52:52 +02:00
Christoph Oelckers
8f535997f8 - enable core profile by default on GL 3.x.
After doing some profiling it was very obvious that this has better performance than client arrays. Persistent buffers are still better, though, especially for handling dynamic lights.
2016-08-29 11:33:20 +02:00
Christoph Oelckers
0f0dc2c852 - implemented buffers for GL 3.x. These only get mapped during the data collection pass so the order of some things is different here. 2016-08-29 10:43:03 +02:00
Magnus Norddahl
e0e43ee7b3 Fix mColor reset value 2016-08-29 05:31:12 +02:00
Magnus Norddahl
71387b1b42 Fix wrong initial mClipSplit values. 2016-08-29 05:19:47 +02:00
Magnus Norddahl
bb066f6f07 Fall back to gl_renderbuffers 0 if buffer creation fails 2016-08-28 18:07:44 +02:00
alexey.lysiuk
47714509d6 Changed render buffers format back to RGBA16F
Reverted a03b2ff48b to fix issues with nVidia graphics on macOS
2016-08-28 11:15:16 +03:00
Magnus Norddahl
6c5109ec99 Fix uninitialized mPipelineTexture and fix BindCurrentTexture using the wrong handle 2016-08-27 06:24:36 +02:00
Magnus Norddahl
b1a0108a96 Fix tonemap palette not being rebuilt on palette change 2016-08-26 19:52:15 +02:00
Christoph Oelckers
10550c4ef0 Merge branch 'init_global_state' of https://github.com/dpjudas/zdoom 2016-08-26 02:20:00 +02:00
Magnus Norddahl
960038bb81 Clear global state tracking variables when the OpenGL context is (re)created 2016-08-26 01:36:21 +02:00
Christoph Oelckers
4ab8ca63ce - use more desctiptive names for the predefined vertex buffer indices. 2016-08-25 22:23:31 +02:00
Magnus Norddahl
25645d901e Add Palette LUT tonemap mode 2016-08-23 09:18:18 +02:00
Christoph Oelckers
9555617816 - fixed: The default for position.w is 1, so gl_quaddrawer.cpp needs to set this, too, for the uniform vertex positions. 2016-08-22 22:02:02 +02:00
Christoph Oelckers
250be72939 - added handling for drawing with uniform vertices. It draws something but in the wrong place. Right now I have no idea what's happening... 2016-08-22 15:31:23 +02:00
Christoph Oelckers
7ba5acfb35 - added quad drawer interface so that this part can be done without altering a vertex buffer.
So far it's only the framework, the new code is not active yet.
2016-08-22 14:00:25 +02:00
Magnus Norddahl
302f59ea33 Fix r_clearbuffer color not being used 2016-08-22 01:52:51 +02:00
Magnus Norddahl
f63635e07a Fix RFL_INVALIDATE_BUFFER check being inverted 2016-08-19 01:11:11 +02:00
Magnus Norddahl
b21b65eb43 Rearrange binding of texture and sampler to get rid of texture state usage warning 2016-08-18 01:32:41 +02:00
Magnus Norddahl
01f9a2d27a Fix clear warning 2016-08-18 00:21:33 +02:00
Magnus Norddahl
d380d765c9 OpenGL object labels and debug groups 2016-08-17 23:18:47 +02:00
Magnus Norddahl
2825bd4967 Fix invalid value error 2016-08-17 21:25:31 +02:00
Magnus Norddahl
fc01a6b832 Only query for GL_MAX_SAMPLES once 2016-08-17 17:59:47 +02:00
Magnus Norddahl
3c08f5ae48 Fix multisample count bug 2016-08-17 17:37:49 +02:00
Magnus Norddahl
a8d1197ea7 Make sure we never pass a negative value to pow, and optimize gamma uniform 2016-08-16 00:01:18 +02:00
Magnus Norddahl
a03b2ff48b Change render buffers from RGBA16F to RGBA16 2016-08-15 23:51:49 +02:00