Commit graph

268 commits

Author SHA1 Message Date
Magnus Norddahl
5b2dad99a7 Disable moving lights for now as that's what caused the FPS drop for lm_always_update 2023-09-22 11:32:20 +02:00
RaveYard
3827d51784 WIP wall UVs for levelmesh 2023-09-21 00:15:23 +02:00
RaveYard
fff23e0724 Extract flat rotation from SetPlaneTextureRotation 2023-09-21 00:15:23 +02:00
RaveYard
42e02ec87a Add WIP mid texture support 2023-09-19 09:34:49 +02:00
RaveYard
dc936ed32b Use LIGHTMAP lump surface dimensions before packing the lightmap atlas 2023-09-18 16:36:09 +02:00
RaveYard
3dfa79c71f Fix nullptr crash in HWWall::BuildFFBlock 2023-09-18 13:59:06 +02:00
RaveYard
4e7e1d772b Reintroduce lm_max_updates 2023-09-16 15:13:16 +02:00
Magnus Norddahl
733624f111 Update the light list (we really need to do this in a less retarded way) when lm_always_update is active 2023-09-16 05:38:30 +02:00
Magnus Norddahl
24bd3d089d Add cvar for speed testing always updating the lightmap 2023-09-16 05:33:00 +02:00
Magnus Norddahl
2178de0c6c - Fix VkRaytrace::Raytrace not working properly if called multiple times per frame.
- Only call VkRaytrace::Raytrace once per scene
2023-09-16 05:12:31 +02:00
RaveYard
b588d0ef22 Fix missing 'needsUpdate' check before pushing surface to the list 2023-09-16 02:57:23 +02:00
Magnus Norddahl
d9b066ad37 Move the visible surface list to HWDrawInfo 2023-09-15 20:45:03 +02:00
RaveYard
59c93e6e4f Workaround to make 3d floor side surfaces detectable 2023-09-14 15:15:57 +02:00
RaveYard
06d137e4da Skip portal and sky surfaces 2023-09-14 15:14:59 +02:00
RaveYard
7cd33cc060 Optimize which surfaces are passed to lightmapper 2023-09-14 15:14:59 +02:00
RaveYard
c6b92e1c1b Initial implementation for lightmap lump loading 2023-09-13 21:58:11 +02:00
RaveYard
5912a2c30b Remove awful hardcoded byte offset hack 2023-09-10 23:42:00 +02:00
RaveYard
9ef93da6de Somehow fix lightmaps being corrupted in debug build 2023-09-10 23:42:00 +02:00
RaveYard
6f44e2b5d4 Change surfaceIndices to surfaces 2023-09-10 23:42:00 +02:00
RaveYard
f19e2e712d Fix floors not being updated 2023-09-10 23:42:00 +02:00
RaveYard
d96d1aeffc Visible surfaces are gathered in processing (gathering) render phase and lightmaps drawn before rendering 2023-09-10 23:42:00 +02:00
RaveYard
0f6ea51769 Minor refactor and fix 3d floors not being detected for lightmap updates 2023-09-10 23:42:00 +02:00
RaveYard
6ccb92ef60 Fix surface index passed to glsl 2023-09-10 23:42:00 +02:00
RaveYard
3386b6ad1a Add walls to the lightmap 2023-09-10 23:42:00 +02:00
RaveYard
b163901862 WIP partial lightmapping 2023-09-10 23:42:00 +02:00
RaveYard
759320b189 CPU tracelight portal fix 2023-09-06 19:04:26 +02:00
Magnus Norddahl
13819967f1 Merge LightmapSurface into DoomLevelMeshSurface 2023-09-02 13:50:28 +02:00
Magnus Norddahl
375e71dc0d Namespace fixes 2023-09-02 13:09:57 +02:00
Magnus Norddahl
cff50b8087 Initialize lightmap texture in SetLevelMesh
Create VkLightmap class on VulkanRenderDevice
2023-09-01 00:03:18 +02:00
RaveYard
23deb11399 Merge Surface into hwrenderer::Surface 2023-08-31 22:57:58 +02:00
nashmuhandes
9e0bf90be6 Merge remote-tracking branch 'remotes/ZDoom/gzdoom/staging' into gzd_staging 2023-08-22 09:09:51 +08:00
Christoph Oelckers
16cefb7528 - some angle cleanup
* clean out the angle conversion helpers from basics.h.
* use degrees instead of radians in TMatrix3x3.
2023-08-12 10:10:27 +02:00
Ricardo Luís Vaz Silva
1852f14f30 fix rare crash due to null caller 2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
bcbb85b1dd Add Weapon::ModifyBobLayer , Weapon::ModifyBobLayer3D and Weapon::ModifyBobPivotLayer3D 2023-08-02 01:05:24 -04:00
Ricardo Luís Vaz Silva
12752c7a03 fix rare crash due to null caller 2023-08-01 21:44:51 +02:00
RaveYard
e6305c55cd Fix strange crash when player's weapon is removed. 2023-08-01 17:19:03 +02:00
Professor Hastig
666a99f204 lightmode refactor
* make all legacy light modes except 'Doom' MAPINFO only. A CVAR still exists for testing but its value won't be saved to the config.
* user can only select between "performance', 'software' and 'vanilla'. 'performance' is the old 'Doom' mode which is still needed to speed things up on low end hardware.
* MAPINFO can not enforce any of the two software light modes, as low end users require the option to change this to the 'performance' setting. Selecting one will always revert to the user's light mode selection.
2023-07-17 22:50:05 +02:00
Ricardo Luís Vaz Silva
b0d6d82dfd Add Weapon::ModifyBobLayer , Weapon::ModifyBobLayer3D and Weapon::ModifyBobPivotLayer3D 2023-07-14 16:01:55 +02:00
Magnus Norddahl
362dc63fc1 Add support for gl_multithread while gl_meshcache is active
Stop building geometry for lines that have a portal (when gl_meshcache is active)
2023-07-04 02:23:07 +02:00
Magnus Norddahl
3be36b3aa3 Hook up portals to gl_meshcache 2023-07-04 01:16:17 +02:00
Magnus Norddahl
a7f4971d5d Add HWDrawContext so that multiple threads can maintain their own drawinfo without need for synchronization 2023-06-29 03:33:07 +02:00
Magnus Norddahl
7bdf3f7364 Create a RenderState object for each thread 2023-05-17 22:39:22 +02:00
Magnus Norddahl
1fd14f1140 Remove FFlatVertexBuffer 2023-05-08 23:12:14 +02:00
Magnus Norddahl
154cb2e967 Prepare FFlatVertexBuffer for removal 2023-05-07 03:19:43 +02:00
Magnus Norddahl
1fe5b8e26f Remove IRenderQueue 2023-05-07 01:02:54 +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
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
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