Rachael Alexanderson
0fa830ddd7
Revert "- change cvars gl_custompost and gl_customshader to archive and save to .ini since there are uses for these shaders beyond mere debugging."
...
This reverts commit 2420371c46 .
2022-04-21 02:49:39 -04:00
Rachael Alexanderson
2420371c46
- change cvars gl_custompost and gl_customshader to archive and save to .ini since there are uses for these shaders beyond mere debugging.
2021-10-20 11:23:05 -04:00
Christoph Oelckers
441cd0796f
- merged gzdoom-gles2 and fixed some issues with pipeline size validation.
2021-08-03 20:12:19 +02:00
Christoph Oelckers
ba146ed5e5
- Backend update from Raze
2021-04-19 12:58:35 +02:00
Christoph Oelckers
3ef806c2e9
- do not set CTF_Indexed for the software canvas and do not check for the shader to make decisions.
...
Always check the flag.
2020-09-27 19:55:04 +02:00
Christoph Oelckers
528e4e46b3
- texture manager update from Raze
...
* new texture format: ANM - this reads the first frame of a Build-ANM movie as a texture.
* some preparations for indexed (paletted) rendering.
* optimization of the patch texture checker - do not read in the entire file if checking the initial header is sufficient for rejecting it.
2020-09-27 10:38:12 +02:00
Christoph Oelckers
720853cff8
- made some changes so that material definitions can properly check automatic layers when determining their material type.
...
Most importantly this means that any texture with a custom material definition needs to load its automatic layers before applying the definition.
2020-06-03 21:16:36 +02:00
Christoph Oelckers
fa54afbd08
- addressed a problem with materials depending on automatically added textures.
...
This isn't a fix, it just removes a sanity check that really shouldn't be, but thanks of an underspecification of the material definition it was never possible to do this case properly.
2020-06-03 00:16:25 +02:00
Christoph Oelckers
8480a390a1
- synced texture sampler setup fixes from Raze.
2020-06-02 11:45:34 +02:00
Christoph Oelckers
4c11b01588
- backend sync with Raze.
2020-05-31 23:37:11 +02:00
Christoph Oelckers
a517b04908
- texture sampler cleanup.
2020-05-28 22:51:17 +02:00
Christoph Oelckers
b2281c38e1
- fixed texture layer management so that each material layer can decide for itself if it wants to allow upscaling.
...
- rewrote the hardware texture precacher to use the new texture management to properly track the data to delete.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
5a2a72fc95
- store the Vulkan descriptor sets in the material - where they belong!
...
Having them in the base texture object was a major maintenance issue.
2020-04-19 10:57:56 +02:00
Christoph Oelckers
d812801707
- moved the shader properties to FGameTexture.
2020-04-19 10:57:54 +02:00
Christoph Oelckers
7641da8b7b
- moved several members from FTexture to FGameTexture.
2020-04-19 10:57:52 +02:00
Christoph Oelckers
42304d9680
- store the material layers in reference counted pointers in the FGameTexture object.
...
Reference counting is used because a texture image may be shared by more than one game texture.
2020-04-19 10:57:51 +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
18760d6622
- deleted unused function.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
662fa6e667
- removed the conversion helper code and fixed a few places where FMaterial was only used to access the hardware textures in the FTexture class.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
f5d5888c22
- thinned out the Texturemanager interface.
2020-04-19 10:57:49 +02:00
Christoph Oelckers
83817080bb
- more texture cleanup.
...
It is now in a state where FTexture really needs to be separated from FGameTexture.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
31035a6cea
- cleaned out the coordinate code in FMaterial.
2020-04-19 10:57:48 +02:00
Christoph Oelckers
0ce0099e29
- moved the sprite positioning info out of FMaterial back into FTexture.
...
This cleans out half of FMaterial and brings it closer to being a texture binding descriptor, which is all it really should be.
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
8381092cce
- major shader rework
...
* handle brightmaps in the main shader instead of keeping separate instances around.
* added detail and glow layers from Raze.
* fixed material setup which could not guarantee that everything was initialized correctly.
* for warped textures, warp all layers. With this brightmaps finally work on warped textures.
Note: Vulkan reports a "device lost" error with this which still needs to be investigated.
2020-04-19 10:57:43 +02:00
Christoph Oelckers
07e303f99b
- fixed compilation.
2020-04-11 22:23:09 +02:00
Christoph Oelckers
8f8aed5ee3
- moved bitmap.cpp to 'common' and remove the duplicate IceRemap.
2020-04-11 20:23:26 +02:00
Christoph Oelckers
65f15e1147
- moved the material class to 'common' as well.
2020-04-11 20:20:38 +02:00