Commit graph

29 commits

Author SHA1 Message Date
Christoph Oelckers
0017b5d9c5 - pad out the StreamData buffer to 16 bytes and avoid any form of conditional compilation here.
Vulkan does not manage to get the shader properly compiled without this.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
f2dd4ceaab - always ensure that the global index buffer is not empty.
This needs to be valid for Vulkan, even if it isn't used.
2021-04-05 18:00:02 +02:00
Christoph Oelckers
c96e04e6c9 - backend update from GZDoom. 2021-02-12 14:44:54 +01:00
Christoph Oelckers
e7ab4cd176 - backend update from GZDoom. 2021-01-29 13:20:00 +01:00
Christoph Oelckers
ed599d0f05 - moved the hires texture replacement logic into a backend callback.
This way it can be handled transparently to the calling code.
Fonts do not work yet, though.
2020-11-10 16:22:02 +01:00
Christoph Oelckers
40358febc1 - changed render interface to resolve textures to materials in the backend.
This is needed to have a unified spot where to resolve textures for both 2D and 3D.
2020-11-10 09:08:48 +01:00
Christoph Oelckers
c82d9d2908 - backend update from GZDoom. 2020-10-24 17:30:47 +02:00
Christoph Oelckers
f8caf88089 - backend update. 2020-10-03 17:04:45 +02:00
Christoph Oelckers
af5e3dd1b8 - render backend update from GZDoom, mostly minor stuff. 2020-09-27 16:12:51 +02:00
Christoph Oelckers
18ce5bed60 - add line feed after PALETTE_EMULATION #define 2020-09-26 08:52:11 +02:00
Christoph Oelckers
77841b3154 - fixed application of detail textures. 2020-09-25 22:03:11 +02:00
Christoph Oelckers
9e81fa89a8 - fixed some of the issues with palette emulation
* the palette shader was not bound.
* the palette textures were not bound.
* palette mode still used regular lighting on top of the palette emulation

This works a lot better than before but is still not complete.
2020-09-12 21:23:14 +02:00
Christoph Oelckers
1b46a6fd9a - removed bogus assert in buffer code.
An empty buffer is a perfectly valid construct that may not be asserted upon. The 3D scene does not use indices so the buffer receives no data and remains empty.
This made the softpoly renderer fail in debug builds. Performance issues aside it works fine now.

Fixes #314
2020-09-07 23:17:06 +02:00
Christoph Oelckers
197a35291a - added level summary screens and made the fade for the screens an engine feature.
This also hijacks one free element in the shader uniforms for the newly added factor.
2020-07-01 12:55:32 +02:00
Christoph Oelckers
d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +02:00
Christoph Oelckers
22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Christoph Oelckers
5cbe9fc49c - added NPOT emulation to the backend.
This is #ifdef guarded because GZDoom uses the same code base but has no use for this feature.
2020-06-08 08:02:58 +02:00
Christoph Oelckers
d7225c1965 - backend update from GZDoom 2020-06-07 15:02:54 +02:00
Christoph Oelckers
4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers
2841154683 - moved code around, got a few more utilities from GZDoom. 2020-05-31 10:37:19 +02:00
Christoph Oelckers
1d15fe63a6 - another backend update, pulling in the sky renderer. 2020-05-31 10:32:10 +02:00
Christoph Oelckers
edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
Christoph Oelckers
5728241c1c - updated backend from GZDoom. 2020-05-30 23:10:17 +02:00
Christoph Oelckers
ea08fa0a4e - updated common code.
Most of what got added is still unused.

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/common/engine/i_interface.h
2020-05-30 22:28:24 +02:00
Christoph Oelckers
e2f5e8fe34 - renamed 'common' to 'core'.
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
Christoph Oelckers
598ce8a2ef - increased amount of vertices to allow handling voxel packs.
This is merely a stopgap until the code can be properly refactored.
2020-02-09 08:32:40 +01:00
Christoph Oelckers
454f796b69 - collect all 3D geometry in a list so that it can be rendered later.
With this out of the way the renderer can now be switched to the core profile.
2020-01-18 22:41:08 +01:00
Christoph Oelckers
95f917a408 - added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
Christoph Oelckers
a021b96119 - added the needed parts of GZDoom's render backend to have the postprocessor working.
Not hooked up yet.
2019-12-28 18:20:47 +01:00