Christoph Oelckers
758e4ad7cb
- stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
...
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
4178d48fb6
- re-enabled GPalette and disabled brightmaps.
...
In order to finish this I need the switchover, but brightmaps need an update of the texture code which requires merging a few more WIP changes before the code can be fixed.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
6bd4f77c5b
- fix compilation.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
72c323cf32
- disabled switch to GPalette because it's not working right yet.
2020-05-25 00:05:26 +02:00
Christoph Oelckers
531c68edfe
- use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
...
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/glbackend/hw_draw2d.cpp
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/glbackend/gl_texture.cpp
# Conflicts:
# source/CMakeLists.txt
# Conflicts:
# source/build/src/palette.cpp
# source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
6bffdf80a1
- finally managed to merge in the original texture system commit.
...
Game compiles and runs but transparency doesn't work yet.
# Conflicts:
# source/CMakeLists.txt
# source/core/menu/menu.cpp
# source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers
7a84887fc4
- transitioned FTexture.
...
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers
e985db3d08
- added GZDoom's texture manager.
...
It doesn't do anything yet, but it can now be used to manage textures.
2020-05-24 16:11:10 +02:00
Christoph Oelckers
d6786cf0eb
- final cleanup of picanm code.
2020-05-24 13:53:27 +02:00
Christoph Oelckers
db4850a028
- added a reverse tile map so that the tile manager can retrieve special info even when a tile texture is passed by object to the render code and not by index.
2020-05-24 10:30:09 +02:00
Christoph Oelckers
0c029750b6
- moved hightile replacements out of the texture class.
2020-05-24 08:47:45 +02:00
Christoph Oelckers
00e7b2fa25
- simple stuff from the texture manager inclusion commit.
...
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers
ab6e87b5f8
- workaround for Ion Fury display glitches on the first map.
...
I have no idea why this needs to be different than in EDuke32, but without always clearing the depth buffer before rendering a scene viewpoint the game will glitch like crazy.
2020-05-23 22:43:06 +02:00
Christoph Oelckers
f64bdccaca
- moved renderstyle to 'common' and use GZDoom's color table code unaltered.
...
# Conflicts:
# source/CMakeLists.txt
# source/common/engine/serializer.h
2020-05-23 22:43:05 +02:00
Christoph Oelckers
f929419a0a
- refactoring of the lookup tables.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
b971bc2717
- avoid using global palette settings when drawing 2D content with a custom palette.
...
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
Christoph Oelckers
d46ea7481f
- handle RRRA E1L2's fog in the shader instead of hacking the shade tables.
2020-04-12 08:30:43 +02:00
Christoph Oelckers
5584c726ba
- file system update and adjustment.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
41545b644a
- cleaned out most of the software renderer's static global variables.
2020-03-29 16:59:49 +02:00
Christoph Oelckers
3f69044770
- removed all references to sdlayer.cpp as all that was left in there was only needed for software rendering.
...
- removed now unused a-c.cpp.
2020-03-29 15:22:07 +02:00
Christoph Oelckers
621a9338e5
- render camera textures with the hardware renderer.
...
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00
Christoph Oelckers
7533fbaa8e
- fixed: special 2D palettes do not have brightmaps so any such texture must be completely excluded from being checked.
2020-02-26 18:10:06 +01:00
Christoph Oelckers
6282062492
- fixed brightmaps.
...
They are no longer run through the texture postprocessor and the shader now applies them correctly.
2020-02-18 20:43:16 +01:00
Christoph Oelckers
286d53d3bf
- added the missing handling for the basepal tinting.
2020-02-11 20:55:47 +01:00
Christoph Oelckers
c53d9cfc3a
- reworked voxel texture generation to use the backend's palette manager.
...
The original code was not able to handle changing palettes and only worked if each palette change resulted in a full texture flush - which Raze does not perform.
2020-02-09 20:14:26 +01:00
Christoph Oelckers
215cb14401
- use a non-0 depth bias for sprites.
...
Hopefully this helps fixing the z-fighting issue with wall sprites in some Blood maps.
2020-02-06 18:44:06 +01:00
Christoph Oelckers
dbc958baeb
- fixed swapped color channels in the tinting part of the shader.
2020-02-05 20:02:50 +01:00
Christoph Oelckers
5d4514060b
- disable palette emulation for Blood's cutscenes.
...
These use color 255 as a valid index which the palette emulation shader does not handle.
2020-02-04 20:40:10 +01:00
Christoph Oelckers
7bbbe63bd9
- fixed: hictint must not be enabled if the flags are 0.
2020-02-04 20:19:26 +01:00
Christoph Oelckers
ab3811bac0
- fixed: The 2D drawer must apply the render state before it finishes.
...
Otherwise the global state settings will not be reset.
2020-01-31 22:07:51 +01:00
Christoph Oelckers
245aa5d3bc
- reworked global palette state for robustness.
2020-01-26 10:58:00 +01:00
Christoph Oelckers
be0242e919
- use correct indices for the palette tester CVARs.
2020-01-25 19:10:05 +01:00
Christoph Oelckers
99c4b6b6d7
- don't let environmental palettes (like underwater) affect the HUD and menu.
2020-01-25 18:48:48 +01:00
Christoph Oelckers
6f39b87d5b
- actually draw the fullscreen blends.
2020-01-19 23:49:53 +01:00
Christoph Oelckers
b066f725d4
- clear the matrix list after rendering the 2D content.
2020-01-19 23:27:59 +01:00
Christoph Oelckers
aa1361acbb
- make palfadedelta explicitly unsigned
2020-01-19 23:18:38 +01:00
Christoph Oelckers
c8fa2443d3
- completely separated view and model matrix.
...
This way the view matrix will remain constant per scene and an update of the model matrix is only needed for rendering a model or voxel, reducing the total amount of generated matrices to the point where they can be written to a buffer instead of constantly uploading them as uniforms.
2020-01-19 16:07:09 +01:00
Christoph Oelckers
b209b1f960
- make sure that the first matrix is always the identity matrix. It was just random luck that it was always put there before.
...
- let the matrix setters return the previous value for easy restoring without creating yet another matrix.
2020-01-19 14:08:48 +01:00
Christoph Oelckers
352c099b5a
- basics for hardware rendered camera textures.
2020-01-19 08:40:03 +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
2bc1708870
- removed the complete crosshair color hackery.
...
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers
8cd9775513
- fixed VP8 video player.
...
Also do the color space conversion on the CPU to avoid the shader hassle, performance wise it is utterly irrelevant here.
2020-01-18 16:14:30 +01:00
Christoph Oelckers
2e06ccfec6
- draw the screen overlays using the vertex buffer.
2020-01-18 16:14:30 +01:00
Christoph Oelckers
4aacd6d958
- display the savepics.
...
- fixed level name list in Exhumed.
2020-01-14 22:37:23 +01:00
Christoph Oelckers
55dab6d3d3
- hooked up the high color texture colorization code.
...
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
Christoph Oelckers
fb985d2503
- more macOS compilation fixes
...
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers
134122335b
- first attempt to compile on a Mac
...
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
Christoph Oelckers
2dc0de5824
- fixed incorrect sampler binding.
2020-01-05 17:37:28 +01:00
Christoph Oelckers
9e7f91b5ac
- fixed size of texture arrays.
...
We need 6 slots, not 5.
2020-01-05 12:56:32 +01:00
Christoph Oelckers
6c6874cb0e
- fixed scissoring with out of range coordinates.
...
Blood's status bar sets such a bogus clipping rectangle.
2020-01-05 10:21:34 +01:00