Christoph Oelckers
1ad2f30e0d
- moved sprite CVARs out of the global CVAR storage file.
...
They are local to hw_sprites.cpp now, as they aren't used anywhere else.
2020-04-26 10:47:57 +02:00
Christoph Oelckers
686aa9779d
- moved VR code and IntRect to 'common'
2020-04-26 10:26:29 +02:00
Christoph Oelckers
0c63f5c832
- moved FRenderState to 'common' and removed some game-dependent parts from it.
2020-04-25 23:29:38 +02:00
Christoph Oelckers
b9e3c9681b
- moved a few files from 'rendering' to 'common'.
2020-04-25 21:52:21 +02:00
Christoph Oelckers
9872065fc6
- moved file to its proper place.
2020-04-25 18:38:17 +02:00
Christoph Oelckers
10bc37b37e
- moved RenderView out of the framebuffer classes to complete the consolidation of the renderer's entry points.
2020-04-25 17:58:26 +02:00
Christoph Oelckers
9dceedd3b0
- cleanup
2020-04-25 14:15:15 +02:00
Christoph Oelckers
730d07fbf7
- reworked canvas texture updater to avoid passing game data to the render backends.
...
These are now handled one level above using a callback to perform the actual rendering.
2020-04-25 14:13:36 +02:00
Christoph Oelckers
44d39ef63e
- consolidated the savegame picture code.
2020-04-25 13:18:57 +02:00
Christoph Oelckers
6177ed153d
- consolidated the 3 RenderViewpoint variants and took the function out of the framebuffer class.
2020-04-25 10:51:45 +02:00
Christoph Oelckers
c203df5edb
- consolidated the 3 virtually identical instances of DrawScene and moved the function to HWDrawInfo.
...
The only backend dependent call in there, ambient occlusion, has been made a virtual of DFrameBuffer.
2020-04-24 21:47:18 +02:00
Christoph Oelckers
90585c4931
- added a RenderState virtual to the FrameBuffer class.
2020-04-24 16:15:18 +02:00
Christoph Oelckers
70d30feb4c
- moved the render interface functions out of FGLRenderer into OpenGLFrameBuffer.
...
These need some consolidation among the backends, and the additional indirection in the OpenGL backend made it harder than necessary.
2020-04-24 15:52:31 +02:00
Christoph Oelckers
ce95d7379f
- swapped out the license in two files.
...
BSD is preferred over LGPL
2020-04-21 21:06:11 +02:00
Christoph Oelckers
d4cc217d42
- fixed a few things that slipped through
2020-04-19 12:40:30 +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
8843761bf8
- moved most of the texture size maintenance to the FGameTexture class.
2020-04-19 10:57:53 +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
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
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
aeba304715
- texture code refactoring to consolidate multiple textures referencing the same backing image.
2020-04-19 10:57:44 +02:00
Christoph Oelckers
3a47c5c7f7
- fixed Vulkan's uTextureMode setup. Also only mask out the flags we really do not want to avoid surprises in the future.
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
0cb2a1b8e9
- moved gl_load to common.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
d586ffa79c
- const-ified the palette pointers in the texture creation code.
...
- fixed includes.
2020-04-11 20:20:39 +02:00
Christoph Oelckers
580e463498
- moved texture code to 'common'.
2020-04-11 20:20:38 +02:00
Christoph Oelckers
2ff93b4635
- added the missing blend modes to FRenderStyle.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
721b857e5e
- minor FTexture cleanup.
2020-04-11 20:19:53 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
80c6d5b276
- renamed more stuff and also moved the Strife teaser voice handling out of the file system.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
c1bb7de23a
- more file system refactoring.
...
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
2020-04-11 14:00:19 +02:00
Christoph Oelckers
6bccde3b51
- renamed the file system related classes to actually use the term "FileSystem".
2020-04-11 14:00:18 +02:00
Christoph Oelckers
fdc14ca805
- renamed fullscreen CVar internally to vid_fullscreen to make searching for it easier.
...
The word 'fullscreen' appears a bit too frequently in the source.
2020-04-11 14:00:15 +02:00
Christoph Oelckers
6996d54a23
- moved more code to 'common'.
...
This is all low level utilities with no dependencies on game logic. Having this in a separate directory makes sharing with Raze a lot easier.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
cf757ba834
- made the translation container a class.
...
This also splits off some Doom-specific implementation details into higher level headers.
2020-04-11 14:00:11 +02:00
Christoph Oelckers
1fe667c6a0
- cleaned up the includes in m_png.h, this file had far too many and far too broad dependencies.
2020-04-11 14:00:09 +02:00
Lucy Phipps
2c1a42ae55
remove gl_texture_usehires since it's unused now
...
GLTEXMNU_ENABLEHIRES in language.csv is unused too
2020-04-05 13:22:32 +01:00
Christoph Oelckers
5490ffcd77
- removed the obsolete Doomsday 1.8-style texture pack support.
...
This poorly integrated into the texture system and wasn't compatible with modern texture packs anymore so its usefulness was questionable.
2020-04-04 12:55:24 +02:00
Rachael Alexanderson
7c9d8a0b99
- fix nullptr crash in player.camera reference when player.camera is nullptr
2020-03-26 17:53:32 +01:00
Christoph Oelckers
828cba13a1
- changed translation management so that the fonts also use translation IDs.
2020-03-16 17:23:30 +01:00
alexey.lysiuk
5d6a490846
- prohibit core shaders overriding for OpenGL renderer
...
https://forum.zdoom.org/viewtopic.php?t=67519
2020-02-25 15:57:50 +02:00
alexey.lysiuk
3185e359b9
- added workaround for GLSL noise functions on macOS
...
There is no chance that Apple will fix their OpenGL drivers
The only viable solution is to preprocess these functions out, and put zeroes instead of them
2020-01-10 13:52:17 +02:00
Magnus Norddahl
fca3da8af4
Update and clarify the licenses for the postprocess, vulkan and softpoly parts
2020-01-03 05:52:01 +01:00
Christoph Oelckers
738b9ceb08
- fixed incompletely changed shader.
...
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
alexey.lysiuk
81ea919d61
- fixed shader compilation errors with OpenGL backend
...
ERROR: 0:95: Use of undeclared identifier 'uTextureModulateColor'
ERROR: 0:104: Use of undeclared identifier 'uTextureAddColor'
ERROR: 0:107: Use of undeclared identifier 'uTextureModulateColor'
...
2019-12-21 15:42:04 +02:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
3209d4ed23
- added a few more texture coloring options to the shader.
...
Aside from adding an additive component it can now also do:
- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.
Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00