Commit graph

28 commits

Author SHA1 Message Date
Magnus Norddahl
f6bede8374 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.z
2016-09-09 09:31:30 +02:00
Christoph Oelckers
d2ead39bcc - force framebuffers for camera textures on GL 3+ hardware. With all the postprocessing stuff added I don't think it's ok to use the screenbuffer for this anymore.
- disable framebuffers for camera textures in legacy mode entirely. This depends on a GL_DEPTH24_STENCIL8 surface which most of these old chipsets do not support, and I really see no point to invest any work here. The worst that can happen is that oversized camera textures won't be processed, which, due to general performance issues, might even be a good thing.
2016-09-04 14:16:05 +02:00
Christoph Oelckers
8b01a88b76 - removed gl_lights_size and gl_lights_intensity.
Both of these were inherited from ZDoomGL and in terms of light design in maps it makes absolutely no sense to have them user configurable. They should have been removed 11 years ago.
2016-09-04 12:45:09 +02:00
Christoph Oelckers
e7856ce1e3 - removed unused forceadditive parameter from gl_GetLight.
- restricted gl_lights_additive to legacy code and removed menu entry for this.

For modern hardware this setting is completely pointless, it offers no advantage and degrades visual quality. Its only reason for existence was that drawing additive lights with textures is a lot faster, and that's all it's being used for now.
2016-09-04 12:35:26 +02:00
Christoph Oelckers
aece9aaa58 - added xBRZ texture scaler after clearing the licensing conditions. A screenshot of the confirmation that this is ok has been added to the 'licenses' folder. 2016-09-03 14:01:51 +02:00
Magnus Norddahl
737e700774 Added SSAO pass 2016-08-29 13:10:22 +02:00
Magnus Norddahl
9525d3690f Added gl_light_math and changed pixelpos + lights to be in eye space 2016-08-25 06:25:05 +02:00
Magnus Norddahl
25645d901e Add Palette LUT tonemap mode 2016-08-23 09:18:18 +02:00
Magnus Norddahl
0457fee9c0 Added lens distortion effect to menus 2016-08-04 17:22:05 +02:00
Magnus Norddahl
cfc20d1198 Added multisample support to FGLRenderBuffers and added gl_multisample to the menus 2016-07-30 15:33:30 +02:00
Magnus Norddahl
5849c83028 Added bloom and tonemap to menus
Added gl_renderbuffers CVAR that disables render buffers
Added patch shader support to FShaderProgram
Added OpenGL 2 fallback support to render buffers
2016-07-29 21:31:20 +02:00
Magnus Norddahl
aeb7df09de Added hardware gamma option and improved window handling on Windows 2016-07-27 11:15:19 +02:00
Magnus Norddahl
41e959e102 Adds the last texture filter mode (trilinear min filter with nearest magnification) 2016-07-23 18:57:37 +02:00
Christopher Bruns
c4590a2615 Fix locale string for "sprite billboard faces camera" menu option. 2016-04-30 18:15:28 -04:00
Christopher Bruns
ed6cf6cf1e Add menu option for new "sprites face camera" mode.
# Conflicts:
#	wadsrc/static/menudef.z
2016-04-30 18:15:28 -04:00
nashmuhandes
ee3712ffeb Exported all OpenGL menu options into the LANGUAGE lump. 2016-04-13 19:34:57 +02:00
Christopher Bruns
c6fa01dfbf Reimplement blue/yellow and quadbuffered stereo, this time with an additional CVAR gate on quadbuffered, for better hardware compatibility.obj
Something is terribly wrong with the separation in all stereo modes now though.
2016-04-09 15:40:55 -04:00
Christopher Bruns
8e237e6146 Merge branch 'master' of https://github.com/coelckers/gzdoom into stereo3d 2015-12-30 17:41:49 -05:00
alexey.lysiuk
69813993b0 - added missing hqNx modes to options menu 2015-12-25 10:00:31 +02:00
Christopher Bruns
0874455faf Initial implementation of five 3D modes -- some bugs remain. 2015-10-30 20:51:35 -04:00
Christoph Oelckers
a65c9bec40 - move video options override out of menudef.z.
This is to allow easier merging with future ZDoom changes
It was done this way only to avoid having to deal with SVN's poor merging capabilities but with Git this is no longer an issue.
The OpenGL submenus will remain where they are, though.
2015-04-04 10:37:31 +02:00
Christoph Oelckers
c6cb8493ea - missed a menu option. 2015-02-10 23:07:14 +01:00
Christoph Oelckers
962fc64d2b - updated video menu in menudef.z. 2015-02-10 20:27:09 +01:00
Christoph Oelckers
12160bd29c - remove some obsolete code from decal rendering.
- avoid rebinding the same texture multiple times, as there's considerable overhead in the texture manager.
- check gl_sort_textures only once per scene, not per draw list.
2014-08-30 15:34:14 +02:00
Christoph Oelckers
a8e9c1832f - decided to restrict the 2.0 beta to OpenGL 4.x with GL_ARB_buffer_storage extension and removed all code for supporting older versions.
Sadly, anything else makes no sense.
All the recently made changes live or die, depending on this extension's presence.
Without it, there are major performance issues with the buffer uploads. All of the traditional buffer upload methods are without exception horrendously slow, especially in the context of a Doom engine where frequent small updates are required.
It could be solved with a complete restructuring of the engine, of course, but that's hardly worth the effort, considering it's only for legacy hardware whose market share will inevitably shrink considerably over the next years.
And even then, under the best circumstances I'd still get the same performance as the old immediate mode renderer in GZDoom 1.x and still couldn't implement the additions I'd like to make.

So, since I need to keep GZDoom 1.x around anyway for older GL 2.x hardware, it may as well serve for 3.x hardware, too. It's certainly less work than constantly trying to find workarounds for the older hardware's limitations that cost more time than working on future-proofing the engine.

This new, trimmed down 4.x renderer runs on a core profile configuration and uses persistently mapped buffers for nearly everything that is getting transferred to the GPU. (The global uniforms are still being used as such but they'll be phased out after the first beta release.
2014-08-01 22:42:39 +02:00
Christoph Oelckers
637aa9d77e - some adjustments to allow testing the different rendering methods. 2014-07-26 18:43:54 +02:00
Christoph Oelckers
09f4071436 Ok, it had to be done: Removed shader support for pre GLSL 1.3/GL 3.0 hardware. The compromises needed to accomodate these are just too bad and would block any attempt at streamlining the code. 2014-05-11 13:27:51 +02:00
Christoph Oelckers
71e65ed116 - GZDoom differences to /wadsrc. 2013-06-23 09:30:04 +02:00