Commit graph

1,421 commits

Author SHA1 Message Date
Magnus Norddahl
4ca2ffd58e Implement line portals and improve sky handling 2023-12-26 04:31:00 +01:00
Magnus Norddahl
e491186c80 Don't use the level mesh recursively through portals for now 2023-12-26 04:30:59 +01:00
Magnus Norddahl
b93df82ac7 Generate mesh data flats with a sky 2023-12-26 04:30:59 +01:00
Magnus Norddahl
3c9f56d989 Add support for more portal types 2023-12-26 04:30:59 +01:00
Magnus Norddahl
c59108ece0 Lightmapper fixes 2023-12-26 04:30:59 +01:00
Magnus Norddahl
412be46e08 Misc surface and lightmapper related cleanup and renaming 2023-12-26 04:30:59 +01:00
Magnus Norddahl
75e33c4923 Move portal creation out of the submesh 2023-12-26 04:30:58 +01:00
Magnus Norddahl
486a08e882 Create VkLevelMeshUploader 2023-12-26 04:30:58 +01:00
Magnus Norddahl
98c209edbd Rename VkLightmap and VkRaytrace 2023-12-26 04:30:58 +01:00
Magnus Norddahl
6a77924207 Group mesh buffers 2023-12-26 04:30:58 +01:00
Magnus Norddahl
4a95eafc06 Use the stencil and depth buffer settings from RenderState when drawing the level mesh 2023-12-26 04:30:58 +01:00
Magnus Norddahl
6b0e4345a2 Enable face culling 2023-12-26 04:30:57 +01:00
Magnus Norddahl
69b48f8123 Fix black flats 2023-12-26 04:30:57 +01:00
Magnus Norddahl
ac212e0147 Use HWFlat for ceilings and floors 2023-12-26 04:30:57 +01:00
Magnus Norddahl
5443ed76ec Draw the sprites 2023-12-26 04:30:57 +01:00
Magnus Norddahl
86ac07f2f8 Implement drawing HWWall portals using the level mesh and occlusion queries 2023-12-26 04:30:57 +01:00
Magnus Norddahl
47f17b1c03 Move DrawLevelMesh to RenderState 2023-12-26 04:30:57 +01:00
dpjudas
57fe68c8a1 Draw depth pass and portal occlusion test 2023-12-26 04:30:57 +01:00
Magnus Norddahl
04493ade52 Add support for using the correct pipeline for each surface 2023-12-26 04:30:56 +01:00
dpjudas
2cda07245c Remove old wall surface creation code 2023-12-26 04:30:56 +01:00
dpjudas
9ca058ccc9 Create wall surfaces directly from the HWWall output 2023-12-26 04:30:56 +01:00
Magnus Norddahl
d0d964ae42 Hook up HWWall and use the real main.fp shader for the level mesh 2023-12-26 04:30:56 +01:00
Magnus Norddahl
5f50160108 Prepare surface creation code to use HWWall 2023-12-26 04:30:56 +01:00
Magnus Norddahl
9f963e2c06 Rename lightmap fields to surface as it is being used for more than lightmaps now 2023-12-26 04:30:56 +01:00
Magnus Norddahl
4f4d859fd9 Move some code 2023-12-26 04:30:56 +01:00
dpjudas
f83ae7487f Split into more files 2023-12-26 04:30:56 +01:00
Magnus Norddahl
f1b15c5000 Fix the second vertex buffer binding bug 2023-12-26 04:30:55 +01:00
Magnus Norddahl
d3da7a8443 Fix UV order 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f550f5b05a Hook up bindless textures for gl_levelmesh 2023-12-26 04:30:55 +01:00
Magnus Norddahl
9edfbcd10e Create different buffer for uniform indexes that works for the vertex shader 2023-12-26 04:30:55 +01:00
Magnus Norddahl
f8fd08a623 Clean up VkDescriptorSetManager a bit and bind the surface uniforms when drawing with gl_levelmesh 2023-12-26 04:30:54 +01:00
Magnus Norddahl
ba7dfb8a8f Add uniforms to level mesh and upload them to the GPU 2023-12-26 04:30:54 +01:00
Magnus Norddahl
240d68d7ae Merge SurfaceVertex with FFlatVertex and draw the lightmaps 2023-12-26 04:30:54 +01:00
Major Cooke
751ee7390b Fixed incorrect offsetting for SpriteOffset. 2023-12-20 17:50:36 -05:00
nashmuhandes
72e3c01449 Revert Fogball to a scripted class 2023-12-11 11:38:18 +01:00
nashmuhandes
17aac06007 - Use the Fogball's 4th arg for the radius
- Add Fogball DoomEdNum
2023-12-11 11:37:24 +01:00
Magnus Norddahl
a76dfafbaa Fix misc bugs in the fogball implementation - it works now 2023-12-11 11:37:24 +01:00
nashmuhandes
909309f1e8 Use the actor fields intended for fogball customization 2023-12-11 11:36:43 +01:00
dpjudas
81cdc402c9 Add code collecting fogballs from the visible scene 2023-12-11 11:34:14 +01:00
Rachael Alexanderson
102c467de5 - add option to override renderflags +BILLBOARD[NO]FACECAMERA 2023-12-09 18:18:28 -05:00
Rachael Alexanderson
b4d5c7d669 - add actor flag +BILLBOARDNOFACECAMERA which forces sprite aimed at camera heading instead of camera position when gl_billboard_faces_camera is true
```
class ZombieManNoFaceCamera : Zombieman replaces Zombieman
{
	default
	{
		+BILLBOARDNOFACECAMERA;
	}
}
```
2023-12-09 05:57:51 -05:00
Rachael Alexanderson
97336cf7c2 - add missing nullptr check 2023-12-08 16:22:22 -05:00
Rachael Alexanderson
3caa6247be - add flag +BILLBOARDFACECAMERA - renders actor billboard to always face the camera
tested with this code snippet:
```
class ZombieManFaceCamera : Zombieman replaces Zombieman
{
	default
	{
		+BILLBOARDFACECAMERA;
	}
}
```
2023-12-08 10:12:58 -05:00
Magnus Norddahl
58381ec762 Use a TArrayView for the lightmap arrays 2023-12-07 12:48:48 +01:00
Rachael Alexanderson
4b54aac288 - rename ZSprites to VisualThinkers 2023-11-22 12:11:57 -05:00
Ricardo Luís Vaz Silva
5d5e7ca042 Decoupled IQM Model Animations 2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
1a8dfd2dfa ActorModelData cleanup in preparation for decoupled model animations 2023-11-20 22:08:33 -05:00
Major Cooke
848dbd4d3d Fixed uninitialized variables causing issues with other compilers. 2023-11-20 22:07:58 -05:00
Major Cooke
8fcd2c5f43 Fixed compilation with CI 2023-11-17 08:06:11 -05:00
Major Cooke
48e7c2d994 - Proper heap handling of HWSprite pointer
- Added `Construct()` method and ensure it's called when created from any means
2023-11-17 08:06:11 -05:00