Christoph Oelckers
3455610031
- base palette cleanup.
...
Avoid passing this anywhere in the client code. It should only be set right before rendering the 3D view and the only code using the base palette should be the 3D renderer and hud_drawsprite.
Also make the palette override CVARs 3D view only in debug mode.
2020-08-14 21:18:14 +02:00
Christoph Oelckers
95b4340eec
- initial palette shader work.
2020-06-17 12:26:01 +02:00
Christoph Oelckers
b753ea5db7
- preparations for passing palette lookup textures through the low level texture code.
2020-06-17 12:26:01 +02:00
Christoph Oelckers
5effc95ae1
- updated startup dialog and fixed multisampling not active in the 3D scene.
2020-06-14 20:59:26 +02:00
Christoph Oelckers
22aad4999c
- use the engine backend to render the scene
2020-06-11 22:26:46 +02:00
Christoph Oelckers
9fc5f2d2e7
- some shader cleanup.
...
I think it's now as close to GZDoom's backend interface as it can be without disabling needed features.
2020-06-07 10:15:31 +02:00
Christoph Oelckers
7638ead1c8
- simplified the texture sampler setup.
...
DAMETH_CLAMPED was redundant and only causig problems.
2020-06-02 16:55:02 +02:00
Christoph Oelckers
783dff41b6
- fixed clamp mode setup.
2020-05-31 23:08:56 +02:00
Christoph Oelckers
1d15fe63a6
- another backend update, pulling in the sky renderer.
2020-05-31 10:32:10 +02:00
Christoph Oelckers
88eea8269a
- set proper palette for null translation.
2020-05-30 22:35:21 +02:00
Christoph Oelckers
82eb807090
- activate the texture layers if needed.
2020-05-30 22:27:59 +02:00
Christoph Oelckers
58c62e071c
- use FMaterial.
2020-05-30 22:20:06 +02:00
Christoph Oelckers
423f758314
- texture code restructuring.
2020-05-30 21:42:35 +02:00
Christoph Oelckers
cdcb25bc1f
- use high level textures to render voxels.
2020-05-30 00:30:56 +02:00
Christoph Oelckers
cca4fc609f
- texture code cleanup, mainly cppying layer data into the textures at startup to be able to use a real material system.
2020-05-29 23:33:26 +02:00
Christoph Oelckers
2c94b2bb6d
- split texture selection from binding.
2020-05-29 21:53:28 +02:00
Christoph Oelckers
1bc744b77b
- moved hictinting data into the lookup tables.
2020-05-29 20:15:42 +02:00
Christoph Oelckers
594ec6626c
- transitioned to using GZDoom's texture creation code.
...
Also added support for creating indexed textures directly into CreateTexBuffer, where this functionality can be shared.
As an added plus, brightmaps are working again, this time with less hackery.
2020-05-29 19:21:18 +02:00
Christoph Oelckers
66809ca9f4
- fixed indexed display of 2D content.
2020-05-29 16:46:36 +02:00
Christoph Oelckers
87a87c155d
- moved to GZDoom's gl_hwtexture.cpp.
2020-05-29 01:03:01 +02:00
Christoph Oelckers
381e53017d
- some hackery to make the camera textures in DN3D work again.
...
They depend on a deleted texture not writing to the depth buffer, but other parts in the engine like ROR surfaces depend on them writing a proper depth buffer value, so for now there is a global variable that allows to exclude a single tile from ever getting rendered.
2020-05-29 00:44:13 +02:00
Christoph Oelckers
72889540a5
- use GZDoom's gl_samplers.cpp
2020-05-28 23:48:50 +02:00
Christoph Oelckers
4ebe67ba3d
- never render the null texture.
...
Blood's ROR effects won't work if this is not done.
2020-05-27 22:54:39 +02:00
Christoph Oelckers
c4017de12f
- updated to GZDoom's new texture management system.
2020-05-25 23:59:07 +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
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
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
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
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
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
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
6ba04e7a09
- fixed voxel rendering in indexed color mode.
2020-01-03 18:30:00 +01:00
Christoph Oelckers
6b431cec2c
- fixed: True color texture replacements were set up incorrectly.
...
They incorrectly set themselves up as their own glow and detail textures.
These layers also weren't disabled for the next texture.
2019-12-30 20:44:37 +01:00
Christoph Oelckers
120a985b98
- disable palette transparency for color 255 when running an animation.
...
There's several intro cutscenes using the full palette and for these the color must not be nulled as it should for in-game textures.
2019-12-25 14:13:15 +01:00