Magnus Norddahl
805bce1166
Merge remote-tracking branch 'gzdoom/master'
2024-01-10 04:03:35 +01:00
Ricardo Luís Vaz Silva
35e56d3f42
Minor optimizations to VisualThinker
...
* remove duplicated fields
* make native functions use direct calls
* remove unnecessary pointer from particle_t
* create HWSprite directly in Construct
2024-01-06 20:06:57 -05:00
Magnus Norddahl
73ada7f84b
Merge remote-tracking branch 'gzdoom/staging'
2024-01-02 17:10:47 +01:00
Magnus Norddahl
ac212e0147
Use HWFlat for ceilings and floors
2023-12-26 04:30:57 +01:00
Rachael Alexanderson
4b54aac288
- rename ZSprites to VisualThinkers
2023-11-22 12:11:57 -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
Major Cooke
b6b1b25035
Added ZSprites.
...
- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.
Misc:
- Fixed (Sprite)Offset taking roll into account.
Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
2023-11-17 08:06:11 -05: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
dpjudas
411b281e7c
Remove multithreading RenderState as that seemed to be a poor approach
2023-10-09 03:20:19 +02:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Magnus Norddahl
d9b066ad37
Move the visible surface list to HWDrawInfo
2023-09-15 20:45:03 +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
5912a2c30b
Remove awful hardcoded byte offset hack
2023-09-10 23:42:00 +02:00
RaveYard
6f44e2b5d4
Change surfaceIndices to surfaces
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
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
154cb2e967
Prepare FFlatVertexBuffer for removal
2023-05-07 03:19:43 +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
Christoph Oelckers
2c7761926e
- removed volatile type punning for clipping against line portals.
...
This now uses a common base for line_t and HWLinePortal.
2022-07-14 10:39:11 +02:00
Christoph Oelckers
1ba4dfbfa8
- fixed setup of PolyBSPs when the software renderer is active.
...
Some needed initialization was still in the hardware renderer and not the data creator.
2022-04-15 23:59:43 +02:00
nashmuhandes
15159a3c19
Add sprite shadows for the hardware renderer
2021-04-24 22:40:54 -04: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
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
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
c5dca89e66
- clean separation of vertex creation from map data and the buffer object.
...
This was yet another object with too broad scope, the vertex creation has been offloaded into out-of-class functions now.
2020-04-26 12:12:07 +02:00
Christoph Oelckers
9099bc8420
- reworking some lower level texture code.
2020-04-19 10:57:46 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +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
2fa5a88701
- do not render player sprites to canvases in the hardware renderer.
2019-03-09 12:34:10 +01:00
Christoph Oelckers
979f1df281
Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor
...
# Conflicts:
# src/g_level.cpp
# src/p_user.cpp
2019-02-05 13:49:07 +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