Magnus Norddahl
be2c50f11c
Merge remote-tracking branch 'gzdoom/master' into ssao
2016-10-21 23:48:30 +02:00
raa-eruanna
2a7b902a0a
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
2016-10-10 10:39:07 -04:00
Christopher Bruns
779e6acb7b
Create "final" two non-VR 3D modes: Column-interleaved and checkerboard.
2016-10-09 13:05:50 -04:00
Magnus Norddahl
94d8e10f96
Merge branch 'ssao' into qzdoom
2016-10-09 06:27:42 +02:00
Magnus Norddahl
1b7c42f45f
Multisampling ssao bug fixes and split linear depth to its own buffer
2016-10-09 06:17:48 +02:00
Magnus Norddahl
bb79dcb634
SSAO math bug fixes
2016-10-06 07:36:49 +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
490dd612b3
Keep using render buffers when ssao is off, for better performance
2016-10-05 03:56:58 +02:00
Magnus Norddahl
e9d13e5d74
Remove gl_light_math (reverts last remains of old lightmath branch)
2016-10-04 00:25:35 +02:00
Magnus Norddahl
51f867bc6c
Merge branch 'ssao' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
# wadsrc/static/shaders/glsl/main.fp
2016-10-04 00:16:05 +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
Magnus Norddahl
bcb64a3445
Merge branch 'ssao' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# src/gl/shaders/gl_ambientshader.cpp
# src/gl/shaders/gl_ambientshader.h
# src/gl/system/gl_cvars.h
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-03 23:47:09 +02:00
Magnus Norddahl
dcb6c1ac3a
Move ApplyFXAA to PostProcessScene
2016-10-03 23:30:00 +02:00
Christoph Oelckers
4eb5f10b02
- use normals to have proper light attenuation. So far only implemented for walls and flats. Models are planned but need some thinking about how to efficiently collect all required lights for an object.
2016-10-03 16:09:32 +02:00
Magnus Norddahl
7c47806382
Fix aspect ratio bug in LensDistortScene
2016-10-03 09:18:47 +02:00
raa-eruanna
c6408e92e2
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-02 23:10:07 -04:00
alexey.lysiuk
c68aa2b241
Added FXAA post-processing
...
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
5391216756
Delete unused new BlitFromEyeTexture() method I ended up not using.
2016-10-02 16:27:43 -04:00
Christopher Bruns
460b653709
Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode.
2016-10-02 16:10:21 -04:00
Christopher Bruns
79046580d5
Partial implementation of row interlaced mode.
2016-10-02 16:09:22 -04:00
raa-eruanna
a89ec61dc1
Merge http://github.com/coelckers/gzdoom
2016-10-01 19:06:40 -04:00
Christoph Oelckers
cfa6b817b5
- made bloom and tonemap settings game specific and save all related CVARs.
...
As was pointed out: "That said, there is one minor problem - different game artstyles can constitute whether Bloom is turned on, which tonemap is used, etc. For example, when playing Doom, I like having my bloom on, but if I am going to start playing the Adventures of Square, the art style and bloom don't mix, in my opinion. For this, I have to remember to switch my bloom settings every time I switch IWad"
2016-10-01 21:34:13 +02:00
Magnus Norddahl
6cb9f875dd
Fix missing call from merge
2016-09-25 00:31:43 +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
Magnus Norddahl
9af34bac69
Add gbuffer pass support to FShaderManager and FRenderState
2016-09-25 00:22:32 +02:00
Magnus Norddahl
37e3172c94
Fix random texture sampling bug
2016-09-25 00:22:31 +02:00
Magnus Norddahl
0a8cc1b74c
Fix depth blur
2016-09-25 00:22:31 +02:00
Magnus Norddahl
24ab13f1ce
Fix stripes in the reconstructed normals due to down scaling
2016-09-25 00:22:31 +02:00
Magnus Norddahl
11725c435e
Grab tanHalfFovy from the projection matrix
2016-09-25 00:22:31 +02:00
Magnus Norddahl
e025f6e54b
Mark portals in scene alpha channel for the SSAO pass
2016-09-25 00:22:31 +02:00
Magnus Norddahl
c7c0ffadb5
Move SSAO pass to be before translucent rendering
...
Fix depth sampling location when not using fullscreen scene
2016-09-25 00:19:16 +02:00
Magnus Norddahl
09bec67821
Resolve multisampling depth in shader
2016-09-25 00:19:16 +02:00
Magnus Norddahl
a246b58673
Change SSAO blur to be depth aware
2016-09-25 00:19:16 +02:00
Magnus Norddahl
a6fdaca633
Fix precision issue in SSAO shader
2016-09-25 00:19:16 +02:00
Magnus Norddahl
723eb746f6
Add ssao random texture
2016-09-25 00:19:15 +02:00
Magnus Norddahl
9076d46261
Added SSAO pass
2016-09-25 00:19:15 +02:00
Magnus Norddahl
8172949800
Merge branch 'lightmath' into dpdoom
2016-09-24 08:40:47 +02:00
Magnus Norddahl
4350587714
Remove accidental UpdateCameraExposure duplicate from merge
2016-09-24 08:40:28 +02:00
Magnus Norddahl
c21090333f
Merge remote-tracking branch 'qzdoom/master' into dpdoom
2016-09-24 08:17:49 +02:00
Magnus Norddahl
d126e91ded
Merge remote-tracking branch 'gzdoom/master' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/renderer/gl_renderbuffers.h
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_scene.cpp
2016-09-24 08:12:12 +02:00
Christoph Oelckers
ee2766d00b
- made adjustments for new savegame code.
2016-09-24 01:47:44 +02:00
raa-eruanna
2a9e97688d
Merge http://github.com/coelckers/gzdoom
2016-09-22 05:23:02 -04:00
Christoph Oelckers
960ed5130c
- fixed: DTA_ColorOverlay was not properly handled by F2DDrawer.
2016-09-22 10:20:36 +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
Magnus Norddahl
af699dcebc
Make bloom/exposure less aggressive
2016-09-22 09:13:33 +02:00
Magnus Norddahl
f7b6b1433c
Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing
2016-09-22 09:13:32 +02:00
Magnus Norddahl
b6c64416be
Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it
2016-09-21 02:04:56 +02:00
Magnus Norddahl
24f748da03
Add gbuffer pass support to FShaderManager and FRenderState
2016-09-20 02:57:57 +02:00
Magnus Norddahl
b1871b272b
Merge branch 'exposure_pass' into lightmath
2016-09-18 19:31:36 +02:00
Magnus Norddahl
210dd6d26a
Make bloom/exposure less aggressive
2016-09-18 19:31:09 +02:00
Magnus Norddahl
38be2333d0
Merge branch 'exposure_pass' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/renderer/gl_renderbuffers.h
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_scene.cpp
2016-09-18 16:22:44 +02:00
Magnus Norddahl
1e2935f4e0
Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing
2016-09-18 15:57:22 +02:00
Magnus Norddahl
95fef44200
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
2016-09-15 00:31:34 +02:00
raa-eruanna
343cde4595
Merge http://github.com/coelckers/gzdoom
2016-09-14 14:08:19 -04: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
raa-eruanna
004c7de89b
Part 1 of code merge
2016-09-14 04:03:39 -04:00
Magnus Norddahl
a0b6a0275c
Fix random texture sampling bug
2016-09-11 11:09:40 +02:00
Magnus Norddahl
03d0b09f29
Fix depth blur
2016-09-10 22:39:09 +02:00
Magnus Norddahl
63fb604e98
Fix stripes in the reconstructed normals due to down scaling
2016-09-09 18:19:00 +02:00
Magnus Norddahl
8861b1aaff
Grab tanHalfFovy from the projection matrix
2016-09-09 09:47:46 +02:00
Magnus Norddahl
f6bede8374
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/renderer/gl_renderbuffers.h
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_scene.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.z
2016-09-09 09:31:30 +02:00
Magnus Norddahl
8b7267cf87
MaskAnaglyph present mode
2016-09-09 00:36:11 +02:00
Magnus Norddahl
ccbe5160b0
Split F2DDrawer::Flush into Draw and Clear
2016-09-09 00:36:10 +02:00
Magnus Norddahl
aaa3581ee6
Hook up eye textures in renderer
2016-09-09 00:36:10 +02:00
Magnus Norddahl
4bdd872f09
Add eye textures and FBOs to FGLRenderBuffers
2016-09-09 00:36:09 +02:00
raa-eruanna
5a64307ad1
Changes the tonemap generation algorithm.
2016-09-08 00:51:48 +02:00
Magnus Norddahl
3727c5ed0f
Mark portals in scene alpha channel for the SSAO pass
2016-09-04 08:15:29 +02:00
Magnus Norddahl
5f02e08c8e
Fix minimize crash
2016-09-04 03:15:50 +02:00
Magnus Norddahl
dc39a006dc
Fix palette tonemap precision and compile error on Intel
2016-09-04 02:37:59 +02:00
Magnus Norddahl
e7765bb240
Move SSAO pass to be before translucent rendering
...
Fix depth sampling location when not using fullscreen scene
2016-09-03 04:29:50 +02:00
Magnus Norddahl
902097d6da
Resolve multisampling depth in shader
2016-09-03 04:12:00 +02:00
Magnus Norddahl
b1c1e6aae7
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
2016-09-03 01:17:16 +02:00
Christoph Oelckers
90ab0223a6
- handle colormap parameter reset when renderbuffers are toggled.
2016-09-03 00:36:23 +02:00
Magnus Norddahl
77dde2e3ad
Fix not switching back to the default frame buffer when gl_renderbuffers is toggled off
2016-09-03 00:13:05 +02:00
Magnus Norddahl
98032bc73f
Change SSAO blur to be depth aware
2016-09-02 05:45:00 +02:00
Magnus Norddahl
5a0c61a2d5
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/scene/gl_scene.cpp
2016-09-02 02:40:44 +02:00
Christoph Oelckers
589936f570
- draw the colormap blend after postprocessing, not before it.
...
- added colormap shader to postprocessing.
This replaces the in-place application of fullscreen colormaps if renderbuffers are active. This way the fully composed scene gets inverted, not each element on its own which is highly problematic for additively blended things.
2016-09-01 17:14:51 +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
Magnus Norddahl
8a2737a0ce
Fix precision issue in SSAO shader
2016-09-01 07:15:40 +02:00
Magnus Norddahl
55ea4a7729
Add ssao random texture
2016-08-30 01:09:21 +02:00
Magnus Norddahl
737e700774
Added SSAO pass
2016-08-29 13:10:22 +02:00
Magnus Norddahl
a1d90e1229
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
2016-08-29 12:58:20 +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
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
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
10550c4ef0
Merge branch 'init_global_state' of https://github.com/dpjudas/zdoom
2016-08-26 02:20:00 +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
4ab8ca63ce
- use more desctiptive names for the predefined vertex buffer indices.
2016-08-25 22:23:31 +02:00
Magnus Norddahl
9525d3690f
Added gl_light_math and changed pixelpos + lights to be in eye space
2016-08-25 06:25:05 +02: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
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
Magnus Norddahl
f63635e07a
Fix RFL_INVALIDATE_BUFFER check being inverted
2016-08-19 01:11:11 +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
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
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
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
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
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
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
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
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
Magnus Norddahl
346badf25f
Moved state to FGLPostProcessState and merged vertex shaders
2016-08-06 11:51:08 +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
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
Magnus Norddahl
b789aaa0eb
Fix binding error that Nvidia didn't complain about but Intel on Mac does
2016-07-31 03:16:48 +02:00
Christoph Oelckers
c93204cace
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-07-30 22:09:56 +02:00
Christoph Oelckers
bc51e98612
Merge branch 'blackscreenfix' of https://github.com/dpjudas/zdoom
2016-07-30 20:28:41 +02:00
Magnus Norddahl
1682b02c67
Fix glBindSampler state messing up post processing shaders
2016-07-30 19:54:20 +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
alexey.lysiuk
7de242930a
Removed obsolete gamma correct shader used on macOS only
2016-07-30 15:30:35 +03:00
Magnus Norddahl
9bfce5b6ea
Moved post processing effects to its own file
2016-07-30 00:02:26 +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
69f52cc898
Added bloom shaders
2016-07-27 21:50:30 +02:00
Magnus Norddahl
e82c38e4f9
Update copyright and typo fix
2016-07-27 11:15:20 +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
7b99c883e1
- use the exact same semantics and methods to handle player visibility as in the software renderer.
...
This fixes invisible player sprites in recursive line portals.
2016-06-18 12:14:20 +02:00
Christoph Oelckers
92e2ce2aef
- adjustments for weapon rendering in GL.
...
This adds support for the new weapon state code and fixed some lighting calculations.
Note that this currently will not allow combination of HUD models with other sprite frames yet.
2016-06-17 17:21:42 +02:00
Christoph Oelckers
99bfc64af6
- another failed attempt to use GL_CLIP_PLANE. Leave it in because it's closer to what is needed than the old code.
2016-05-12 23:41:06 +02:00
Christoph Oelckers
ec7b4b1ba4
- initial work on textured dynamic light processing.
2016-05-04 22:14:39 +02:00
Christoph Oelckers
5f095082c0
- fixed: The 2D drawing code incorrectly set the shader override to disable all special effects.
2016-05-04 14:10:06 +02:00
Christoph Oelckers
4d7be0e20e
- added software interpolation as a fallback for models.
...
This is not tested yet so no guarantees!
2016-05-03 13:10:00 +02:00
alexey.lysiuk
44b019413c
Implemented gamma correction in OS X native backend using shader effect
2016-05-02 10:04:09 +03:00
Christoph Oelckers
8011958ebe
Merge branch 'gz2x' of https://github.com/alexey-lysiuk/gzdoom
...
# Conflicts:
# src/gl/system/gl_interface.cpp
2016-04-30 17:09:57 +02:00
alexey.lysiuk
4400d0cfcc
Fixed restoration of previously bound FBO
2016-04-30 16:29:22 +03:00
Christoph Oelckers
21283b18f4
- preparations for using clip planes on line portals.
2016-04-29 01:48:06 +02:00
Christoph Oelckers
d4806f82ca
- reinstated some texturing-based dynamic light code. Not active yet and not tested yet.
2016-04-28 00:58:44 +02:00
Christoph Oelckers
09f54b0940
- cleaned up the clip plane management for portals.
...
Unfortunately the math behind the old clip planes is utterly impenetrable and so poorly documented that I have no idea how to set that up, so it is deactivated for now. It wasn't working anyway.
2016-04-27 00:41:00 +02:00
Christoph Oelckers
066d5c63e2
- better be safe and not call GL_CLIP_DISTANCE functions on old hardware.
2016-04-26 21:55:17 +02:00
Christoph Oelckers
6e1b21d513
- added back sprite splitting for low end, plus some dynamic light code.
2016-04-26 21:31:24 +02:00
Christoph Oelckers
924b72b633
- added workarounds for the invulnerability colormap for non-shader rendering. Unlike the shader based versions these do not decolorize the screen. The advantage to the old texture duplication is that this is far less stressful on performance.
2016-04-26 20:02:57 +02:00
Christoph Oelckers
7e6e2bc0a8
- stated adding GL 2.0 compatibility handling
2016-04-26 18:24:02 +02:00
Christoph Oelckers
eb27057853
- enable shader-less rendering. Still very incomplete, but at least the basics are working.
2016-04-26 16:44:03 +02:00
Christoph Oelckers
3b1500438d
- got rid of VAO's. they have no impact on performance and are a general nuisance if some render paths cannot use them.
...
- cleaned up gl_interface and removed gl.compatibility.
2016-04-26 16:26:34 +02:00
Christoph Oelckers
f066457a48
- add shader patching to allow running the engine with GLSL 1.2.
...
- made some initial preparations for the shader-less fallback path.
2016-04-26 15:26:52 +02:00
Christoph Oelckers
090d13b915
- updated gl_interface to deal with older GL versions.
...
- added the framework for allowing multipass textured dynamic lights again.
2016-04-26 15:20:26 +02:00
Christoph Oelckers
573d80f144
- render sproites through sector portals.
2016-04-18 23:52:15 +02:00
Christoph Oelckers
2e16f3d77e
- made some adjustment for the DrawTexture changes.
2016-04-09 20:49:27 +02:00
Christoph Oelckers
1f0fd85d0e
- adjustments for the DrawTexture interface changes.
2016-04-09 13:05:43 +02:00
Christoph Oelckers
f6b33acbb1
- fixed plane access in GL code.
2016-04-04 12:22:47 +02:00
Christoph Oelckers
af78937a15
- updated GL renderer.
2016-04-02 23:17:16 +02:00
Christoph Oelckers
cf44d2e37a
- adjustments.
2016-03-30 20:01:44 +02:00
Christoph Oelckers
59bb003285
- GL adjustments for plane changes.
2016-03-29 13:45:50 +02:00
Christoph Oelckers
59406c1273
- adjust.
2016-03-24 16:40:15 +01:00
Christoph Oelckers
eadecaf407
- adjustments to GL renderer for decal and alpha changes.
...
- handle portals in sprite lighting, but do not use the playsim's utility functions for efficiency.
2016-03-22 23:19:21 +01:00
Christoph Oelckers
b54b34a512
- adjustments for floating point changes.
2016-03-21 02:57:02 +01:00
Christoph Oelckers
fc57180d7e
- added necessary state to implement 3D light splitting using hardware clipping planes.
2016-01-30 23:01:11 +01:00
Christoph Oelckers
d037493ffe
- fixed handling of FF_FADEWALLS on 3D floors. The problems with the old method became quite obvious in the demo map after the light list bug got fixed.
2016-01-29 17:13:14 +01:00
Christoph Oelckers
926e9fdac4
- fixed: For 2D-drawing of camera textures the render style was not set.
2016-01-07 22:20:57 +01:00
Christoph Oelckers
f2c890272f
- FRenderState::Apply does not need to call ApplyColorMask.
2016-01-01 10:59:34 +01:00
Christopher Bruns
ac6e2f4979
Use gl_RenderState to manipulate OpenGL color mask for anaglyph modes, to avoid glGet...
2015-12-31 11:57:21 -05:00
Christopher Bruns
bcac352265
Merge branch 'master' of https://github.com/coelckers/gzdoom into stereo3d
2015-11-09 19:40:53 -05:00
Christoph Oelckers
ad6ce5a726
- added a NULL check to gl_enhanced_nightvision's handler so that it won't crash without an uninitialized GL renderer.
2015-11-09 13:49:17 +01:00
Christopher Bruns
789dca2ab3
Refactor stereo 3d projection matrix calculations to use VSMatrix.
2015-10-31 07:46:36 -04:00
Christopher Bruns
0874455faf
Initial implementation of five 3D modes -- some bugs remain.
2015-10-30 20:51:35 -04:00
Christoph Oelckers
baa775b31c
- fixed: Light level must be clamped before accessing the distfogtable.
2015-04-24 16:55:31 +02:00
Christoph Oelckers
052dda0fdd
- made MD3 models reloadable.
2015-04-12 19:42:03 +02:00
Christoph Oelckers
45526c2769
- basics for using hardware clip planes to split translucent stuff by 3D floor planes.
2015-04-05 18:55:21 +02:00
Christoph Oelckers
45cf65afbd
- moved the aspect ratio correction factor from the projection to the view matrix where it should have been from the start.
...
- removed the mCameraPos variable in FGLRenderer because it was only used in one place where it is just as easy to use the global viewx/y/z variables directly.
2014-12-29 22:42:19 +01:00
Christoph Oelckers
ec627d94dd
- fixed: The depth clamp setting needs to be tracked per portal so that it can be properly restored afterward.
...
Regular skies need it off but SkyViewpoints need it on - and all others need to use the parent's setting.
So without engine side tracking we can end up rendering the sky with this setting off, resulting in omission of the fog layer.
2014-11-27 12:26:52 +01:00
Christoph Oelckers
e5cd90f323
- use separate vertex buffers per model to avoid large memory usage peaks. Also delete the geometry data for the models once it has been copied into the vertex buffer.
2014-10-24 11:43:25 +02:00
Christoph Oelckers
5302a10a7d
- diable software lighting for textured automap.
...
* since it is designed for software-style light diminishing it doesn't work for 2D.
* additionally it left the lighting state in an unsuitable setting for further 2D rendering.
2014-10-23 09:19:30 +02:00
Christoph Oelckers
fd3128a164
- fixed: When changing enhanced nightvision mode the shaders need to have their fixed colormap state reset to ensure that the new settings get used.
...
- fixed: The shader code for handling special fixed colormaps did not use the color vertex attribute which was most evident with the 'shadow' render style on the spectre.
2014-10-05 09:40:36 +02:00
Christoph Oelckers
4682736585
- fixed: non-tiled mid textures on a fog boundary require some special clamping to be performed in the shader.
2014-09-21 11:08:17 +02:00
Christoph Oelckers
acf6c259d8
- changed the handling of alpha textures. The only special case they need is with palette-less textures and this can be handled far more easily and robustly with a predefined translation instead of passing another parameter through all the layers of the texture management code. This also fixes problems with paletted PNGs that get used as an alpha texture because the old method clobbered the image's palette.
2014-09-09 13:21:36 +02:00