Magnus Norddahl
34470aa588
Merge all sectors into one mesh
2023-09-25 21:19:03 +02:00
Magnus Norddahl
1a64adf2be
Add gl_meshcache cvar for toggling it on and off
2023-09-25 21:19:03 +02:00
Magnus Norddahl
9365af7bfe
Upload vertices to vertex buffers
2023-09-25 21:19:03 +02:00
Magnus Norddahl
43cef43e9b
Add support for drawing flats into the mesh cache
2023-09-25 21:19:03 +02:00
Magnus Norddahl
0ee22ccd80
Test drawing all cached sectors every frame
2023-09-25 21:19:03 +02:00
Magnus Norddahl
bd762a17eb
Only create a Mesh if anything was actually drawn
2023-09-25 21:19:03 +02:00
Magnus Norddahl
31a861f343
Build a mesh cache for all sectors
2023-09-25 21:19:03 +02:00
Magnus Norddahl
528afe3ee3
Fix misc state init issues
2023-09-25 21:19:02 +02:00
Magnus Norddahl
fadda8146d
Add the most basic implementation of a Mesh drawer as technically possible :)
2023-09-25 21:19:02 +02:00
Magnus Norddahl
3cae271219
Adjust HWWall to allocate vertices from renderstate
2023-09-25 21:19:02 +02:00
Magnus Norddahl
4be3e2d53a
Add a basic renderstate->mesh builder class
2023-09-25 21:19:02 +02:00
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