Ivan Avdeev
28eec97cbf
vk: implement r_lightmap for both traditional and RT renderers
...
Display lightmap plus lighting for traditional.
Display all collected lights (including bounces and simple transparency)
for RT.
Fixes #634
2023-11-03 11:26:57 -04:00
Ivan Avdeev
0ba85e3f08
vk: add `rt_debug_display_only` cvar
...
Displays only the specified channel.
Fixes #631
2023-11-03 10:58:13 -04:00
Ivan Avdeev
2a3f48fd50
vk: fix occasional inverted normal maps
...
When texture coordinates are inverted, it makes tangent look into
oppsite direction, which inverts TBN and therefore normal map.
Make sure the tangent points to a consistent direction.
Fixes #627
2023-11-02 10:58:11 -07:00
Ivan Avdeev
dfa240a4db
vk: fix weird lines on suit studio model
...
It was using old pre-transform values for prev_verts, and that was
confusing temporal denoiser.
We should bone-transform vertices first, and only then store them as
prev_verts.
Fixes #585
2023-11-02 10:13:56 -07:00
Ivan Avdeev
1a5edc8271
Merge pull request #626 from w23/vulkan-upstream-merge-20231102
...
Merge from upstream
2023-11-02 09:08:20 -07:00
Ivan Avdeev
c869223690
vk: fix compilation after upstream merge
2023-11-02 11:46:30 -04:00
Ivan Avdeev
1f9b489bdc
Merge remote-tracking branch 'upstream/master' into vulkan-upstream-merge-20231102
2023-11-02 11:31:59 -04:00
Alibek Omarov
a464c3dd66
scripts: waifulib: compiler_optimizations: rename release build type to humanrights with kept compatibility
2023-11-02 14:33:00 +03:00
Alibek Omarov
bd969f3594
wscript: fix system opus detection, it didn't compile due to nonnull argument
2023-11-01 01:35:39 +03:00
Alibek Omarov
fb87d7c0b3
readme: wording, add icon, add donate.md link [skip ci]
2023-10-31 21:54:23 +03:00
Alibek Omarov
a69fc87940
Documentation: donate: add sponsorship information
2023-10-31 21:54:23 +03:00
Alibek Omarov
e481e1d73e
ref: gl: enable GL waves with r_ripple
2023-10-31 21:52:00 +03:00
Alibek Omarov
6c0eed1b2b
ref: gl: allow viewing water textures in their full glory with enabled r_ripple 2
2023-10-31 21:52:00 +03:00
Alibek Omarov
a6c67fdf9f
ref: gl: upload only part of texture we're using, i.e. 64x64 for 64x64, 128x128 for 128x128
2023-10-31 21:52:00 +03:00
Alibek Omarov
03f838e37e
mainui: update
2023-10-31 21:52:00 +03:00
Alibek Omarov
e21fa4a910
engine: add cvar r_refdll_loaded to indicate currently loaded renderer (for menu options and etc)
2023-10-31 21:52:00 +03:00
Alibek Omarov
46889ed453
ref: gl: libc rand() does better job at randomizing
2023-10-31 21:52:00 +03:00
Alibek Omarov
882fcc152c
ref: gl: always scale down texture to 64x64, like sw.dll does
2023-10-31 21:52:00 +03:00
Alibek Omarov
a41902bd46
engine: mod_bmodel: detect water textures by texture name like LoadSurfaces does
2023-10-31 21:52:00 +03:00
Alibek Omarov
a6af32dafd
ref: gl: connect ripply water to others parts of renderer (init, reset, animation and rendering)
2023-10-31 21:52:00 +03:00
Alibek Omarov
d6dfb83be7
ref: gl: ripply water implementation (bugfixed version from my Quake-2 patches)
2023-10-31 21:52:00 +03:00
Alibek Omarov
597429cf41
engine, filesystem: unify GetNativeObject between all the APIs. Allow getting filesystem APIs through GetNativeObject
2023-10-31 21:25:11 +03:00
Alibek Omarov
5ea074a1fd
engine: fix build issues pointed by @Velaron
2023-10-31 21:01:42 +03:00
Ivan Avdeev
6fda8bd977
vk: add a mechanism for exclusion of single surfaces from smoothing
...
Uses `_xvk_smoothing_excluded` field.
Surfaces can still be smoothed with a limited list of neightbours explicitly
by being included in a smoothing group.
Fixes #619
2023-10-31 09:55:06 -07:00
Ivan 'provod' Avdeev
5698746f42
vk: do not crash on corrupted scopes stack
...
This is not a valid reason to assert/crash, even though it is clearly a programming mistake.
If the stack is corrupted, just print its contents as an S_ERROR and continue.
Also:
- Fix the ultimate reason for stack being unbalanced for #604
- Do not analyze scopes when not needed, i.e. when `r_speeds` is zero.
Fixes #604
2023-10-31 09:13:47 -07:00
Ivan Avdeev
f1c8b3ef2f
Merge pull request #612 from w23/texture-storage
...
Improve texture storage and lookup
- [x] Fix #594
- [x] Free engine textures
- [x] Fixup descriptor sets
- [x] Fix PBR leaks
- [x] texture refcounts
- [x] acquire/release textures in materials
- [x] Done #210 to separate refcount-aware material loading from refcount-unaware ref_interface_t
- [x] Done #602
- [x] #601
- [x] Fixes #617
- [x] кто украл скайбокс?! -- повар украл скайбокс
- [x] Convert blue noise to 3D texture
- [x] fixes #613
2023-10-31 08:49:18 -07:00
Ivan Avdeev
a9df5cd86f
Merge branch 'vulkan' into texture-storage
2023-10-31 08:19:40 -07:00
Ivan Avdeev
737d1324e8
vk: assign translucent material mode to transparent studio models
...
fixes #613
2023-10-31 11:15:15 -04:00
Ivan Avdeev
effbf3ea3d
vk: fixup material lookup by texture name
2023-10-31 11:03:08 -04:00
Ivan Avdeev
36c06a514e
vk: massage texture module a bit more
2023-10-31 10:48:14 -04:00
Ivan Avdeev
5962290b9d
vk: simplify texture uploading failure cleanup
2023-10-31 10:43:12 -04:00
Ivan Avdeev
67f336b3c8
vk: load blue noise 3d texture from an array of png files
2023-10-31 09:44:06 -04:00
NightFox
6f40adab98
update rad files
...
Refactoring, performance improvement (more for c1a0b), minor changes
2023-10-31 05:30:46 -07:00
Alibek Omarov
29c9393da3
wscript: enable faster builds with gccdeps/msvcdeps
2023-10-31 04:30:27 +03:00
Alibek Omarov
bf6829189e
wscript: move XASH_BUILD_COMMIT definition to libpublic, as this is the only place where it's used, for faster builds
2023-10-31 04:30:27 +03:00
Alibek Omarov
a62a9429c9
engine: launcher: remove Windows code from single binary launcher, as Windows completely supports running from external launcher and don't need dedicated builds
2023-10-31 04:30:22 +03:00
mittorn
f2c080e736
gl2shim: fix broken matrix update when fog attribute enabled (32 bit shift overflow)
2023-10-30 22:34:34 +03:00
Ivan 'provod' Avdeev
23341c144c
vk: fixup blue noise 3d texture refactoring
...
Fixed a bunch of validation and shader errors
2023-10-30 13:51:23 -04:00
Ivan Avdeev
df3c0e30ba
vk: convert blue noise texture to 3D
...
Note: not tested
2023-10-30 13:43:09 -04:00
Ivan Avdeev
1f043a90a6
vk: remove dummy textures for new material name resolution
...
Use dedicated hash table for new material names.
Updates a lot of dependent code:
- surface patches now target materials, not textures:
`s/_xvk_textures/_xvk_material`
- patching now affects only materials, not texture ids. All logic that
depends on texture ids now operate on original textures.
- brush normal smoothing now ignores patched surface materials when
deciding whether two surfaces can be smoothed.
The rationale is that patching should only affect newer PBR/RT code paths.
2023-10-30 12:43:26 -04:00
Ivan Avdeev
8c37b25b31
vk: destroy textures on shutdown more explicitly
2023-10-30 10:44:57 -04:00
Ivan Avdeev
97a889cabb
vk: fix missing skybox
2023-10-30 10:19:13 -04:00
Alibek Omarov
ea55e78855
ref: _inline -> static
2023-10-29 23:38:43 +03:00
NightFox
114015c208
update patches
2023-10-29 11:40:06 -07:00
Alibek Omarov
f7c536b81c
engine: server: allow loading maps from subdirectories as this is used by some Half-Life mods
2023-10-29 02:44:46 +03:00
Alibek Omarov
6c40104c66
public: better fix for ExtractFilePath
2023-10-28 19:31:17 +03:00
Alibek Omarov
4d7d592918
engine: mod_bmodel: completely get rid of global loadmodel pointer
2023-10-28 16:06:00 +03:00
Alibek Omarov
c5e91f299b
engine: mod_studio: reduce dependency on global loadmodel pointer, make it private for brush model loader
2023-10-28 15:38:40 +03:00
Alibek Omarov
cff276db71
engine: client: mod_dbghulls: reduce dependency on global loadmodel pointer
2023-10-28 15:35:20 +03:00
Alibek Omarov
30d1492b93
engine: remove Set/GetCurrentLoadingModel from RefAPI
2023-10-28 15:22:21 +03:00