Magnus Norddahl
9416d436fe
Move software renderer into its own namespace to isolate its globals and make
...
any access explicit. This reveals the places in the code where they are being
accessed where they shouldn't and prevents accidental usage.
2016-12-01 02:38:32 +01:00
Magnus Norddahl
284a99f204
Merge branch 'gl_swframebuffer' into qzdoom
2016-11-29 22:16:58 +01:00
Magnus Norddahl
00387a7211
Add bounds check to palette upload buffer size
2016-11-29 22:16:40 +01:00
Magnus Norddahl
17ed585c1f
Fix vsync not working
2016-11-19 12:30:58 +01:00
Rachael Alexanderson
9413ea6edf
- 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:35:51 -05:00
Rachael Alexanderson
9f9e4ea19d
- Added randi's "bottomclip" parameter to dpJudas's OpenGLSWFrameBuffer::FillSimplePoly implementation. The code refused to compile because of the new changes. Note that this is not tested on Linux or Mac, and will likely need changes there as well.
2016-11-06 08:58:06 -05:00
Magnus Norddahl
df3f5ae882
Use OpenGL to allocate the canvas buffer to avoid a costly memcpy
2016-10-18 01:16:36 +02:00
Magnus Norddahl
8b297221fe
Merge branch 'gl_swframebuffer' into qzdoom
2016-10-16 23:18:16 +02:00
Magnus Norddahl
f81d0d3964
macOS support and Intel driver bug fixes
2016-10-16 22:40:08 +02:00
Magnus Norddahl
3146f75ae0
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-12 08:05:39 +02:00
Magnus Norddahl
c5ebfd9e65
Add vid_max_width and vid_max_height
2016-10-12 08:05:31 +02:00
Magnus Norddahl
052f7900c2
Fix swapped x and y in DrawLetterbox
2016-10-12 08:04:42 +02:00
Magnus Norddahl
77a566a57e
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-12 07:38:56 +02:00
Magnus Norddahl
698b05ee69
Fix pixel center and letter box issues
2016-10-12 07:34:07 +02:00
Magnus Norddahl
f37ee3a024
Add bgra support to OpenGLSWFrameBuffer
2016-10-11 15:43:12 +02:00
Magnus Norddahl
f5c069c759
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-11 14:54:18 +02:00
Magnus Norddahl
3c7d6234cb
Add wipes
2016-10-11 14:37:57 +02:00
Magnus Norddahl
7911302ad8
Hook in gamma shader
2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1
Misc bug fixes and performance improvements
2016-10-11 10:27:18 +02:00
Magnus Norddahl
682b040b97
OpenGL based software renderer hardware accel now works for most things
2016-10-11 00:03:46 +02:00
Magnus Norddahl
f4308b3184
Add glsl shader version of the d3d9 shaders and get enough of it working for it to boot without errors
2016-10-10 21:03:55 +02:00
Magnus Norddahl
40df46f94e
Implement OpenGL versions of GPU objects
2016-10-10 07:39:02 +02:00
Magnus Norddahl
5f0088ab8b
Created new OpenGL framebuffer using the software renderer's hardware acceleration
2016-10-09 12:50:57 +02:00
Magnus Norddahl
00e72028ef
Add another gbuffer with normal data and make ssao pass use it
2016-10-05 07:57:27 +02:00
Magnus Norddahl
ecb57d6cd9
Merge remote-tracking branch 'gzdoom/master' into ssao
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# src/gl/shaders/gl_shader.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-04 00:01:03 +02:00
Christoph Oelckers
b75395aa74
- fixed: Screen size update coordinates were copied into the wrong buffer location.
2016-09-28 09:25:48 +02:00
Christoph Oelckers
750c194959
- changed order of SwapBuffers and glFinish call. The new order with glFinish coming last is recommended by OpenGL and it fixes a stalling problem with portals and camera textures visible at the same time.
...
- check and use WGL_EXT_swap_control_tear extension. The above change makes the system always wait for a full vsync with a wglSwapInterval of 1, so it now uses the official extension that enables adaptive vsync. Hopefully this also works on the cards where the old setup did not.
2016-09-26 01:38:25 +02:00
Magnus Norddahl
979e70ca8f
Add gl_ssao_portals for controlling how many portals gets SSAO
2016-09-25 00:22:38 +02:00
Magnus Norddahl
3f11c0562c
Add ssao quality setting
2016-09-25 00:22:38 +02:00
Magnus Norddahl
d774136282
Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it
2016-09-25 00:22:32 +02:00
Christoph Oelckers
ee2766d00b
- made adjustments for new savegame code.
2016-09-24 01:47:44 +02:00
raa-eruanna
72491049e0
Changes to the contrast/brightness/gamma formula for both hardware and shader gamma correction. Mainly makes a correction with the shader version where contrast/brightness being negative values would clip them inappropriately.
2016-09-22 09:23:25 +02:00
Magnus Norddahl
3c1868f7e6
Fix wrong flash rectangle size after window resize
2016-09-16 02:53:19 +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
alexey.lysiuk
dcabcaa5b6
Fixed compilation on non-Windows platforms
2016-09-13 22:10:07 +03:00
Magnus Norddahl
b378b3d05a
Remove black bars from windowed mode
2016-09-12 20:43:45 +02:00
Magnus Norddahl
ccbe5160b0
Split F2DDrawer::Flush into Draw and Clear
2016-09-09 00:36:10 +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
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
45ff15559d
- removed gl_draw_synv because with the postprocessing this is no longer useful.
2016-08-30 00:33:02 +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
alexey.lysiuk
9b91a13487
Restored legacy way to collect OpenGL extensions
2016-08-28 10:21:20 +03:00
Magnus Norddahl
b1a0108a96
Fix tonemap palette not being rebuilt on palette change
2016-08-26 19:52:15 +02:00
Christoph Oelckers
597e10116f
- added missing framebuffer function to fudging block.
2016-08-26 08:30:47 +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
Magnus Norddahl
1594cc9570
Only use KHR_debug if available
2016-08-22 19:25:13 +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