Ivan 'provod' Avdeev
c8e4ce0619
vk: fix tracers colors
2023-02-27 11:00:34 -08:00
Ivan 'provod' Avdeev
d87690876f
vk: fix TRI_QUADS and primitive_mode tracking
2023-02-27 10:51:11 -08:00
Ivan Avdeev
421c0ea733
vk: add tracers (not tested)
2023-02-27 10:37:03 -08:00
Ivan 'provod' Avdeev
30334db159
vk: draw the rest of the beams
2023-02-27 09:49:56 -08:00
Ivan 'provod' Avdeev
2daa130453
vk: set beam/triapi texture and render mode explicitly
2023-02-27 09:20:13 -08:00
Ivan 'provod' Avdeev
cf5d3d9d47
vk: increase limits for triapi
...
c4a1 was using too many indices
2023-02-27 08:46:12 -08:00
Ivan 'provod' Avdeev
a118e12e01
vk: stub just enough triapi to render more beam types
...
it is still drawn incorrectly, but at least something is visible, and we can iterate from here
2023-02-26 20:45:29 -08:00
Ivan 'provod' Avdeev
ee4def1141
rt: modulate additive kusochki by vertex color attribute
2023-02-25 18:41:01 -08:00
Ivan 'provod' Avdeev
1fadbce860
vk: remove flag attribute in vertex
...
make color computation more uniform and not mode-specific
2023-02-25 18:38:22 -08:00
Ivan 'provod' Avdeev
e4ad18f220
vk: do not modulate beam color twice
...
color is already applied at model/ubo level
2023-02-25 16:58:59 -08:00
Ivan 'provod' Avdeev
f2182bb255
vk: fix beams per-vertex blending
2023-02-25 16:47:23 -08:00
Ivan Avdeev
26ad10483f
Merge pull request #432 from w23/sprite-improvements
...
- [x] fixes #297
- [x] fixes #256
- [x] Sprite rendering differs from GL, especially with glow(3) and solid/transalpha(4)
2023-02-25 14:27:20 -08:00
Ivan 'provod' Avdeev
1d17e55101
rt: hack all blending as additive
...
this is not correct, but at least we get to see something
need to figure out how should blending work in rt:
- translucent materials that absorb light
- reflective+refractive
- etc
2023-02-25 13:22:56 -08:00
Ivan 'provod' Avdeev
3e2689b7f8
rt: improve sprite blending even moar
...
fixes most glaring sprite blending issues for ray tracing
2023-02-25 12:46:46 -08:00
Ivan 'provod' Avdeev
9f72a804e0
vk: improve traditional blending universally
...
it is now almost on par with the gl renderer
2023-02-25 12:09:20 -08:00
Ivan 'provod' Avdeev
ce27bdb1b1
vk: fix studio models being modulated by ent color
2023-02-24 23:57:49 -08:00
Ivan 'provod' Avdeev
cd524c20cf
vk: make transparent brushes closer to gl
...
some of render modes are not affected by light, disable lightmaps for them
2023-02-24 23:54:41 -08:00
Ivan 'provod' Avdeev
03efb6ce83
fixup linux compiler warnings
2023-02-24 23:52:09 -08:00
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