Christoph Oelckers
221beec979
- added palette shader and fixed a few things.
2018-04-07 12:17:23 +02:00
Christoph Oelckers
211a7f2569
- made the screen blend work for the software renderer.
...
It may use the same calculations as the hardware renderer but must use the 2D drawer for display.
It should be investigated if the hardware renderer can do this as well.
2018-04-07 10:53:20 +02:00
Christoph Oelckers
b34d7f9e08
- added a software scene drawer to the GL renderer.
...
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
Christoph Oelckers
d474b849a5
- removed the remaining calls from the FRenderer interface from the main game code.
...
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
60aebff4a1
- starting separation of hardware dependent and hardware independent code, starting with aabbtree, because it was easy.
2018-04-02 15:58:28 +02:00
Christoph Oelckers
1fc4c9801b
- moved all GLDEFS parsing into a dedicated source file.
...
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.
2018-04-02 12:28:20 +02:00
Christoph Oelckers
248a29bf06
- resorted portal render data.
...
Compiles but does not work...
2018-04-01 22:26:57 +02:00
Christoph Oelckers
8b79eedfea
- moved CreateTexBuffer out of the GL code.
...
This is merely a buffer creation function with no dependencies on the renderer.
2018-04-01 14:38:48 +02:00
Christoph Oelckers
1461059dae
- moved contents of gl_templates.h to files outside of gl/
2018-04-01 11:59:12 +02:00
Christoph Oelckers
e49cd2cb83
- moved the hires replacement and upscaling code out of the GL classes into FTexture.
...
This theoretically means that the software renderer could access this data as well - if it just had been written with a more flexible texture interface.
However, as things stand, this may require quite a bit of work to achieve.
2018-04-01 10:41:04 +02:00
Christoph Oelckers
a9d5533603
- integrated GL parts of translation handling into the main module.
...
Now that this doesn't have to share assets with HW2D it could be simplified a lot.
2018-04-01 00:59:49 +02:00
Christoph Oelckers
a001a5304d
- removed the old software renderer framebuffers for Windows
...
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
00c66f42d3
- made DTA_SpecialColormap work, both for GL3+ and GL2 render paths.
...
This will only be used for HUD sprites. At the moment it will ignore sprite translations, though, when running in OpenGL 2 legacy mode.
2018-03-30 21:14:49 +02:00
Christoph Oelckers
832df6d43a
- implemented desaturation for the legacy GL renderer's 2D.
...
A lot of work that's only needed to be able to use the hardware renderer's 2D code with the software renderer.
2018-03-30 18:14:42 +02:00
Christoph Oelckers
811d96e07e
D3D 2D code refactored but not tested yet.
2018-03-29 23:21:25 +02:00
Christoph Oelckers
a40e085a46
- 2D drawer implementation complete for hardware renderer.
...
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
Christoph Oelckers
077df87704
- 2D code works in GL legacy mode.
...
Not tested yet with shaders.
2018-03-29 11:58:28 +02:00
Christoph Oelckers
fa6ba84094
- fixed untextured vertex order and removed some test code.
2018-03-29 00:38:31 +02:00
Christoph Oelckers
a253b15334
- more fixes.
2018-03-28 23:57:50 +02:00
Christoph Oelckers
3ca3193379
- fixed a few things, but still not working.
2018-03-28 23:42:06 +02:00
Christoph Oelckers
b194f2c466
- game starts, but no 2D visible yet.
2018-03-28 22:04:28 +02:00
Christoph Oelckers
70b6754299
- implemented the 2D drawer for the hardware renderer. Not tested yet.
2018-03-28 21:38:00 +02:00
Christoph Oelckers
16480a3f4b
- it compiles again.
...
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
Christoph Oelckers
33289ade49
- renamed the 2D drawer in the GL renderer so that the same name can be used for the device-independent replacement.
2018-03-27 21:44:58 +02:00
Christoph Oelckers
e89a598b31
- renamed FTexture's UseType flags and gave them a dedicated type.
...
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
6a02eaa595
- second part of texture fix.
2018-02-15 18:40:23 +01:00
Christoph Oelckers
ef55386d9f
- let the texture manager handle the special OpenGL textures so that they get deleted and recreated when needed.
2018-02-15 17:56:04 +01:00
Rachael Alexanderson
1559d74c2c
- repaired the video scaling code
2017-12-10 04:22:28 -05:00
Rachael Alexanderson
030450b6a9
- fixed: include missing header
2017-07-27 03:08:42 -04:00
Rachael Alexanderson
16e38816ba
- oops, forgot one thing in the last commit...
2017-07-27 03:07:19 -04:00
Rachael Alexanderson
30087f7cd7
- cleaned up the video scale mode code a bit, in order to increase future flexibility.
2017-07-27 03:05:01 -04:00
Magnus Norddahl
449c4cb711
- Pixel stretch 320x200 and 640x400 scale modes in the GL renderer
2017-07-23 17:18:25 +02:00
Magnus Norddahl
c3702ae9e7
Add vid_scalemode support to GL framebuffer
2017-07-23 00:33:56 +02:00
Magnus Norddahl
8a0e801cb5
- Move custom postprocess shader to its own file
2017-07-06 05:36:01 +02:00
alexey.lysiuk
0c90253a5d
Fixed potentially broken portal rendering after OpenGL context change
...
https://forum.zdoom.org/viewtopic.php?t=56393
2017-05-30 13:01:51 +03:00
Christoph Oelckers
4c61048278
- moved gl_fixedcolormap into GLSceneDrawer.
...
This means that one of the most extensively used global variables is gone.
2017-03-12 21:57:39 +01:00
Christoph Oelckers
ef3421eee5
- moved dynamic lights out of the GL code into the common game code.
...
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Magnus Norddahl
6363c6cf58
Add a shadowmap shader
2017-03-02 16:19:06 +01:00
Christoph Oelckers
72101473d0
- fixed: The texture for legacy dynamic light handling was always allocated, even if not needed, and it was never freed.
2017-01-11 10:47:45 +01:00
alexey.lysiuk
5dff3d5af0
Do not apply viewport scaling in fullscreen mode
...
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:24 +02:00
alexey.lysiuk
efaaefcb70
gl_scale_viewport CVAR is now saved to config file
...
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:10 +02:00
Magnus Norddahl
be2c50f11c
Merge remote-tracking branch 'gzdoom/master' into ssao
2016-10-21 23:48:30 +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
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
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
460b653709
Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode.
2016-10-02 16:10:21 -04: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
a246b58673
Change SSAO blur to be depth aware
2016-09-25 00:19:16 +02:00
Magnus Norddahl
9076d46261
Added SSAO pass
2016-09-25 00:19:15 +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