Magnus Norddahl
e0e43ee7b3
Fix mColor reset value
2016-08-29 05:31:12 +02:00
Magnus Norddahl
71387b1b42
Fix wrong initial mClipSplit values.
2016-08-29 05:19:47 +02:00
Magnus Norddahl
bb066f6f07
Fall back to gl_renderbuffers 0 if buffer creation fails
2016-08-28 18:07:44 +02:00
alexey.lysiuk
47714509d6
Changed render buffers format back to RGBA16F
...
Reverted a03b2ff48b
to fix issues with nVidia graphics on macOS
2016-08-28 11:15:16 +03:00
Christoph Oelckers
03d055a5ec
- adjustments for message modes.
2016-08-28 10:11:09 +02:00
alexey.lysiuk
9b91a13487
Restored legacy way to collect OpenGL extensions
2016-08-28 10:21:20 +03:00
Magnus Norddahl
6c5109ec99
Fix uninitialized mPipelineTexture and fix BindCurrentTexture using the wrong handle
2016-08-27 06:24:36 +02:00
Magnus Norddahl
b1a0108a96
Fix tonemap palette not being rebuilt on palette change
2016-08-26 19:52:15 +02:00
Christoph Oelckers
c9578ae72d
- create vertex buffer data for horizon portals in the constructor instead of in the draw function.
...
This was the last remaining place where the vertex buffer was accessed in the render pass.
2016-08-26 18:18:50 +02:00
Christoph Oelckers
597e10116f
- added missing framebuffer function to fudging block.
2016-08-26 08:30:47 +02:00
Christoph Oelckers
10550c4ef0
Merge branch 'init_global_state' of https://github.com/dpjudas/zdoom
2016-08-26 02:20:00 +02:00
Christoph Oelckers
abba548e40
- render sector hacks through the quad renderer if the vertex buffer is not accessible.
2016-08-26 02:03:24 +02:00
Magnus Norddahl
5f09d3b7ef
Add FBufferedUniformSampler because sampler uniforms may default bind to other locations than zero
2016-08-26 01:46:39 +02:00
Magnus Norddahl
b68bbaf617
Fix uninitialized memory access if a FShaderProgram is destroyed without being fully compiled and linked
2016-08-26 01:40:28 +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
Christoph Oelckers
f6544f3c44
- removed unused GLFLat::sub and all codes depending on it a valid pointer.
2016-08-26 00:04:29 +02:00
Christoph Oelckers
6755cb2a25
- use the quad drawer for skybox-flagged sectors.
2016-08-26 00:02:32 +02:00
Christoph Oelckers
b83c2056a8
- store the stencil caps in the reserved part of the main vertex buffer instead of constantly recreating them.
2016-08-26 00:01:51 +02:00
Christoph Oelckers
76d7b52fcd
- handle the case where a wall gets drawn with an unmapped buffer and no vertex data.
...
This uses the quad drawer because it can only happen with translucent walls that got split during sorting.
2016-08-25 23:20:23 +02:00
Christoph Oelckers
4598c4138c
- added vertex initialization for walls in the processing pass for core profile without persistent buffers.
...
This is slower than doing it in the render pass so it's only active when actually needed - it's also slower than using a client array so this code only gets used when there is no choice but to work with a 3.x core profile context.
2016-08-25 23:13:49 +02:00
Christoph Oelckers
8f331f56e2
- use MakeVertices directly in the portal code and remove all related code from RenderWall.
2016-08-25 23:02:43 +02:00
Christoph Oelckers
8cf53f04e8
- split off the vertex creation from RenderWall.
2016-08-25 22:54:08 +02:00
Christoph Oelckers
4ab8ca63ce
- use more desctiptive names for the predefined vertex buffer indices.
2016-08-25 22:23:31 +02:00
alexey.lysiuk
52b51e79b9
Fixed missing decals in compatibility renderer
...
The problem was appeared in conjunction with dynamic lights only
See http://forum.zdoom.org/viewtopic.php?f=4&t=19321&start=405#p932733
2016-08-24 10:27:14 +03:00
alexey.lysiuk
a185886924
Added compatibility handling for fog and dynamic lights used together
...
See http://forum.drdteam.org/viewtopic.php?t=7063
2016-08-24 10:26:11 +03:00
Magnus Norddahl
25645d901e
Add Palette LUT tonemap mode
2016-08-23 09:18:18 +02:00
Christoph Oelckers
9555617816
- fixed: The default for position.w is 1, so gl_quaddrawer.cpp needs to set this, too, for the uniform vertex positions.
2016-08-22 22:02:02 +02:00
Christoph Oelckers
b946114145
- removed unused variable.
2016-08-22 22:00:45 +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
Magnus Norddahl
302f59ea33
Fix r_clearbuffer color not being used
2016-08-22 01:52:51 +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
Magnus Norddahl
f63635e07a
Fix RFL_INVALIDATE_BUFFER check being inverted
2016-08-19 01:11:11 +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
b21b65eb43
Rearrange binding of texture and sampler to get rid of texture state usage warning
2016-08-18 01:32:41 +02:00
Magnus Norddahl
01f9a2d27a
Fix clear warning
2016-08-18 00:21:33 +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
2825bd4967
Fix invalid value error
2016-08-17 21:25:31 +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
fc01a6b832
Only query for GL_MAX_SAMPLES once
2016-08-17 17:59:47 +02:00
Magnus Norddahl
3c08f5ae48
Fix multisample count bug
2016-08-17 17:37:49 +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
a8d1197ea7
Make sure we never pass a negative value to pow, and optimize gamma uniform
2016-08-16 00:01:18 +02:00
Magnus Norddahl
a03b2ff48b
Change render buffers from RGBA16F to RGBA16
2016-08-15 23:51:49 +02:00
Christoph Oelckers
ac80ffcc00
- fixed scissor calculations in 2D drawer.
2016-08-15 08:53:49 +02:00
Christoph Oelckers
e03696a6c9
- fixed: The model matrix must be disabled right after rendering the sky dome, so that it won't get used for the skyfog layer.
2016-08-14 20:11:46 +02:00
Christoph Oelckers
4e8a96aa0e
- removed FRenderState::set2DMode because it had no effect. This looks like development garbage from old times.
2016-08-14 09:14:26 +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
fd4422eb62
Restore bound texture when FGLRenderBuffers::Setup finishes
2016-08-14 09:05:53 +02:00
Magnus Norddahl
94b72d25e9
First render may not have known scene dimensions
2016-08-14 09:05:52 +02:00
Magnus Norddahl
af62352860
Fix uninitialized data in render buffers at creation
2016-08-14 09:05:52 +02:00
Magnus Norddahl
847d2e8862
Fix viewport not being updated when resizing window when no scene is active
2016-08-14 09:05:51 +02:00
Magnus Norddahl
647ef5d029
Fix blur shader to use RenderScreenQuad
2016-08-14 09:05:50 +02:00
Magnus Norddahl
210fce1193
Fix bloom shader missing its target
2016-08-14 09:05:50 +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
353a464f5b
- fixed: The 2D texture drawer did not reset the render state's color so any previously set desaturation would persist.
2016-08-13 22:15:00 +02:00
Christoph Oelckers
0fdd80eae7
- removed debug Printf.
2016-08-10 16:32:31 +02:00
Christoph Oelckers
0e5a3ebe50
- fixed bad function call in vertex buffer init code.
2016-08-10 00:35:42 +02:00
Christoph Oelckers
56a60ebe85
- restored a line that got accidentally deleted.
2016-08-08 20:47:54 +02:00
Christoph Oelckers
e5f88a9883
- fixed: The textured automap was not using correct light levels.
...
In order for the externally passed vertex attribute to work the buffer's color attrib array needs to be disabled for these.
2016-08-08 16:18:07 +02:00
Christoph Oelckers
675822004d
- use static buffer data and a uniform to handle the texture positioning of the present shader.
...
That's again one less write access to the buffer. The uniform method was chosen because this way a buffer update can be completely avoided, and setting a single uniform is a lot cheaper and simpler to handle.
2016-08-08 16:06:02 +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
alexey.lysiuk
9ab9548723
Additional fix for splitting of complex wall in compatibility renderer
...
warp 2720 -200 -32 on Extreme Terror
https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/exterror
2016-08-08 12:19:37 +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
Magnus Norddahl
d4615861ae
Fix missing FGLRenderBuffers::IsEnabled checks
2016-08-07 00:41:17 +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
8f0629932d
- ImmRenderBuffer is not needed anymore.
2016-08-06 14:29:21 +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
346badf25f
Moved state to FGLPostProcessState and merged vertex shaders
2016-08-06 11:51:08 +02:00
Christoph Oelckers
13a2bf57e5
- fixed vertex coordinate ordering for the sky cubemap.
...
This was done differently for FFlatVertex and FSkyVertex which caused a switch of the y and z coordinates for the skybox image.
2016-08-06 11:47:03 +02:00
Christoph Oelckers
5b201287fa
- fixed bad #pragma pack combination in hqnx_asm_Image.h
2016-08-05 15:27:35 +02:00
Christoph Oelckers
13527fdd0a
Merge branch 'lensshader' of https://github.com/dpjudas/zdoom
2016-08-05 00:58:14 +02:00
Magnus Norddahl
976a78429e
Simplify post process buffer handling
2016-08-04 17:16:49 +02:00
Magnus Norddahl
6fc7596d52
Fix aspect ratio and texture clipping in lens shader
2016-08-04 15:47:15 +02:00
Christoph Oelckers
21536781a9
- forgot to save this.
2016-08-04 13:01:42 +02:00
Christoph Oelckers
63ad7d99d1
- fixed: The dynamic light buffer's behavior needs to obey the gl.lightmethod variable, and not depend on presence of persistently mapped buffers.
...
Since there is a command line switch to revert to the lower behavior it can well be that they do not match.
2016-08-04 12:55:21 +02:00
Christoph Oelckers
7ba6269450
- changed rendering of sky cubemaps to use precalculated vertex data from the SkyVertexBuffer.
2016-08-04 12:16:53 +02:00
Magnus Norddahl
6b9529d70f
Added lens distortion shader
2016-08-02 17:32:21 +02:00
Magnus Norddahl
43e577ce79
Merge remote-tracking branch 'gzdoom_upstream/master' into postprocess_vbo_bind_fix
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
2016-08-02 10:00:53 +02:00
Magnus Norddahl
5a67ae6021
Fix missing VBO bind calls
2016-08-02 00:27:01 +02:00
Magnus Norddahl
f980a1f42b
Fix wrong UV calculations when resizing or maximizing window
2016-08-01 15:12:13 +02:00
Christoph Oelckers
8aebfdb3ab
- fixed: gl_bloom_amount may never be 0.
2016-08-01 11:29:28 +02:00
Magnus Norddahl
e8c98a5901
No gamma and player sprites on screenshots
2016-07-31 16:56:41 +02:00
Magnus Norddahl
7709db4bb0
Fix broken viewport/backbuffer location for WriteSavePic
2016-07-31 16:23:21 +02:00
Magnus Norddahl
a6354c74cf
Fix incorrect viewport location when not using fullscreen HUD
2016-07-31 13:23:49 +02:00