Rachael Alexanderson
69abf095c9
- added vid_cropaspect. This cvar turns vid_aspect into a letterboxing function that will crop the unused sides of the screen away, instead of stretching it. Requires one of the non-legacy OpenGL framebuffers to work.
2017-10-07 20:18:37 -04:00
Rachael Alexanderson
8454e09694
- fixed: I was using the wrong check to determine which renderer was in use. Ooops. It now checks for the actual (active) renderer rather than the state of vid_glswfb
2017-09-12 14:32:29 -04:00
Rachael Alexanderson
1e4d7534c4
- remove gl_legacy_mode check in the glswfb
2017-09-12 08:57:27 -04:00
Rachael Alexanderson
79fc219afd
- allow OpenGL 3.0 MESA drivers to use vid_glswfb
2017-09-12 08:18:22 -04:00
Magnus Norddahl
7d21fe6d75
- Fix mouse position being wrong when vid_scalemode is active
2017-07-29 19:26:53 +02:00
Rachael Alexanderson
30087f7cd7
- cleaned up the video scale mode code a bit, in order to increase future flexibility.
2017-07-27 03:05:01 -04:00
David Carlier
64e96c5f46
OpenBSD support
2017-07-25 07:56:19 -04:00
Magnus Norddahl
e06f87cf10
- Added 0.75x scale mode
2017-07-24 08:35:27 +02:00
Magnus Norddahl
18f0f6be4b
- Pixel stretch for 320x200 and 640x400 in glswfb
2017-07-23 17:26:55 +02:00
Rachael Alexanderson
2f37c4b272
- added vid_scalemode == 4 to super-sample the screen
2017-07-23 11:24:04 -04:00
Magnus Norddahl
370e53befe
- Replace vid_max_width and vid_max_height with vid_scalemode for the GL software framebuffer backend
...
- Fix a crash if the window was resized before creating a game
- Fix main menu scaling being wrong if the video mode didn't match the unscaled screen size
2017-07-23 04:23:13 +02:00
Magnus Norddahl
c3702ae9e7
Add vid_scalemode support to GL framebuffer
2017-07-23 00:33:56 +02:00
Rachael Alexanderson
0d8b7c55ef
- added a grayscale formula selector
2017-07-02 16:45:06 -04:00
Rachael Alexanderson
63da6e70c0
- added a vid_saturation control - works in postprocessing, only.
2017-07-02 16:45:06 -04: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
svdijk
c698f10257
Fix setting of the gl_legacy_mode cvar.
2017-06-05 14:45:24 +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
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
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
a4231ffd00
- more handling of some very broken old ATI drivers.
2017-05-19 21:33:48 +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
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
Magnus Norddahl
e68da4cd6b
- Fix crash in glswfb if vid_hw2d is toggled off
2017-05-02 22:56:31 +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
Magnus Norddahl
f049e6145b
- remove all usage of std::make_unique to keep things C++11 compliant
2017-04-11 01:25:44 +02:00
Magnus Norddahl
9f180b29b9
- Remove GL_MAJOR_VERSION check for OpenGL ES as apparently not even this can be done right by driver writers
2017-04-08 00:19:39 +02:00
Magnus Norddahl
73effc70bb
- The legacy OpenGL path resets the GLSL version, which in turn makes #version 0 crash the AMD driver. Old stuff that uses the legacy path will not get glswfb acceleration.
2017-04-07 15:45:08 +02:00
Magnus Norddahl
35c35fc26f
- Check if glCreateProgram or glCreateShader fails, because apparently AMD found a way to make exactly that happen
2017-04-07 15:27:04 +02:00
Magnus Norddahl
85a9984807
- Add OpenGL ES 3 support to GL renderer
2017-04-06 23:34:42 -04:00
Magnus Norddahl
b7482e10e2
- Detect dinosaur OpenGL and refuse to use it
2017-04-06 23:34:37 -04:00
Magnus Norddahl
e690de25a8
- Use SDL_GL_GetProcAddress on platforms where the SDL is being used. Since SDL initialized OpenGL for us, it is the only reliable way of retrieving proc addresses.
...
- Check if ogl_LoadFunctions failed and make OpenGLSWFrameBuffer gracefully recover from that
2017-04-06 23:33:56 -04:00
alexey.lysiuk
659f75c84a
Avoid duplication of member in OpenGL software framebuffer class
2017-04-02 10:13:25 +03:00
Magnus Norddahl
4268090738
- switch OpenGLSWFrameBuffer to use m_Lock instead of LockCount
2017-04-02 00:47:18 +02:00
Magnus Norddahl
0ed60b8df6
- fix OpenGLSWFrameBuffer::Begin2D
2017-04-01 22:14:04 +02:00
Christoph Oelckers
54764c136d
- changed the 2D draw abort check to use a dedicated variable, that gets set in Begin2D and unset at the end of D_Display.
...
This is really all the extent where 2D draw operations may be allowed. Trying to detect this from other variables is not reliable.
2017-04-01 12:59:58 +02:00
Christoph Oelckers
01b095c911
- added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
...
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Magnus Norddahl
d160424aea
- added DFrameBuffer::HasBegun2D to allow scripting to test if 2D drawing is active (instead of using IsLocked, which may return false when vid_hw2d is active)
2017-03-29 00:45:53 +02:00
Christoph Oelckers
f3db5f3803
- added a clipping rectangle to DCanvas that can be used independently of DrawTexture calls.
...
Currently this is only being used for draw operations that are not automap related, i.e. DrawLine, DrawPixel and FillSimplePoly are not subjected to it.
2017-03-28 13:06:24 +02:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Christoph Oelckers
c9296ead57
- moved the skybox texture files to the main textures directory.
2017-03-17 21:12:09 +01:00
Christoph Oelckers
921bc763fb
- separated the software-renderer-specific parts of colormap processing from the common parts.
...
- moved testcolor and test fades into SWRenderer files.
These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
9a24771a7d
- refactored FDynamicColormap out of sector_t.
...
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
d86bd470e5
- moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code.
2017-03-14 18:31:11 +01:00
Christoph Oelckers
8e2ebe15fe
- removed several unused variables from OpenGLFrameBuffer.
...
- removed the LastCamera logic in RenderView. This code predates the first GZDoom release and apparently was only added because back then R_SetupFrame was not fully compatible with the hardware renderer. Today it is not needed anymore.
2017-03-11 21:10:21 +01:00
Christoph Oelckers
9e70771da3
- Added a check to allow shader storage buffers on GL 4.3 Intel drivers. It doesn't work if GLSL version is set to 4.0 and the feature activated via extension.
2017-03-11 20:14:18 +01:00