Commit Graph

28 Commits

Author SHA1 Message Date
Christoph Oelckers 0a98fb0be7 - integrated dynamic light definitions into regular DECORATE as another include.
- renamed menudef.z zo menudef.zz.

This was done because some tool out there stupidly assume that *.z is some sort of archive and refuse to operate on these files (shame on you, Beyond Compare!)
2016-09-22 09:32:04 +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
Christopher Bruns 9a257ac158 Implement side-by-side narrow 3D mode. 2016-09-22 09:25:46 +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 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