Magnus Norddahl
73ada7f84b
Merge remote-tracking branch 'gzdoom/staging'
2024-01-02 17:10:47 +01:00
Magnus Norddahl
b93df82ac7
Generate mesh data flats with a sky
2023-12-26 04:30:59 +01:00
Magnus Norddahl
ac212e0147
Use HWFlat for ceilings and floors
2023-12-26 04:30:57 +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
58381ec762
Use a TArrayView for the lightmap arrays
2023-12-07 12:48:48 +01:00
Christoph Oelckers
9f90c64727
use FTranslationID in the high level parts of the hardware renderer.
2023-11-09 23:04:11 +01:00
Magnus Norddahl
4665f8ff79
Merge remote-tracking branch 'gzdoom/master'
2023-10-25 22:25:12 +02:00
Christoph Oelckers
1f5df23818
took several functions out of HWDrawInfo.
...
The only thing they needed from that class is the Level pointer and the light mode, this is better passed in as function argument.
2023-10-25 21:19:58 +02:00
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
61635772fe
Remove XFloorToSurface and XFloorToSurfaceSides as they aren't needed
2023-09-30 22:56:10 +02:00
RaveYard
fff23e0724
Extract flat rotation from SetPlaneTextureRotation
2023-09-21 00:15: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
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
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
b163901862
WIP partial lightmapping
2023-09-10 23:42:00 +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
26dcb77f5e
Add support for drawing flats into the mesh cache
2023-04-26 01:09:05 +02:00
Major Cooke
31fa78d7c9
Added the following GL Light flags:
...
- `DontLightOthers`: Acts as the inverse of `DontLightSelf`, where it won't light actors that aren't the owner.
- `DontLightMap`: The light doesn't affect the map.
2022-05-31 09:12:59 +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
70ec20c137
- optimization of texture scaling checks.
...
The texture dimension checks can be performed up front when the texture is inserted into the texture manager.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
8505c7ee7d
- major refactor of texture upscaling control.
...
All decisions were done deep inside the texture creation code, leaving zero options to the higher level code for controlling the feature.
Changed this so that the option to upscale must be passed as a parameter to FRenderState::SetMaterial and extended all needed variables to manage the added texture variants.
Still not solved: Material layers need explicit control, not only for scaling but also for filtering.
2020-04-19 10:57:51 +02:00
Christoph Oelckers
cca3f878f5
- removed FMaterial references from other high level renderer data like HWFlat and HWSprite.
2020-04-19 10:57:47 +02:00
Christoph Oelckers
aeba304715
- texture code refactoring to consolidate multiple textures referencing the same backing image.
2020-04-19 10:57:44 +02:00
Christoph Oelckers
b18faacab0
- 2D drawer cleanup.
2020-04-11 20:20:58 +02:00
Christoph Oelckers
d586ffa79c
- const-ified the palette pointers in the texture creation code.
...
- fixed includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
03537e90ff
- linked new properties with the renderer.
...
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f
- added high level interface to the new properties, i.e. UDMF and ZScript.
2019-12-20 18:02:42 +01:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00
Christoph Oelckers
24a52d65a5
- renamed several data types in the hardware renderer that still had a GL prefix, although they are now generic.
2019-03-22 19:54:19 +01:00
Christoph Oelckers
4668d0b1de
- render simple quad-based render hacks as triangle strips.
2019-03-08 17:53:24 +01:00
Christoph Oelckers
e41c898817
Merge branch 'master' into new_level_refactor
2019-02-04 13:11:01 +01:00
Christoph Oelckers
89d607c9a6
- moved all rendering code into a common subdirectory.
...
No changes to the files themselves was made.
2019-01-31 19:58:17 +01:00