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
Magnus Norddahl
9ef6d8fd53
Always null textures for all slots because the vulkan target is an OpenGL emulator ;)
2020-04-19 10:57:44 +02:00
Christoph Oelckers
7c46dace03
- this still doesn't work on Vulkan. :(
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
5fe22c70b5
- moved the 2D drawer to 'common'.
2020-04-11 20:20:59 +02:00
Christoph Oelckers
ac1f4b8f11
- initialize native functions before the first query.
2020-04-11 20:20:57 +02:00
Christoph Oelckers
932f5c64c2
- moved stats.cpp to common.
2020-04-11 20:20:57 +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
3e285d2261
- moved renderstyle and colortables code to 'common'.
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
fb1a7679ec
- moved most basic utility code without any dependencies on the rest of the engine to 'common' directory.
...
Again the objective is easier sharing with Raze.
2020-04-11 14:00:13 +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
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
drfrag
68f338b134
- Fixed compilation with MinGW and did some cleanup.
2020-02-16 09:39:17 +02:00
Magnus Norddahl
08e86b5bcc
- fix vulkan crash when there are no textures in player's view
2020-02-15 10:42:46 +01:00
Magnus Norddahl
dd2d9f4182
- Fix vk_hdr looking for the wrong colorspace
2020-02-15 09:46:24 +01:00
Magnus Norddahl
fca3da8af4
Update and clarify the licenses for the postprocess, vulkan and softpoly parts
2020-01-03 05:52:01 +01:00
Magnus Norddahl
1004ac1636
Automatically size the StreamUBO to 64 KB regardless of what is in it
2019-12-21 16:13:39 +01: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
Magnus Norddahl
bff22bbd81
- don't map the frame buffer memory every frame when doing software rendering
2019-11-23 12:09:05 +01:00
Christoph Oelckers
5179a69fdb
- don't let Vulkan access the vid_vsync variable directly.
...
Since the FrameBuffers have a SetVsync method anything these last set must count, not the global variable directly.
2019-10-01 20:50:15 +02:00
8dbddfc365
Fix crash on vulkan with a large number of texture shaders.
2019-09-25 17:46:33 +03:00
Magnus Norddahl
7d73616fda
- release any references to command buffer when flushed
2019-08-25 12:12:29 +02:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00
Patryk Obara
4c98b69b6b
- use fallback implementation for C++ aligned_alloc
...
This function was introduced in C++17, then backported to older versions
of glibc++ library, but is not available in older releases (it's missing
from Ubuntu 12.04 derived SteamRT for example).
2019-08-16 20:44:29 +03:00
Christoph Oelckers
5e4de10f97
- fixed survey data retrieval for Vulkan.
2019-08-11 21:26:08 +02:00
Magnus Norddahl
d1026e4b5b
- call vkDeviceWaitIdle before RAII tears down buffers
2019-08-08 20:56:11 +02:00
alexey.lysiuk
ff4bc8bab9
- use EXT_metal_surface extension for Vulkan surface creation
...
Prefer EXT_metal_surface over deprecated MVK_macos_surface extension, and use it only when modern one is not available
2019-08-03 13:16:12 +03:00
alexey.lysiuk
cf81ab465e
- updated Vulkan headers to version 1.1.114
...
This is the latest version released with Vulkan SDK
New headers are needed for EXT_metal_surface
2019-08-03 10:52:04 +03:00
alexey.lysiuk
5870cb7ea1
- recreate Vulkan swapchain in case of surface lost error
...
Do not abort with fatal error when VK_ERROR_SURFACE_LOST_KHR was returned from vkAcquireNextImageKHR() or vkQueuePresentKHR()
So far, only gfx-portability implementation is reporting this error from time to time, usually on startup, entering the game, or task switching
2019-08-02 10:21:06 +03:00
alexey.lysiuk
370f5ef234
- fixed writing of texture matrices in Vulkan render backend
...
https://forum.zdoom.org/viewtopic.php?t=65479
2019-07-30 11:46:14 +03:00
Christoph Oelckers
afbd7f7a24
- increased StreamBuffer size because I got it to crash with comatose.wad once due to an overflow here.
2019-07-28 19:05:39 +02:00
Magnus Norddahl
ad8c5bb96e
- add VkRenderPassManager::GetVertexFormat so that all VkRenderState access is done through functions that can then be made thread safe
2019-07-28 17:20:49 +02:00
Magnus Norddahl
76675a4d61
- add VkMatrixBufferWriter so that both buffers are used same way in VkRenderState
2019-07-28 17:04:56 +02:00
Magnus Norddahl
4adac3fe59
- move streaming uniform buffers out of VkRenderState
2019-07-28 16:28:43 +02:00
Dzmitry Malyshau
3467e0edcf
Switch command buffers to be one-time-submittable ( #885 )
2019-07-05 02:15:59 +02:00
Dzmitry Malyshau
e7e46f8c7c
vk: Check for the time query support on the graphics queue ( #884 )
2019-07-03 16:49:06 +02:00
Christoph Oelckers
3d3f364874
- consolidated postprocessing code a bit.
...
The code that determines the order of effects should not be duplicated between renderers.
2019-06-20 11:55:45 +02:00