Ivan 'provod' Avdeev
487c94662a
rt: HACK flickering lerping sprites
...
Lerping between sprite frames means drawing two coplanar quads blended the right way. This is not something ray tracing can accommodate easily for all blending modes.
Disable lerping for now
2023-02-24 22:52:38 -08:00
Ivan 'provod' Avdeev
005b7c84eb
vk: pass model color explicitly
...
Instead of passing model color around as an implicit global state, pass it per-model.
This makes it (a) easier to track, (b) easy to fix blending issues. E.g. this fixes incorrect coloring of brush and studio models, which is also different.
2023-02-24 22:48:26 -08:00
Ivan 'provod' Avdeev
92b1e78d85
vk: make trad sprites more like gl ones
...
still not fully there:
- glow is slightly off
- TransAlpha has wrong blending mode
apparently pipeline settings for brushes, models, and sprites are substantially different, need different pipelines
2023-02-24 17:43:07 -08:00
Alibek Omarov
7e9d46689c
engine: client: fix multiline CenterPrint
2023-02-24 19:46:02 +03:00
Ivan 'provod' Avdeev
a5b977c8a3
rt: make emissive surfaces ignore external light
...
this is not fully correct, but it fixes slightly off sprite colors for now
2023-02-23 20:08:02 -08:00
Ivan 'provod' Avdeev
41809b8952
vk: do not depth-test glow sprites
...
makes them more like gl ones
still not fully fixed though, need to work on their transparency, it should be also scaled
2023-02-23 20:07:06 -08:00
Ivan 'provod' Avdeev
4f6d51c368
vk: fix most of random sprite flickering
...
it was due to leaving garbage in vertex fields.
some animated spritest still flicker though
2023-02-23 20:05:58 -08:00
Ivan Avdeev
d6d9011dcc
Merge pull request #431 from w23/better-extensions
...
change how device extensions are checked
make nv_checkpoint not depend on rt
split it logically from aftermath
don't crash when this extension is not available
2023-02-23 19:06:31 -08:00
Ivan Avdeev
ad5e1b2b86
vk: fixup compilation w/o aftermath sdk
2023-02-23 18:59:14 -08:00
Ivan Avdeev
8514e2c7b8
ci: update vulkan sdk and distro versions
2023-02-23 14:18:02 -08:00
Ivan 'provod' Avdeev
1a6e967ddb
vk: change how device extensions are checked
...
make nv_checkpoint not depend on rt
split it logically from aftermath
don't crash when this extension is not available
2023-02-23 13:48:41 -08:00
Alibek Omarov
b6347d17c9
engine: client: sound: don't print sound/ twice in soundlist command
2023-02-19 12:25:03 +03:00
Alibek Omarov
8293bc91d4
engine: client: sound: fix PickDynamicChannel to correctly find channel with minimum time left
2023-02-18 03:37:20 +03:00
Alibek Omarov
fb0f184d6b
engine: common: lib_common: fix offset by one UB
2023-02-17 22:51:56 +03:00
Alibek Omarov
58e95c7d6f
engine: client: console: elinimate unneeded Sys_DoubleTime call in Con_DrawDebug
2023-02-17 22:50:42 +03:00
Alibek Omarov
7a5381e658
engine: common: mod_studio: fix uninitialized adj array
2023-02-17 22:50:12 +03:00
Alibek Omarov
375c06400c
engine: server: avoid unaligned access in pfnMessageEnd
2023-02-17 22:48:56 +03:00
Ivan Avdeev
55ff27c5d4
Merge pull request #428 from w23/merge-from-upstream-2023-02-16
...
Merge from upstream
2023-02-16 11:05:50 -08:00
Ivan Avdeev
e61b45b8b6
disable flatpak build due to #430
2023-02-16 10:54:30 -08:00
Ivan Avdeev
ac1665558f
disable vulkan for nswitch
2023-02-16 10:54:08 -08:00
Ivan Avdeev
053d26e870
move ref_vk to ref/vk
2023-02-16 10:30:31 -08:00
Ivan Avdeev
604bd702d4
Merge remote-tracking branch 'upstream/master' into merge-from-upstream-2023-02-16
2023-02-16 10:19:30 -08:00
Alibek Omarov
e481c86ba2
engine: client: console: fix NXPrintf newlines, small refactoring
2023-02-15 05:53:39 +03:00
Ivan Avdeev
1f774c6400
Merge significant ray tracer improvements #341 from w23/better-sampling-passes
...
Initial observation: our vgpr story is abysmal, so need to split the one uber-rt-shader into pieces.
Done here:
- ray tracing pipeline uber shader is split into separate compute phases -> perf x2 (with a possibility of further radical improvements)
- "programmable render": read spirv, extract bindings, auto-create missing resources, etc.
- better light sampling, significant image quality improvements
- better synchronization. cpu can continue preparing the next frame while previous one is still being drawn on GPU
- lots of other small fixes
2023-02-14 13:00:53 -08:00
Ivan 'provod' Avdeev
4dd793569c
rt: add alpha-quality alpha blending
...
Do translucency in bounce stage. It's not great, but lets us see thing through.
Also fix reading OOB uninitialized memory for color/alpha.
2023-02-14 12:55:40 -08:00
Alibek Omarov
21b9f07323
engine: platform: sdl: remove legacy XASH_NANOGL macro from vid code, it's only relevant for ref_gl
2023-02-14 18:52:51 +03:00
Alibek Omarov
0bff62e696
engine: sprite: migrate header to stdint.h, remove usage of enums in data structs for portability, add static sizeof checks
2023-02-14 18:29:27 +03:00
Alibek Omarov
858597832d
engine: alias: migrate header to stdint.h, remove usage of enums in data structs for portability, add static sizeof checks
2023-02-14 18:29:18 +03:00
Alibek Omarov
9b0ac7cb32
common: add shared synctype_t definition header, borrowed from Quake's modelgen.h
2023-02-14 18:18:16 +03:00
Alibek Omarov
3c27384b6b
filesystem: speedup fs_ext_path case in FS_FindFile
2023-02-13 06:49:52 +03:00
Alibek Omarov
1e8c26a527
filesystem: wad: fix loading WADs by absolute paths
2023-02-13 06:49:29 +03:00
Alibek Omarov
f4069de7f2
engine: move SlerpBones, CalcBonePosition/Quaternion from engine to libpublic
2023-02-13 05:23:13 +03:00
Alibek Omarov
e95161aa14
filesystem: fix ClearSearchPath
2023-02-12 17:09:53 +03:00
Ivan Avdeev
eaf8b3c55a
Merge pull request #421 from w23/denoiser-massage
...
1. Denoise different channels (diffuse, specular, indirect) differently.
2. Make indirect bounce half res.
2023-02-11 12:39:07 -08:00
Ivan 'provod' Avdeev
64ac964dfc
rt: make indirect light run at half res
2023-02-11 12:12:57 -08:00
Ivan 'provod' Avdeev
218bd0a9c2
rt/denoiser: blur different channels differently
2023-02-11 11:36:45 -08:00
Ivan 'provod' Avdeev
e9712f36e3
rt/denoiser: split into diffuse/specular/direct/indirect channels
...
apply to lighting only, not to the final color
2023-02-11 11:06:33 -08:00
Alibek Omarov
0984368a31
engine: server: GoldSrc compliant pfnServerExecute(), don't execute config.cfg for server!
2023-02-11 07:22:04 +03:00
Alibek Omarov
f4961d9da7
engine: client: return empty string in pfnGetLevelName if no map is loaded yet
2023-02-11 06:50:46 +03:00
Alibek Omarov
f42a174482
engine: client: empty current map name in CL_ClearState
2023-02-11 06:45:20 +03:00
Alibek Omarov
13bf607031
engine: client: call VidInit early in svc_serverdata parsing, GoldSrc compatibility
2023-02-11 06:43:38 +03:00
Alibek Omarov
3cfdb1213b
engine: client: consolidate modern and legacy protocol parsing functions, if possible
2023-02-11 06:06:21 +03:00
Alibek Omarov
d58105d64d
scripts: flatpak: fix Half-Life directory detection
2023-02-11 03:56:40 +03:00
Alibek Omarov
1bdd844860
scripts: flatpak: minimize filesystem permissions, add Steam Flatpak data directory
2023-02-11 03:36:40 +03:00
Alibek Omarov
11f3d97cd7
scripts: flatpak: respect XDG data home in launcher script, add Steam Flatpak data directory
2023-02-11 03:36:40 +03:00
Alibek Omarov
fccf044976
engine: initialize network buffers used on player connect and after
2023-02-09 17:57:45 +03:00
Alibek Omarov
c23396f533
engine: client: keys: hardcode K_START_BUTTON as escape button, cancelselect doesn't exist anymore and many games seems to use this button for menu access, and back for pause
2023-02-09 06:32:14 +03:00
Alibek Omarov
33c9f7118b
engine: platform: sdl: sanitize buttons/axes from SDL, add ABXY->BAYX swap for NSwitch
2023-02-09 06:31:19 +03:00
Alibek Omarov
c741ec223f
engine: client: keys: reserve some more buttons as gamepad buttons according to latest SDL2 GameController header
2023-02-09 06:30:08 +03:00
Alibek Omarov
d6d98bd297
engine: platform: sdl: minor style changes
2023-02-09 05:59:34 +03:00