Commit graph

125 commits

Author SHA1 Message Date
Magnus Norddahl
9203784ee0 Use a uniform buffer for the light list 2023-05-06 02:45:17 +02:00
Magnus Norddahl
eba0bee9f6 Change the matrix interface on RenderState so the backend doesn't have to try detect changes on each Apply
Include the texture matrix in the mesh builder
2023-05-06 00:34:42 +02:00
Magnus Norddahl
1d8f406162 Let the backend manage the shadowmap buffers 2023-05-01 02:10:43 +02:00
Magnus Norddahl
d7a7953d10 Move bone buffer to backend 2023-04-30 04:49:06 +02:00
Magnus Norddahl
f2585a3b17 Manage the light buffer in the backend 2023-04-30 03:43:38 +02:00
Magnus Norddahl
aadb1c31b6 Manage viewpoint buffer internally in the backend 2023-04-30 02:32:04 +02:00
Magnus Norddahl
ae443c78d4 There is no reason to default to poor stuttery performance 2023-04-27 11:22:11 +02:00
Magnus Norddahl
87c3be94d5 Adjust meshbuilder to vkdoom changes and make sure the drawinfo functions always allocate vertices from the output renderstate object 2023-04-26 04:22:07 +02:00
Magnus Norddahl
71a78f2baf Merge all sectors into one mesh 2023-04-26 01:09:06 +02:00
Magnus Norddahl
a5a0279fd2 Upload vertices to vertex buffers 2023-04-26 01:09:06 +02:00
Magnus Norddahl
26dcb77f5e Add support for drawing flats into the mesh cache 2023-04-26 01:09:05 +02:00
Magnus Norddahl
88595c7777 Only create a Mesh if anything was actually drawn 2023-04-26 01:09:05 +02:00
Magnus Norddahl
463315fec0 Fix misc state init issues 2023-04-26 01:09:05 +02:00
Magnus Norddahl
28ef69ca5a Add the most basic implementation of a Mesh drawer as technically possible :) 2023-04-26 01:09:05 +02:00
Magnus Norddahl
3fe8b6909b Add a basic renderstate->mesh builder class 2023-04-26 01:09:04 +02:00
Magnus Norddahl
2498b2d3bc Add hint which of the uniforms are used by SetColor (maybe later move them to a secondary uniform block for independent updating) 2023-04-26 00:38:00 +02:00
Magnus Norddahl
eef9b05f46 Remove mAlphaThreshold 2023-04-24 22:50:04 +02:00
Magnus Norddahl
02be512738 Remove mClipSplit 2023-04-24 22:45:19 +02:00
Magnus Norddahl
ac1a918989 Remove mLightParms 2023-04-24 22:41:07 +02:00
Magnus Norddahl
b7236f3031 Remove unused uniforms and restrict push constants to only control offsets into buffers 2023-04-24 22:10:17 +02:00
Magnus Norddahl
5c9ff283a6 Only add the lightmode actually being used into the shader 2023-04-19 02:28:32 +02:00
Magnus Norddahl
6381280177 Remove virtual inheritance 2023-04-16 21:49:05 +02:00
Magnus Norddahl
6894eb013f 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-04-16 19:30:27 +02:00
Magnus Norddahl
1b221db996 Remove dead code 2023-04-16 17:34:52 +02:00
Magnus Norddahl
d5d6c07f53 Fix misc shader related issues 2023-04-06 19:36:58 +02:00
Magnus Norddahl
fd2ae4865c Merge tracelights 2023-04-05 23:14:25 +02:00
Magnus Norddahl
44fed1451d Fix shader build errors and remove support for old deprecated shader types 2023-03-24 03:34:24 +01:00
Magnus Norddahl
c495c8c094 Add support for using #include in glsl files and improve glsl compile errors 2023-03-22 00:06:13 +01:00
nashmuhandes
896102c179 Change more default settings
- Show item counter on automap
- Enable thicker automap lines and anti-aliased lines for better visibility with high res displays
- 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 mouse in menus by default (instead of touchscreen-like)
- Don't show ENDDOOM when quitting the app
- Enable the first crosshair, and set its scale slightly smaller
- Grow crosshair when picking up items
- Set autoaim slider to 0
- 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
- 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-03-19 04:35:27 +08:00
Magnus Norddahl
7eb9053e30 Update ZVulkan, rename vk_raytrace to gl_light_raytrace and support turning it on and off without a restart 2023-03-16 23:15:02 +01:00
Magnus Norddahl
df7d31968d Change various defaults 2023-03-16 22:56:21 +01:00
Christoph Oelckers
087050c201 - use uniform buffers for dynamic lights everywhere.
Branching on SSBO content does not work that well on NVidia so it is better disabled.
So far only implemented for OpenGL - Vulkan needs more work.
2023-02-18 12:22:26 +01:00
Emile Belanger
c8bd2deb1e GLES: Fix first wipe 2023-01-29 20:03:05 +01:00
Christoph Oelckers
ec04a95929 - validate the buffer size in HWViewpointBuffer::Set2D.
This was causing crashes in Dragon Sector when writing past the buffer's end.
2023-01-27 18:25:13 +01:00
Christoph Oelckers
5b7826f68b - set lightblendmode to 0 when setting up a 2D viewpoint.
2D never uses dynamic lights so this should always be 0 - and eliminates another place in the backend referencing game data.
2023-01-15 09:21:01 +01:00
Christoph Oelckers
bafd6be342 - removed backend dependencies on game data. 2023-01-15 08:23:26 +01:00
Ricardo Luís Vaz Silva
8e7897233e Add Alternate Light Blending Options 2023-01-14 11:29:12 -05:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Emile Belanger
f41f393e91 GLES: Added IQM bone support. 2022-11-13 21:19:54 +01:00
Christoph Oelckers
7e0084f56b - Backend update from Raze. 2022-10-25 07:02:45 +02:00
Christoph Oelckers
671b8696bb - made CVar declarations type safe again. 2022-10-22 09:29:38 +02:00
Shiny Metagross
13edabac19 Fixed crash on Intel cards with less than 64 uniform block align
- This should fix the crash with Intel cards. Sprite blinking appears to not occur either
2022-10-19 22:48:57 +02:00
Shiny Metagross
a8bab6a21d Intel fix
- GZDoom can launch for Intel users - IQMs work for Intel too
2022-10-19 22:48:57 +02:00
Shiny Metagross
08f520f1c6 IQM Support Implemented
More info to come
2022-10-19 22:48:57 +02:00
Magnus Norddahl
943cbd59e9 Add AABB tree collision structure to the doom level mesh for threadsafe trace calls for the sprite light 2022-09-25 21:58:54 +02:00
Christoph Oelckers
7ad09c7a77 - fixed sky cap color handling
Backported from Raze
2022-08-26 18:17:02 +02:00
Christoph Oelckers
f0fbdba593 - disable implicit conversions from float to TAngle 2022-08-26 18:01:26 +02:00
Magnus Norddahl
742ae8c907 Fix viewpoint buffer not getting cleared when in the menus 2022-07-28 13:52:09 +02:00
Magnus Norddahl
753822359e Add support for multiple 2d drawer viewpoints in the same frame 2022-07-25 18:50:16 +02:00
Magnus Norddahl
e26fb04adf Some minor bug fixes 2022-06-22 07:55:19 +02:00