Christoph Oelckers
0db7a6206b
- fixed shader compilation.
2021-09-21 21:07:46 +02:00
Christoph Oelckers
da806b354d
- cleanup of the revised y-clamping feature.
...
This integrates better with the existing features.
2021-09-21 20:31:42 +02:00
Christoph Oelckers
fc2818b195
- menu system update from Raze for better control of animated menus.
2021-09-18 12:19:35 +02:00
Christoph Oelckers
918e9e9b0d
- fixed texture clamping for elements that are partially behind a slope.
...
This is mainly mid textures on linedefs and decals.
2021-09-17 00:25:28 +02:00
Christoph Oelckers
c7db3875e1
- fixed: colors from brightmaps and glowmaps need to be desaturated.
2021-09-14 19:49:41 +02:00
Christoph Oelckers
e1a5f61f8c
- fixed: shaders with NO_LAYERS defined may not apply brightmap and glowmap.
...
These are undefined for such fragments.
2021-09-14 19:49:41 +02:00
Christoph Oelckers
39513cf7ae
Revert "- eliminate an unexpected slow path in the fragment shader."
...
This reverts commit cd5aa65fda
.
This does not work as expected, needs more investigation.
2021-08-09 20:31:21 +02:00
Christoph Oelckers
cd5aa65fda
- eliminate an unexpected slow path in the fragment shader.
...
Apparently with checking uLightLevel the shader cannot discard the slow software lighting path entirely adding a significant amount of processing time.
Changed to check the actual lightmode value, which re-enables the fast path again.
2021-08-09 19:50:45 +02:00
Marisa Kirisame
fd07183585
Fix model normals being distorted by MODELDEF scaling.
2020-12-12 00:21:33 +01:00
Christoph Oelckers
b20de184a0
- made the new Build light mode operational
2020-06-11 08:48:33 +02:00
Christoph Oelckers
5896f24eba
- added a new light mode that emulates Build's depth fading.
...
Not active yet, this needs some testing and finetuning.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
9e51a2f63c
- added Build's NPOT emulation to the backend.
...
For GZDoom this is completely disabled, of course, because the Doom engine does not need it, but in order to have the same backend code in both engines it needs to be present.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
f8dcb09ff0
- moved postprocessing shaders to their own folder.
2020-04-26 21:22:57 +02:00
Christoph Oelckers
7c46dace03
- this still doesn't work on Vulkan. :(
2020-04-19 10:57:44 +02:00
Christoph Oelckers
8381092cce
- major shader rework
...
* handle brightmaps in the main shader instead of keeping separate instances around.
* added detail and glow layers from Raze.
* fixed material setup which could not guarantee that everything was initialized correctly.
* for warped textures, warp all layers. With this brightmaps finally work on warped textures.
Note: Vulkan reports a "device lost" error with this which still needs to be investigated.
2020-04-19 10:57:43 +02:00
Christoph Oelckers
738b9ceb08
- fixed incompletely changed shader.
...
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
3209d4ed23
- added a few more texture coloring options to the shader.
...
Aside from adding an additive component it can now also do:
- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.
Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
alexey.lysiuk
b6ada166fc
- fixed compilation of FXAA shader by macOS OpenGL
...
Compile Shader 'shaders/glsl/fxaa.fp':
ERROR: 0:250: '' : syntax error: incorrect preprocessor directive
ERROR: 0:250: '' : syntax error: unexpected tokens following #if preprocessor directive - expected a newline
ERROR: 0:265: '' : syntax error: incorrect preprocessor directive
ERROR: 0:265: '' : syntax error: unexpected tokens following #if preprocessor directive - expected a newline
ERROR: 0:266: '' : Macro Redefined lumaM
ERROR: 0:301: '' : syntax error: incorrect preprocessor directive
ERROR: 0:301: '' : syntax error: unexpected tokens following #if preprocessor directive - expected a newline
ERROR: 0:599: '' : syntax error: incorrect preprocessor directive
ERROR: 0:599: '' : syntax error: unexpected tokens following #if preprocessor directive - expected a newline
https://forum.zdoom.org/viewtopic.php?t=65003
2019-06-11 08:20:24 +03:00
alexey.lysiuk
addcad8ac0
- disabled discard in FXAA shader with Vulkan backend
...
Discard caused graphical corruptions on AMD hardware with Vulkan backend enabled
https://forum.zdoom.org/viewtopic.php?t=64230
2019-06-04 11:32:00 +03:00
alexey.lysiuk
da2d0e47e6
- removed array length() function from shadowmap shader
...
Array's length() function is not yet supported by SPIRV-cross and MoltenVK
Its usage was replaced by explicit nodes count value passed as uniform
2019-05-24 14:29:37 +03:00
Magnus Norddahl
f3cb5e09e4
- SIMPLE is never ever defined for main.fp
2019-05-13 22:38:16 +02:00
Magnus Norddahl
bab5862383
- fix some vulkan warnings
2019-05-13 21:15:10 +02:00
Magnus Norddahl
5f12191c05
- fix validation error for shader input not declared by main.vp
2019-05-12 23:15:49 +02:00
Magnus Norddahl
e75ab8ed09
- fix wrong fog color used for ssao when using multisampling
2019-05-05 23:23:47 +02:00
Magnus Norddahl
1973001834
- use the exact sRGB->linear transfer function in HDR mode as the 2.2 gamma approximation is visibly inaccurate in this case
2019-05-01 00:55:31 +02:00
Magnus Norddahl
d63513ec14
- fix normal vectors on models
2019-04-17 20:42:00 +02:00
Magnus Norddahl
15dae4cfe6
- rewrite depthblur.fp to workaround what seemed to be a bug in the NVidia driver
2019-04-16 16:17:23 +02:00
Magnus Norddahl
9d29a460de
- simplify depthblur.fp into a single function
2019-04-16 08:59:29 +02:00
Magnus Norddahl
67490d13cb
- add gl_ssao_debug mode showing the depth
2019-04-16 05:29:32 +02:00
Magnus Norddahl
558760c090
- fix the gl_ssao_debug cvar
2019-04-16 03:32:54 +02:00
Magnus Norddahl
db4310ca6b
- prevent excessively bright pixels as this is actually visible on a HDR monitor
2019-04-11 03:34:34 +02:00
Magnus Norddahl
c28e56f9e8
- workaround buggy preprocessor in old AMD OpenGL drivers
2019-04-07 19:42:32 +02:00
Magnus Norddahl
2d8516b2ca
- make shaderClipDistance optional
2019-03-25 19:44:46 +01:00
Magnus Norddahl
cce96ca87a
- implement shadow maps
2019-03-15 07:54:34 +01:00
Magnus Norddahl
dca0b75038
- change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
...
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl
0620041228
- remove screenquadscale.vp
2019-03-12 16:24:55 +01:00
alexey.lysiuk
02ed758447
Merge branch 'master' into vulkan2
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
Christoph Oelckers
99c8ba1288
- use uAddColor instead of uObjectColor2 for the ending color of a special colormap range.
...
Unlike uObjectColor2, this is more global state. uObjectColor2 is part of gradient calculation which may later be offloaded to a secondary buffer which already resulted in only conditionally setting it, resulting in broken special colormap application for the software renderer.
2019-03-09 12:12:33 +01:00
Magnus Norddahl
b313f91ab0
- add layout location decl to all postprocess shaders
2019-03-05 18:55:31 +01:00
Magnus Norddahl
56afcd210b
- fix: gl_PointSize is required in Vulkan when drawing points
...
- fix: add depthstencil attachment when stencil is active while depth is not
2019-03-03 23:30:36 +01:00
Magnus Norddahl
f8aa48d053
- fix blinking caused by uninitialized clipping planes
2019-03-02 14:16:11 +01:00
Magnus Norddahl
05a6896d4f
- Pass vertex color and normal via uniform buffer when the attribute isn't available
2019-03-02 01:56:08 +01:00
Magnus Norddahl
d4118a755c
- load all the shaders and use the right one for each renderpass
2019-03-01 02:40:02 +01:00
Magnus Norddahl
2e0b34ca72
- hook up enough of renderstate to enable all of main.vp and main.fp
2019-02-28 00:26:49 +01:00
Magnus Norddahl
fe67a2c24f
- fix enough bugs to finally get some visuals
2019-02-26 20:19:54 +01:00
Magnus Norddahl
52460d53d9
- compile main.vp and main.fp for vulkan
2019-02-22 11:30:48 +01:00
Magnus Norddahl
f10ded756e
- split shadowmap AABB tree into two parts. one for static and one for dynamic
...
- upload only the dynamic AABB subtree using glBufferSubData
- change internal raytracing stack limit from 16 to 32
- update shadowmap AABB tree after R_SetupFrame for proper frame interpolation
2019-01-04 15:51:59 +01:00
Kevin Caccamo
9622ca7517
Add additive color before applying object colors
...
Based on what I saw in this video (https://youtu.be/Yx1tflavea8 ), the
additive colors are applied before the object colors
2018-12-26 16:58:27 +01:00
Kevin Caccamo
33723e8904
Implement additive colour on walls and sprites
...
Also, don't modify the alpha channel when adding the additive colour.
2018-12-26 16:58:27 +01:00