Magnus Norddahl
52ec71b05b
Remove allowSSBO, useSSBO, glslversion, hwcaps and BuffersArePersistent as none of them apply to Vulkan
2023-10-19 21:31:12 +02:00
Magnus Norddahl
e75e5a387b
Merge remote-tracking branch 'gzdoom/master' into merge-gzdoom
2023-10-19 21:05:17 +02:00
Christoph Oelckers
9cd57faec1
rewrite of HWWalls to allow grabbing the output from the render item generator.
2023-10-19 18:35:51 +02:00
Magnus Norddahl
61635772fe
Remove XFloorToSurface and XFloorToSurfaceSides as they aren't needed
2023-09-30 22:56:10 +02:00
Magnus Norddahl
7bc52386f9
Make doom specific surface fields private to doom
2023-09-30 21:33:07 +02:00
RaveYard
f9b7332aed
Fix mid textures not pushed into visible surface list
2023-09-22 15:43:11 +02:00
RaveYard
3827d51784
WIP wall UVs for levelmesh
2023-09-21 00:15:23 +02:00
RaveYard
42e02ec87a
Add WIP mid texture support
2023-09-19 09:34:49 +02:00
RaveYard
3dfa79c71f
Fix nullptr crash in HWWall::BuildFFBlock
2023-09-18 13:59:06 +02:00
Magnus Norddahl
d9b066ad37
Move the visible surface list to HWDrawInfo
2023-09-15 20:45:03 +02:00
Christoph Oelckers
6847a9a5c1
- added a nomirrors compatibility handler and applied it to Conf256's CONF55 map.
...
This is for disabling broken plane reflection setups.
2023-09-14 20:21:35 +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
d96d1aeffc
Visible surfaces are gathered in processing (gathering) render phase and lightmaps drawn before rendering
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
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
RaveYard
23deb11399
Merge Surface into hwrenderer::Surface
2023-08-31 22:57:58 +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
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
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
f2585a3b17
Manage the light buffer in the backend
2023-04-30 03:43:38 +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
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
Major Cooke
bf6849d184
This was missing in the commit.
2022-05-31 09:12:59 +02:00
Christoph Oelckers
760bffbf06
- do not clamp warped textures.
2022-04-17 23:41:20 +02:00
Nikolay Ambartsumov
df976e218e
Add per-tier sidedef light levels to UDMF maps
2022-01-26 18:25:04 -05:00
nashmuhandes
1b95f2515b
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-11-10 19:57:49 +08:00
Christoph Oelckers
1d0aed219e
- replaced MIN/MAX in all non-common code.
2021-10-30 10:16:52 +02:00
Magnus Norddahl
247deff5bb
Fix using wrong lightmap UV coordinates after all the wall clipping did its thing
2021-10-03 03:47:40 +02:00
Magnus Norddahl
0ac1baac48
Simplify the lightmap array slightly
2021-10-02 22:14:56 +02:00
nashmuhandes
934b5af975
Add lightmaps to 3D floors
2021-09-24 17:42:34 +08:00
Christoph Oelckers
a0043ec09d
- better handling of texture clamp state.
...
Free combination of clamping with all texture modes still missing in GLES and Softpoly renderers!
2021-09-19 14:54:34 +02:00
Christoph Oelckers
918e9e9b0d
- fixed texture clamping for elements that are partially behind a slope.
...
This is mainly mid textures on linedefs and decals.
2021-09-17 00:25:28 +02:00
Christoph Oelckers
8feba7dff9
- fixed: line portal rendering PR was missing handling for portals with z offset.
...
Since it used the back sector's height directly the needed offsetting was not applied to the upper and lower texture.
2021-03-05 17:19:02 +01:00
Christoph Oelckers
0c0ef4f938
- reinstated rendering of mid textures over two-sided wall portals.
...
This was removed in the last PR due to z-fighting problems which now have also been addressed
2021-03-05 12:25:41 +01:00
Timothy Quinn
a15216c90f
- fixed rendering of one-sided line portals in the hardware renderer
...
# draw upper and lower textures when the back sector does not properly match
# do not draw middle textures on portal lines
# minor optimization to 'is***Portal' functions to avoid memory access in the most common case of no portal being present.
2021-03-05 12:02:31 +01:00
Christoph Oelckers
9e51a2f63c
- added Build's NPOT emulation to the backend.
...
For GZDoom this is completely disabled, of course, because the Doom engine does not need it, but in order to have the same backend code in both engines it needs to be present.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
d643a42c4f
- added per pixel lighting for decals.
2020-06-06 15:18:07 +02:00
Christoph Oelckers
fd3845ce09
- fixed: vertically mirrored textures should not be subjected to empty space optimizations because the algorithm cannot deal with the inverted case.
2020-06-03 22:30:44 +02:00
Christoph Oelckers
87d81656e1
- fixed: the 3D floor processing code in the renderer did not restore the render style after finishing.
...
Normally this won't be noticable, the only exception is if the last processed 3D floor had additive translucency and colored fog - this case is special because for additive rendering the fog color needs to be disabled.
2020-06-03 21:35:09 +02:00
Christoph Oelckers
5d10d6c448
- directory structure cleanup.
...
The hwrenderer folder did not contain sufficient files anymore for such extensive subgrouping.
2020-04-29 17:36:58 +02:00
Christoph Oelckers
6cf91d3941
- moved the remaining core parts of the GL renderer to 'common'.
2020-04-29 17:19:17 +02:00
Christoph Oelckers
69d724ae73
- moved lightbuffers and flatvertices to 'common'.
2020-04-26 12:41:13 +02:00
Christoph Oelckers
cf41a0b1fb
- moved hw_cvars to 'common'.
2020-04-26 11:38:38 +02:00
Christoph Oelckers
0c63f5c832
- moved FRenderState to 'common' and removed some game-dependent parts from it.
2020-04-25 23:29:38 +02:00
Christoph Oelckers
59360f2d77
- started cleanup of dependencies of the framebuffer class.
...
* made the portal state global, outside the framebuffer, because it is pure logic state without dependencies on the backend.
* took the setup functions out of FDynLightData - there is no need to have them as members and they age game dependent.
2020-04-25 21:08:07 +02:00
Christoph Oelckers
4da2351671
- fixed compile errors in POSIX platform code.
2020-04-22 20:42:13 +02:00