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
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
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
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
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
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
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
9b0ac7cb32
common: add shared synctype_t definition header, borrowed from Quake's modelgen.h
2023-02-14 18:18:16 +03:00
3c27384b6b
filesystem: speedup fs_ext_path case in FS_FindFile
2023-02-13 06:49:52 +03:00
1e8c26a527
filesystem: wad: fix loading WADs by absolute paths
2023-02-13 06:49:29 +03:00
f4069de7f2
engine: move SlerpBones, CalcBonePosition/Quaternion from engine to libpublic
2023-02-13 05:23:13 +03:00
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
0984368a31
engine: server: GoldSrc compliant pfnServerExecute(), don't execute config.cfg for server!
2023-02-11 07:22:04 +03:00
f4961d9da7
engine: client: return empty string in pfnGetLevelName if no map is loaded yet
2023-02-11 06:50:46 +03:00
f42a174482
engine: client: empty current map name in CL_ClearState
2023-02-11 06:45:20 +03:00
13bf607031
engine: client: call VidInit early in svc_serverdata parsing, GoldSrc compatibility
2023-02-11 06:43:38 +03:00
3cfdb1213b
engine: client: consolidate modern and legacy protocol parsing functions, if possible
2023-02-11 06:06:21 +03:00
d58105d64d
scripts: flatpak: fix Half-Life directory detection
2023-02-11 03:56:40 +03:00
1bdd844860
scripts: flatpak: minimize filesystem permissions, add Steam Flatpak data directory
2023-02-11 03:36:40 +03:00
11f3d97cd7
scripts: flatpak: respect XDG data home in launcher script, add Steam Flatpak data directory
2023-02-11 03:36:40 +03:00
fccf044976
engine: initialize network buffers used on player connect and after
2023-02-09 17:57:45 +03:00
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
33c9f7118b
engine: platform: sdl: sanitize buttons/axes from SDL, add ABXY->BAYX swap for NSwitch
2023-02-09 06:31:19 +03:00
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
d6d98bd297
engine: platform: sdl: minor style changes
2023-02-09 05:59:34 +03:00
5e1b5d89f7
engine: client: console: allow opening OSK and existing console with gamepads for all platforms
2023-02-09 05:58:54 +03:00
a0edfd28b2
engine: common: host: use DEFAULT_ALLOWCONSOLE macro to set default console state
2023-02-09 05:56:11 +03:00
555fd02407
defaults: reorganize platform default overrides, disable touch for nswitch
2023-02-09 05:55:35 +03:00
f7f9cfecfc
ci: nswitch: use waf install to copy build artifacts
2023-02-09 05:35:30 +03:00
2aeee59a31
Merge remote-tracking branch 'fgsfds/switch_newer'
2023-02-09 05:18:06 +03:00
Ivan Avdeev
780b225735
mark a bunch of things as done
2023-02-08 14:55:17 -08:00
Ivan Avdeev
a46d82f3b5
Merge pull request #419 from w23/bounces
...
Add indirect illumination
2023-02-08 10:32:02 -08:00
Ivan 'provod' Avdeev
3ecd21a25b
rt: simplify bounce computations
...
use simpler polygon sampling
use smaller texture lods
2023-02-08 10:11:00 -08:00