Commit graph

21223 commits

Author SHA1 Message Date
Magnus Norddahl
b5e2de91a4 Add hint which of the uniforms are used by SetColor (maybe later move them to a secondary uniform block for independent updating) 2023-09-25 21:19:02 +02:00
Magnus Norddahl
367c1f8aaa Remove mAlphaThreshold 2023-09-25 21:19:02 +02:00
Magnus Norddahl
5de7c1ee03 Remove mClipSplit 2023-09-25 21:19:02 +02:00
Magnus Norddahl
59c72e98a4 Remove mLightParms 2023-09-25 21:19:02 +02:00
Magnus Norddahl
f80807d26a Remove unused uniforms and restrict push constants to only control offsets into buffers 2023-09-25 21:19:02 +02:00
Magnus Norddahl
6d3cb20699 Remove EPassType from VkShaderManager::Get and CompileNextShader() from VkShaderManager constructor 2023-09-25 21:19:01 +02:00
Magnus Norddahl
f220577ca4 Change the options menu to follow a more logical modern layout
Remove the old simple menu as that only made things worse
2023-09-25 21:19:01 +02:00
Magnus Norddahl
85f138841c Only add the lightmode actually being used into the shader 2023-09-25 21:19:01 +02:00
Magnus Norddahl
ca7e5be6b4 Remove virtual inheritance 2023-09-25 21:19:01 +02:00
Magnus Norddahl
ae72639853 Begin removing binding points from the hwrenderer layer.
Well known buffers should be created and managed by the backend, otherwise the backend just becomes an OpenGL emulator.
2023-09-25 21:19:01 +02:00
Magnus Norddahl
c22c9bea29 Remove dead code 2023-09-25 21:19:01 +02:00
Magnus Norddahl
9caa966f6f Add GetDevice function instead of accessing device member directly 2023-09-25 21:19:01 +02:00
Magnus Norddahl
3551e1e5e9 More folder adjustments 2023-09-25 21:19:00 +02:00
Magnus Norddahl
dd9feeea45 Change the folder structure of the vulkan backend to better reflect what is going on 2023-09-25 21:19:00 +02:00
Magnus Norddahl
6781b3215c Fix null pointer crash when drawing sprites with a null actor 2023-09-25 21:19:00 +02:00
Magnus Norddahl
447932025f Add support for gl_light_raytrace for cards that do not support rayquery 2023-09-25 21:19:00 +02:00
Christoph Oelckers
16ad25b382 disable 'unfriendly' option like blocking automap or savegames via #ifdef.
Leave them in the code for modified engines but in the context of Doom using them has to be considered extremely unfriendly to the player so they should not be available physically.
2023-09-25 21:19:00 +02:00
nashmuhandes
0dbf988d35 Allow ZScript to control saving and the automap 2023-09-25 21:19:00 +02:00
nashmuhandes
1bae44c39b Stop rotating the models if the game is actually paused. 2023-09-25 21:19:00 +02:00
nashmuhandes
356391b1d7 Re-add corona docs that was meant to be part of the original pull request that didn't make it into GZDoom 2023-09-25 21:19:00 +02:00
nashmuhandes
447f825831 Allow gl_texture to affect models. Aids in debugging lightmap contribution on models. 2023-09-25 21:18:59 +02:00
nashmuhandes
da1b0530b9 Add hitbox debug rendering (r_showhitbox) 2023-09-25 21:18:59 +02:00
Magnus Norddahl
e1b333432d Cache the result of traces so that it only needs to be done for visible moving actors 2023-09-25 21:18:59 +02:00
Magnus Norddahl
d97f9f3055 Fix sunlight not working on models 2023-09-25 21:18:59 +02:00
Magnus Norddahl
c23a109105 Improve shader performance significantly by only including raytracing or shadowmaps in the shader if enabled 2023-09-25 21:18:59 +02:00
Magnus Norddahl
cfa3f8ecc4 Remove the old shaders 2023-09-25 21:18:59 +02:00
Magnus Norddahl
ee00ce86cc Add +NOGRAVITY to coronas 2023-09-25 21:18:59 +02:00
Magnus Norddahl
583f194622 Fix coronas 2023-09-25 21:18:59 +02:00
Magnus Norddahl
11ca6bb067 Fix the clear screen shader bug
Fix texture set layout not matching the c++ code's version (vulkan validation error)
2023-09-25 21:18:58 +02:00
Magnus Norddahl
162ebe0f18 Avoid stepping further into VkShaderManager::Get unless the shader has not been compiled 2023-09-25 21:18:58 +02:00
Magnus Norddahl
f11318ff99 Fix misc shader related issues 2023-09-25 21:18:58 +02:00
Magnus Norddahl
3b93dd3d7e Improve VkShaderProgram to handle more program types
Fix memory alignment issues with the shader/pipeline keys
2023-09-25 21:18:58 +02:00
Magnus Norddahl
e5848ead7a Add sunlight trace 2023-09-25 21:18:58 +02:00
Magnus Norddahl
2bcab0e34d Add some of the sunlight trace code 2023-09-25 21:18:58 +02:00
Magnus Norddahl
1b81e40842 Add AABB tree collision structure to the doom level mesh for threadsafe trace calls for the sprite light 2023-09-25 21:18:58 +02:00
Magnus Norddahl
34a1ecdee1 Remove light probes completely and make decals use the lightmap 2023-09-25 21:18:58 +02:00
Magnus Norddahl
b81a51dabe Add missing reset of LightIndex after use 2023-09-25 21:18:57 +02:00
Magnus Norddahl
4701ce96d8 Switch actors from using light probes to performing trace visibility tests 2023-09-25 21:18:57 +02:00
dpjudas
ff6d412237 Add VkShaderKey and start preparing VkShaderManager to be able to handle a lot more shader permutations 2023-09-25 21:18:57 +02:00
Magnus Norddahl
e34ee1e462 Fix shader build errors and remove support for old deprecated shader types 2023-09-25 21:18:57 +02:00
Magnus Norddahl
a267cf737e Add support for using #include in glsl files and improve glsl compile errors 2023-09-25 21:18:57 +02:00
Magnus Norddahl
8682361194 Move static layout code back to wadsrc 2023-09-25 21:18:57 +02:00
dpjudas
15ff88d7a4 Begin refactor the shaders 2023-09-25 21:18:57 +02:00
nashmuhandes
611da0d65d Change more default settings
- Show item counter on automap
- Enable textured automap
- HUD border scaling factor to better match default status bar scaling
- Enable subtitles
- Set render quality to "quality" to fix level mesh seams (gl_seamless)
- Enable the first crosshair, and set its scale slightly smaller
- Grow crosshair when picking up items
- Show nametags when switching items and weapons
- Always run enabled
- Disable save/load confirmation dialog
- Enable quicksave rotation
- Enable additively-translucent Doom rocket explosion
- Increase default particles to 10k, and increase the slider to 65k (engine limit)
- Disable night vision effect

The following changes from the original commit were not taken:
- Enable thicker automap lines and anti-aliased lines for better visibility with high res displays
- Enable mouse in menus by default (instead of touchscreen-like)
- Don't show ENDDOOM when quitting the app
- Set autoaim slider to 0
- Set sprite clipping to "Always" as this looks better than having sprites sink into the geometry
- Set particle style to round as it matches the pixelated aesthetics better
2023-09-25 21:18:57 +02:00
nashmuhandes
4f1fde95ca Improve mouse cursor art for the standard games 2023-09-25 21:18:56 +02:00
Magnus Norddahl
7791201d08 Remove old vk_raytrace cvar 2023-09-25 21:18:56 +02:00
Magnus Norddahl
524bec6979 Re-enable corona support
# Conflicts:
#	wadsrc/static/language.0
#	wadsrc/static/language.csv
2023-09-25 21:18:56 +02:00
Magnus Norddahl
581f6e428e Fix some compile errors caused by cherry-picking an old commit 2023-09-25 21:18:56 +02:00
Magnus Norddahl
35df964d61 Update ZVulkan, rename vk_raytrace to gl_light_raytrace and support turning it on and off without a restart 2023-09-25 21:18:56 +02:00
Magnus Norddahl
2be0494413 Change various defaults 2023-09-25 21:18:56 +02:00