Magnus Norddahl
9b207b8fe6
- implement save pic
2019-03-14 23:07:52 +01:00
Christoph Oelckers
50ebca20bb
- do not use iswspace to check raw UTF-8.
...
At least under MSVC this function reports 0x85 as whitespace, but it is a continuation byte for UTF-8 sequences and may not be treated as whitespace.
2019-03-14 21:42:02 +01:00
alexey.lysiuk
087353f00b
- fixed dynamic lights flickering with GL3 render path
...
https://forum.zdoom.org/viewtopic.php?t=63755
2019-03-14 14:53:24 +02:00
Rachael Alexanderson
5fef5d13ce
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-13 22:08:11 -04:00
Magnus Norddahl
2d885d4e4c
- add some support for using the HDR10 ST2084 color space on monitors that support it (unfortunately it doesn't work, and with virtually no documentation either from nvidia or khronos it is hard to say why)
2019-03-14 00:21:53 +01:00
Christoph Oelckers
613cf15b31
- fixed: player_t::GetGender needs to check if the CVAR exists.
...
This function can get called before the player's userinfo is available
2019-03-13 18:06:59 +01:00
Magnus Norddahl
625cc11ea2
- capture screenshot support
2019-03-13 14:10:13 +01:00
Chronos Ouroboros
8dea4f9523
Fixed arrays of dynamic arrays causing a compilation error.
2019-03-13 12:42:45 +01:00
Magnus Norddahl
5d2917bb4f
- implement RenderTextureView
2019-03-13 11:14:42 +01:00
Christoph Oelckers
04bf975796
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-03-13 10:39:22 +01:00
Christoph Oelckers
561444f921
added printlocalized CCMD to check strings in-game.
2019-03-13 10:38:51 +01:00
Chronos Ouroboros
7165b40657
Fixed nested dynamic array indexing causing a compilation error.
2019-03-13 10:23:06 +01:00
Christoph Oelckers
43ca814da8
- fixed: The FFont* serializer was unable to handle null pointers.
2019-03-13 07:11:46 +01:00
Christoph Oelckers
7f8b048347
- added a fallback mapping for the typographic upper quotation mark to the generic form
2019-03-13 07:07:56 +01:00
Magnus Norddahl
d78cb959a7
- implement wipe screen copy
2019-03-13 02:23:33 +01:00
Magnus Norddahl
a585a90d81
- VkHardwareTexture needs to BFF with FTexture
2019-03-13 01:15:50 +01:00
Magnus Norddahl
83ee884ffc
- remove dead code
2019-03-13 00:59:39 +01:00
Magnus Norddahl
e5e9924c5e
- remove IShaderProgram and make the old classes an implementation detail of the OpenGL backend. In the long run they should be removed completely as their weird design is mostly an artifact of once having supported OpenGL 2
2019-03-13 00:52:25 +01:00
Magnus Norddahl
903f8b6696
- move the active render target from VkRenderPass to VkRenderState
2019-03-13 00:18:27 +01:00
Magnus Norddahl
dca0b75038
- change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
...
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl
0620041228
- remove screenquadscale.vp
2019-03-12 16:24:55 +01:00
Magnus Norddahl
a26e2cd8e0
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-12 16:17:39 +01:00
Magnus Norddahl
db6a4781c8
- clip scissors (tired of my computer blue screening - thanks NVidia!)
...
- wrap viewport
2019-03-12 16:17:26 +01:00
alexey.lysiuk
3dd25bd4c0
- implemented OpenGL / Vulkan switch in Cocoa backend
2019-03-12 16:12:23 +02:00
alexey.lysiuk
7b5eedea32
- implemented OpenGL / Vulkan switch in SDL backend
2019-03-12 16:12:14 +02:00
Magnus Norddahl
aa84f7b3e6
- fix shaders only being loaded from the engine pk3
2019-03-12 15:02:21 +01:00
Rachael Alexanderson
6be5769746
- implement backend switcher for Windows. NYD: Still needs to be done for Mac and Linux
2019-03-11 23:36:44 -04:00
Rachael Alexanderson
879aae1bd3
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-11 22:07:46 -04:00
Rachael Alexanderson
916f21942c
- Reverse the status bar offset when shearing the viewport in Vulkan - fixes the issue with a black bar at the top of the screen
2019-03-11 22:06:51 -04:00
Christoph Oelckers
2d5210ccf2
- added lowercase->uppercase mapping for ß and moved all glyphs to the uppercase code point for consistency.
2019-03-12 00:00:54 +01:00
Christoph Oelckers
8b4690bc44
- use international date format for all places that print a date.
...
The most important one is the autosave tagging. This was done because the old printout was missing the year and printed the month as a 3 character English string, sabotaging any attempt to sort the autosaves by anything meaningful.
2019-03-11 21:21:37 +01:00
Christoph Oelckers
22cf35c1c7
- reworked the load/save menu to use the new console font.
...
Parts of this menu suffered badly from lack of screen space to convey the intended information due to the oversized fonts. With the new font this is a lot less problematic (unless using 320x200, of course)
2019-03-11 20:59:43 +01:00
Christoph Oelckers
60c5350e8b
- added an option to use the new console font for centered messages.
...
Like the notification messages, this is optional to not affect existing settings.
2019-03-11 19:54:03 +01:00
Christoph Oelckers
ed1615babb
- allow using the console font for notification messages (e.g. item pickup)
...
This is optional because it impacts display of game content, but for readability the new font definitely has advantages.
2019-03-11 19:09:37 +01:00
Christoph Oelckers
e2d3c6feea
- use the new console font for the chat input.
2019-03-11 18:42:28 +01:00
Christoph Oelckers
414a38c19d
- use the new console font to display stat output.
2019-03-11 18:27:46 +01:00
Christoph Oelckers
109413b3a1
- fixed cursor positioning in console with double-wide characters present.
2019-03-11 18:24:42 +01:00
alexey.lysiuk
d5410a8828
- added missing #include
...
src/c_console.cpp:167:7: error: no type named 'u32string' in namespace 'std'
2019-03-11 10:39:06 +02:00
Christoph Oelckers
02836b3c3f
- fixed: The command line parser of the console was incapable of handling non-ASCII characters.
2019-03-11 00:26:37 +01:00
Christoph Oelckers
4532c2c489
- fixed crash when inserting CJK text.
2019-03-11 00:06:44 +01:00
Christoph Oelckers
b605ae5213
- reactivated the formatting for the secret hints.
...
This had to be temporarily disabled for the font switch and wasn't undone afterward.
2019-03-10 23:29:33 +01:00
Christoph Oelckers
561d5a3d8b
- fixed: IsPointInLevel must explicitly check for minisegs, which can be one-sided on maps with unclosed sectors.
...
Obviously, in such a case it is impossible to decide whether a point is really inside the map, so if this happens, behavior is undefined.
2019-03-10 19:07:48 +01:00
Christoph Oelckers
90c47e7497
- fixed character counting in TypeOn HUD message.
2019-03-10 18:54:57 +01:00
Christoph Oelckers
ec476877ac
- handle double wide characters in the console buffer.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
eb4eb1ac00
- use a wide string for the console input buffer.
...
Since this needs to do cursor positioning calculations it's the one spot in the entire engine where UTF-8 would simply be to messy, especially when having to deal with double wide characters.
2019-03-10 17:54:03 +01:00
Christoph Oelckers
0884057ae1
- use a higher resolution console font with better Unicode support.
2019-03-10 17:54:03 +01:00
alexey.lysiuk
f2a311dfca
- fixed mouse cursor positioning in Cocoa backend with Vulkan renderer
2019-03-10 13:37:36 +02:00
alexey.lysiuk
34cbb7c276
- added HiDPI support to Cocoa backend with Vulkan renderer
2019-03-10 13:36:18 +02:00
alexey.lysiuk
0909a67676
- removed explicit deallocation of Cocoa window
2019-03-10 11:00:24 +02:00
Magnus Norddahl
2ca112bef7
- create a helper for doing the PP image transitions
2019-03-10 01:47:55 +01:00
Magnus Norddahl
eb41e5fcd7
- fix transition error when no PP effects are active
2019-03-10 00:47:28 +01:00
Magnus Norddahl
fed0f0dfab
- fix the multisample and image transition validation errors
2019-03-09 23:17:48 +01:00
Magnus Norddahl
5581fbfd93
- fix wrong layout and image format for the swap chain
2019-03-09 22:07:46 +01:00
Magnus Norddahl
ff68d2e651
- hooked up the debug names for objects, which was a bit of a waste of time since the validation layer is brain dead and doesn't use the information in its messages..
2019-03-09 21:34:29 +01:00
alexey.lysiuk
02ed758447
Merge branch 'master' into vulkan2
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2019-03-09 16:45:49 +02:00
alexey.lysiuk
784e0347c0
- removed excessive std::move() reported by Clang
...
src/utility/xlsxread/xlsxio_read.cpp:69:27: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
2019-03-09 16:36:12 +02:00
alexey.lysiuk
bc69941514
- fixed compilation of Cocoa backend
...
src/posix/cocoa/i_video.mm:297:2: error: use of undeclared identifier 'SetFlash'
2019-03-09 16:34:54 +02:00
Christoph Oelckers
b7d09c95dd
- cleanup of savegame picture code.
...
* re-added screen blends for images from the hardware renderer.
* moved all postprocessing of the image out of the renderers.
* cleaned out a large piece of cruft for handling the palette in the frame buffer class. This was all a remnant of the old paletted backend that no longer exists. Nowadays the screen blend is just a postprocessing effect drawn over the 3D screen, there is no need to maintain any of it as global state anymore.
* since the engine doesn't produce paletted screenshots anymore there is no need to have handling for it in the generation code. This depended on otherwise obsolete information so it got removed along with that information.
2019-03-09 14:48:14 +01:00
alexey.lysiuk
f7a95f612e
- extended RPATH for macOS with executable's directory
...
Dynamic libraries placed in the directory with the main executable now can be loaded by dlopen() function
This is required in order to enable Vulkan support without additional steps like SDK installed in the system
2019-03-09 15:46:18 +02:00
Christoph Oelckers
29012a89c6
- for got to save this.
2019-03-09 13:34:22 +01:00
Christoph Oelckers
f9d4ea8424
- missed the part that the blend function was still drawing multiplicative blends.
...
This should be cleanly separated.
2019-03-09 13:12:24 +01:00
Christoph Oelckers
0e4a860c5e
- fixed uninitialized screen flash color for savegame images in the software renderer.
2019-03-09 12:52:07 +01:00
Christoph Oelckers
2fa5a88701
- do not render player sprites to canvases in the hardware renderer.
2019-03-09 12:34:10 +01:00
Christoph Oelckers
0ca7723c0e
- disable player sprite drawing on canvases for the softpoly renderer.
2019-03-09 12:17:57 +01:00
Christoph Oelckers
1a29d39355
- do not render player sprites to canvases in the software renderer.
...
This applies to both savegame images and camera textures.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
d2475b68d0
- removed unnecessary variable clear.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
99c8ba1288
- use uAddColor instead of uObjectColor2 for the ending color of a special colormap range.
...
Unlike uObjectColor2, this is more global state. uObjectColor2 is part of gradient calculation which may later be offloaded to a secondary buffer which already resulted in only conditionally setting it, resulting in broken special colormap application for the software renderer.
2019-03-09 12:12:33 +01:00
alexey.lysiuk
4ac82c18be
- eliminated last triangle fans usage in Vulkan renderer on macOS
...
Thanks dpJudas
2019-03-09 12:37:45 +02:00
Magnus Norddahl
8270abcb7e
Merge branch 'vulkan2' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-09 10:20:28 +01:00
Magnus Norddahl
21c83950a5
- add vk_device and vk_listdevices that will allow selecting a different device on systems where this is desirable
...
- clean up the VulkanDevice class
2019-03-09 10:20:14 +01:00
Christoph Oelckers
54efbf3edd
Merge remote-tracking branch 'remotes/origin/master' into vulkan2
2019-03-09 08:55:40 +01:00
Magnus Norddahl
389469c604
- pick the first device that supports our required features
2019-03-08 22:53:32 +01:00
Magnus Norddahl
aa1ff58353
- convert triangle fan to triangle list on macOS
2019-03-08 21:34:21 +01:00
Christoph Oelckers
4668d0b1de
- render simple quad-based render hacks as triangle strips.
2019-03-08 17:53:24 +01:00
Christoph Oelckers
f7112786d7
- use triangle strips to render decals.
2019-03-08 17:53:23 +01:00
Magnus Norddahl
ca570f1e78
- move shadowmap uniforms out of FShadowMapShader
2019-03-08 17:45:07 +01:00
alexey.lysiuk
965acde9c0
- added initial support of Vulkan renderer to Cocoa backend
2019-03-08 16:47:02 +02:00
alexey.lysiuk
c30b1a1f4a
- split base and OpenGL Cocoa framebuffers properly
2019-03-08 14:39:00 +02:00
Magnus Norddahl
ca1d8191aa
- enable the binding code for the ssao gbuffers
2019-03-08 03:17:59 +01:00
Magnus Norddahl
c0c2743e89
- add multisample support
...
- fix BlurScene
- create the gbuffers needed by ssao
2019-03-08 02:24:54 +01:00
Sterling Parker
81059aee1d
Fix faulty multiplication logic for LookScale
...
Turns out the entire thing was getting shortcutted because FOVScale is 0 unless set explicitly or via A_ZoomFactor.
2019-03-07 21:22:33 +01:00
Sterling Parker
ae1a1df02d
Add LookScale variable on weapon
...
This variable allows a weapon to set a custom look sensitivity multiplier without fiddling with FOVScale / DesiredFOV hacks.
2019-03-07 21:22:33 +01:00
Magnus Norddahl
e823d5da52
- remove compute and sparse requirements as we use neither
2019-03-07 18:23:04 +01:00
Magnus Norddahl
6db231596f
- hook up postprocessing
2019-03-07 18:05:12 +01:00
Christoph Oelckers
a5c820e1e6
- update volk to the latest version.
...
The main feature that got added is macOS support which should be useful.
2019-03-07 13:40:27 +01:00
alexey.lysiuk
16008e4aa8
- set viewport dimensions each frame in Vulkan framebuffer
...
This fixes visual artifacts when resolution is changed without a level running, i.e. from menu or fullscreen console
2019-03-07 13:24:56 +02:00
Magnus Norddahl
0679b493ec
- hook up the present shader
2019-03-06 22:59:21 +01:00
Magnus Norddahl
30756ec112
- wrong image transition direction
2019-03-06 19:44:48 +01:00
Magnus Norddahl
a857bec846
- implemented VkPostprocess::GetInput
2019-03-06 19:42:02 +01:00
Magnus Norddahl
9d061cbef6
- implement VkPostprocess::GetOutput
2019-03-06 18:33:31 +01:00
Magnus Norddahl
40c14bcd67
- create pipeline images
...
- fix some minor typos
2019-03-06 17:59:11 +01:00
alexey.lysiuk
108ea066f3
- added initial support of Vulkan to SDL backend
...
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
alexey.lysiuk
08d8ea5d31
- fixed compilation with GCC and Clang
...
src/rendering/vulkan/renderer/vk_postprocess.cpp:219:54: error: cannot pass non-trivial object of type 'const FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-03-06 11:39:39 +02:00
Magnus Norddahl
c280153ac2
- implement VkPostprocess::RenderScreenQuad
2019-03-05 23:31:38 +01:00
Magnus Norddahl
fb983186b1
- upload the pp textures
2019-03-05 20:39:27 +01:00
Magnus Norddahl
a07e4601e7
- compile the effect shaders
2019-03-05 19:49:06 +01:00
Magnus Norddahl
b313f91ab0
- add layout location decl to all postprocess shaders
2019-03-05 18:55:31 +01:00
alexey.lysiuk
87441dd0a1
- fixed infinite loop and out-of-bound read in shader patcher
2019-03-05 13:06:39 +02:00
alexey.lysiuk
741d44d263
- fixed compilation with GCC 7+
...
src/rendering/vulkan/renderer/vk_postprocess.h:16:48: error: ‘function’ in namespace ‘std’ does not name a template type
2019-03-05 10:21:39 +02:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00