Commit graph

254 commits

Author SHA1 Message Date
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
Magnus Norddahl
71a78f2baf Merge all sectors into one mesh 2023-04-26 01:09:06 +02:00
Magnus Norddahl
2d335d0f97 Add gl_meshcache cvar for toggling it on and off 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
b189a63e6b Test drawing all cached sectors every frame 2023-04-26 01:09:05 +02:00
Magnus Norddahl
640c86d0c7 Build a mesh cache for all sectors 2023-04-26 01:09:05 +02:00
Magnus Norddahl
ed1e8d5986 Adjust HWWall to allocate vertices from renderstate 2023-04-26 01:09:05 +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
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
4638cc44d2 Fix null pointer crash when drawing sprites with a null actor 2023-04-16 14:35:01 +02:00
nashmuhandes
3a2b451955 Add hitbox debug rendering (r_showhitbox) 2023-04-08 05:19:23 +08:00
Magnus Norddahl
4c3848cfb2 Cache the result of traces so that it only needs to be done for visible moving actors 2023-04-07 18:44:59 +02:00
Magnus Norddahl
ba0243e378 Fix sunlight not working on models 2023-04-07 18:00:48 +02:00
Magnus Norddahl
caefc09549 Improve shader performance significantly by only including raytracing or shadowmaps in the shader if enabled 2023-04-07 04:22:43 +02:00