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
alexey.lysiuk
3e01039bbb
Fixed missing #include for GCC/Clang
2016-08-21 15:47:56 +03:00
Christoph Oelckers
dde81b33ea
- glEnable(GL_TEXTURE_2D) only makes sense if no shaders are being used.
2016-08-21 08:45:21 +02:00
Christoph Oelckers
97ff4cc025
Merge branch 'debug' of https://github.com/dpjudas/zdoom
2016-08-20 12:34:56 +02:00
Christoph Oelckers
eadc2f35dd
- fixed: The crossfade wipe must use its own alpha for the second layer, not the one from the vertex buffer.
2016-08-19 00:21:17 +02:00
Magnus Norddahl
e8fc935f04
Another IsFilteredByDebugLevel typo..
2016-08-18 02:24:57 +02:00
Magnus Norddahl
4241026f1c
Swapped order in IsFilteredByDebugLevel
2016-08-18 02:21:53 +02:00
Magnus Norddahl
f75b6d8c5d
Improve debug level filtering
2016-08-18 02:10:54 +02:00
Magnus Norddahl
18ff65fb0e
Filter logging to only display each message once
2016-08-17 23:52:20 +02:00
Magnus Norddahl
d380d765c9
OpenGL object labels and debug groups
2016-08-17 23:18:47 +02:00
Magnus Norddahl
a37225b81e
Don't debug break on notifications
2016-08-17 21:25:03 +02:00
Magnus Norddahl
2cb5f1740e
Add OpenGL debug messages to the console
2016-08-17 20:33:10 +02:00
Magnus Norddahl
5eeac830eb
Clear and InvalidateFramebuffer optimization
2016-08-17 17:37:13 +02:00
Magnus Norddahl
fa2bcebd51
Add KHR_debug and ARB_invalidate_subdata
2016-08-17 16:48:11 +02:00
Magnus Norddahl
f8cc56ea3a
Move SetOutputViewport to OpenGLFrameBuffer::Update as it cannot be safely called from Begin2D
2016-08-14 09:05:54 +02:00
Magnus Norddahl
4ecb77385d
GetScreenshotBuffer bug fix
2016-08-14 09:05:49 +02:00
Magnus Norddahl
d5b122b092
Fix GetScreenshotBuffer grabbing from wrong location
2016-08-14 09:05:48 +02:00
Magnus Norddahl
c817979eae
Remove GetTrueHeight from GL renderer and concentrate all viewport calculations in SetOutputViewport
2016-08-14 09:05:48 +02:00
Christoph Oelckers
0fdd80eae7
- removed debug Printf.
2016-08-10 16:32:31 +02:00
Christoph Oelckers
8daaf61160
- predefine the vertex data for the blend overlay which will never change throughout the lifetime of the GLRenderer object.
2016-08-08 14:24:48 +02:00
Christoph Oelckers
9c9edbffdb
- on older ATI drivers where the clip planes are broken, only disable the clip planes themselves, but not OpenGL 3.x so that dynamic lights still work as intended.
...
- only disable clip planes on Windows, but not on Linux or macOS.
- If a driver reports full OpenGL 4.5 support, assume that all features are working properly.
2016-08-08 12:55:09 +02:00
Magnus Norddahl
2ac91f0c5a
Fix Nvidia driver ignoring wglSwapIntervalEXT
2016-08-08 12:22:40 +02:00
Christoph Oelckers
def3ad7533
- refactored all 2D drawing to use its own vertex buffer which does not need to be mapped permanently.
2016-08-08 12:13:09 +02:00
Christoph Oelckers
04c59b434b
- renamed WipeVertexBuffer to FSimpleVertexBuffer because this will be useful elsewhere, too.
2016-08-07 00:40:31 +02:00
Christoph Oelckers
6a66d0255d
- use a dedicated vertex buffer for rendering the wipes.
...
- fixed: The postprocessing shaders clobbered the render state's vertex buffer info by bypassing and not notifying it of the change.
2016-08-06 14:12:40 +02:00
Christoph Oelckers
7576e85cef
- force use of shaders on all hardware, unless -noshader is specified.
...
Right it's only for easy testing, so only the code that does the feature checking has been disabled.
2016-08-06 13:06:55 +02:00
Christoph Oelckers
2e555e6dab
- use client arrays on compatibility profiles instead of calling glBegin/glEnd.
...
This eliminates most behavioral differences for FFlatVertexBuffer between both operating modes, now the only difference is where the buffer is located.
2016-08-06 12:03:16 +02:00
Magnus Norddahl
976a78429e
Simplify post process buffer handling
2016-08-04 17:16:49 +02:00
Magnus Norddahl
6b9529d70f
Added lens distortion shader
2016-08-02 17:32:21 +02:00
Magnus Norddahl
a6354c74cf
Fix incorrect viewport location when not using fullscreen HUD
2016-07-31 13:23:49 +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
0efee85bd8
Added tonemapping and sector based exposure control
2016-07-29 00:36:43 +02:00
Magnus Norddahl
aeb7df09de
Added hardware gamma option and improved window handling on Windows
2016-07-27 11:15:19 +02:00
Christoph Oelckers
52e19c59b3
Revert "- let gl_draw_sync default to false."
...
This reverts commit 616f84209b
.
Now I remember why this is not active: This is causing some problems with interpolated plane heights. Since there is no synchronization with the vertex buffer, the next frame will reset all plane coordinates before the GPU can use them. This will require some rethinking about when to update the buffer - it cannot be done in the render data setup loop.
2016-05-13 20:44:04 +02:00
Christoph Oelckers
616f84209b
- let gl_draw_sync default to false.
...
No need to waste valuable processing time if we can let the GPU run in parallel with the code that generates the next frame.
2016-05-12 20:23:18 +02:00
Christoph Oelckers
0a94371974
- reinstated old code for rendering fog boundaries and mirrot surfaces without shaders.
...
- added code for filling the render list for textured dynamic lights. This is not yet active because no code is present to handle this data.
2016-05-03 23:28:42 +02:00
Christoph Oelckers
0e14f00b51
- fixed caching of texture sampler state for old hardware.
...
- fixed handling of CLAMP_XY_NOMIP sampler mode. This cannot be lumped together with CLAMP_XY because it has different mipmap requirements.
2016-05-03 13:39:41 +02:00
Christoph Oelckers
f2f3fa6d09
- parched the texture precaching so that it compiles and works again. The real work will come later.
2016-05-02 00:13:00 +02:00
Christoph Oelckers
50ba1ecde8
- add menu patching for GL 2.x mode.
...
- use stdint types in model code, because we have to start somewhere with the transition.
2016-05-01 13:09:13 +02:00
Christoph Oelckers
ca95371a27
- fixed: gl_load.c did not handle the GL 2.x fallback for the lack of glGetStringi correctly, if that function was missing it just crashed.
2016-04-30 17:16:16 +02:00