Commit graph

911 commits

Author SHA1 Message Date
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
Christoph Oelckers
dde25820e2 - fixed winding of voxel polygons. 2016-10-11 09:08:31 +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
raa-eruanna
2a7b902a0a Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
2016-10-10 10:39:07 -04:00
Magnus Norddahl
40df46f94e Implement OpenGL versions of GPU objects 2016-10-10 07:39:02 +02: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
5f0088ab8b Created new OpenGL framebuffer using the software renderer's hardware acceleration 2016-10-09 12:50:57 +02: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
raa-eruanna
3f020e686f Merge http://github.com/coelckers/gzdoom 2016-10-04 23:26:50 -04:00
Magnus Norddahl
490dd612b3 Keep using render buffers when ssao is off, for better performance 2016-10-05 03:56:58 +02:00
Major Cooke
0e9f808c8a Fixed: FLATSPRITES were drawn backwards. 2016-10-04 10:05:57 -05: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
alexey.lysiuk
5d99e7dafe Fixed compilation on platforms other than Windows 2016-10-03 22:13:33 +03:00
Christoph Oelckers
7ab7fc9a57 - seems I missed this part... 2016-10-03 16:21:50 +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
63b28a1d80 Retain stereoscopic parity after dragging window in row interleaved 3D mode. 2016-10-02 16:11:06 -04:00
Christopher Bruns
0240cdef18 Modulate row interleaved stereo 3d offset with window height parity, because gl_FragCoord.y approaches zero at the bottom, not the top of the window. 2016-10-02 16:10:58 -04:00
Christopher Bruns
576619504e Remove unused WindowHeight uniform. 2016-10-02 16:10:50 -04:00
Christopher Bruns
fcbf9342d6 Compute row location using gl_FragCoord. 2016-10-02 16:10:39 -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
Christopher Bruns
960d4d6755 Create TopBottom3D mode and begin sketching RowInterleaved3D mode. 2016-10-02 16:09:02 -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
raa-eruanna
dd9881b5fa Merge http://github.com/coelckers/gzdoom 2016-09-28 06:40:56 -04:00
Christoph Oelckers
b75395aa74 - fixed: Screen size update coordinates were copied into the wrong buffer location. 2016-09-28 09:25:48 +02:00
raa-eruanna
c8d0a478d8 Merge http://github.com/coelckers/gzdoom 2016-09-25 19:43:52 -04: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
raa-eruanna
ed07ff1bdd Merge http://github.com/dpjudas/dpdoom 2016-09-25 02:19:39 -04:00
raa-eruanna
9ecb7d44f7 Merge http://github.com/coelckers/gzdoom 2016-09-24 23:36:47 -04:00
Magnus Norddahl
287acea6b4 Update copyright 2016-09-25 00:31:57 +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
0397fe185f Don't do ambient occlusion when rendering to texture 2016-09-25 00:22:32 +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
Christoph Oelckers
8907a8bfe8 - fixed incorrect function name in sprites drawer.
- fixed duplicate property key in ADynamicLight serializer. Radius was already claimed by AActor so this needs a different name.
2016-09-24 12:09:53 +02:00
Magnus Norddahl
5ef46d1730 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2016-09-24 09:37:18 +02:00
Major Cooke
561edd31ec Added check for angle visibility for GZDoom. 2016-09-24 09:29:00 +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
18ee6353fa - let's be safe and set the proper texture mode for the fullscreen blend rect. I've got spurious reports that on some occasions it was rendered opaque. 2016-09-22 10:54:16 +02:00
Christoph Oelckers
1bddc277e6 - fixed winding of voxel polygons. 2016-09-22 10:28:14 +02:00
Christoph Oelckers
960ed5130c - fixed: DTA_ColorOverlay was not properly handled by F2DDrawer. 2016-09-22 10:20:36 +02:00
Christoph Oelckers
52d4c3970e - use glPOlygonOffset on non-translucent flat and wall sprites to avoid z-fighting. 2016-09-22 10:00:40 +02:00
Christopher Bruns
2e8d2ed626 Implement vr_swap_eyes CVAR, now that side-by-side mode is mostly working. 2016-09-22 09:25:49 +02:00
Christopher Bruns
a1cbd39f3f Move call to Stereo3DMode.AdjustPlayerSprites into FGLRenderer.DrawPlayerSprites()
(cherry picked from commit 5b5598d7d85c6bb8930e874d5d94cca835061bf0)
2016-09-22 09:25:48 +02:00
Christopher Bruns
a5c27af59b Show weapon at full width in SideBySideFull 3D mode.
(cherry picked from commit c42e98c0042937adc05c1f1569d909d58a5b8ffb)
2016-09-22 09:25:48 +02:00
Christopher Bruns
7b8847c6be Update comment for other file. 2016-09-22 09:25:47 +02:00
Christopher Bruns
d10a0309ab Update header comment in gl_sidebyside3d source files 2016-09-22 09:25:47 +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
Christopher Bruns
9a257ac158 Implement side-by-side narrow 3D mode. 2016-09-22 09:25:46 +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
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
Christoph Oelckers
146b5d2d06 - use 'override' qualifier on renderer interface.
Bad things can happen if these get changed in ZDoom without adapting to the change so better let the compiler handle this automatically.
2016-09-22 09:06:21 +02:00
Magnus Norddahl
7c862b85b3 Don't do ambient occlusion when rendering to texture 2016-09-22 03:49:19 +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
raa-eruanna
20e620bbe7 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/version.h
2016-09-19 03:05:38 -04: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
Christoph Oelckers
ceaa040750 - added a workaround to avoid sprite splitting when it may cause glitches for sprites that get rotated in the draw pass. 2016-09-18 17:45:02 +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
8dd12c8216 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-18 16:01:21 +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
raa-eruanna
e47e6d1d6e Merge http://github.com/coelckers/gzdoom 2016-09-17 20:06:22 -04:00
Major Cooke
80c1baa596 Fixed: Pitch was rotating around the wrong axis. 2016-09-17 12:10:22 -05:00
raa-eruanna
962291d18e Merge http://github.com/coelckers/gzdoom 2016-09-17 11:32:57 -04:00
Christoph Oelckers
bec17bd222 - FLATSPRITE fixes. 2016-09-17 08:26:30 +02:00
Major Cooke
d01b0e061e Moved flatsprite code into CalculateVertices. 2016-09-16 12:07:28 -05:00