mittorn
676526a518
ref_gl: fix creating core context, support core in gl2shim by creating dumb array object
2023-10-16 06:47:55 +03:00
mittorn
7e0bd86b65
ref_gl: allow enabling XASH_GLES without wrapper, add ref_gles3compat, wrap gles functions in gl2wrap when XASH_GLES enabled
2023-10-16 06:47:55 +03:00
mittorn
97489635af
gl2shim: limited matrix support
2023-10-16 06:47:55 +03:00
mittorn
a9ea3976a7
ref_gl: introduce gl2_shim based on vgl_shim for future limited core/gles context support (SLOW, still needs ffp for matrix operations)
2023-10-16 06:47:55 +03:00
Alibek Omarov
5501ca927a
engine: client: respect cl_allow_download and cl_download_ingame for legacy servers
2023-10-16 06:47:55 +03:00
Andrey Akhmichin
a19fb82d66
utils: mdldec: smd.c: add leading zero to number in sequence filenames.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
9d032e953f
utils: mdldec: qc.c: avoid to use brackets with conclusions.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
38587151a9
utils: mdldec: qc.c: add missing refence meshes count.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
02d5bab04b
utils: mdldec: qc.c: put every sequence property to separate line.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
d8f3e53b1f
utils: mdldec: qc.c: add missing quotes.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
877ed8a92a
utils: mdldec: qc.c: put every texture name to separate line.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
487a652aa8
utils: mdldec: qc.c: calculate sequence group size.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
64c5d141af
utils: mdldec: qc.c: put controller name instead of index for mouth controller.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
16db8a8008
utils: mdldec: qc.c: put tabs where possible.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
b6b14da102
utils: mdldec: qc.c: reorder output.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
a575605c75
utils: mdldec: qc.c: always put $flags keyword with value.
2023-10-16 06:18:06 +03:00
Andrey Akhmichin
a205a3e878
utils: mdldec: qc.c: remove useless backward slashes from output.
2023-10-16 06:18:06 +03:00
Ivan 'provod' Avdeev
f5d99dab41
imagelib: add dds/fourcc BC5S, BC4{S,U} formats support
2023-10-15 20:20:04 -04:00
Andrey Akhmichin
26ef3e274c
utils: mdldec: smd.c: linear movement loss fix.
2023-10-14 17:38:48 +03:00
Alibek Omarov
33be1b7591
engine: client: let time flow in Xash demos
2023-10-14 15:11:26 +03:00
Alibek Omarov
de19d78571
ref: fix late registration of studio cvars (thanks, @mittorn )
2023-10-14 08:11:25 +03:00
mittorn
287381d5ca
ref_gl: remove complete useless macro, enable VBO under option
2023-10-14 08:04:17 +03:00
Ivan Avdeev
1b1d79cbd6
Merge pull request #600 from zgdump/fix-fake-textures
...
Фикс аллокаций текстур-заглушек
> Это бэкпорт моего фикса для оригинального Xash3D-FWGS, сделанного в незаконченном менеджере текстур.
> Чинит #532 .
2023-10-13 20:24:07 -07:00
Ivan 'provod' Avdeev
2e2e17b008
imagelib: vk: add support for BC4
...
Tested with KTX2 and ref_vk
Added to DDS too.
Not added to any other renderers.
2023-10-13 21:47:22 -04:00
Ivan 'provod' Avdeev
b64d8865fd
imagelib: support BC7 in KTX2; split into UNORM and SRGB
...
Also, fix KTX2 mips corruption.
2023-10-13 21:31:39 -04:00
Valery Klachkov
61d32cd384
Fix dummy textures allocation. Fixes 532
...
It's backport from my old texture manager for Xash3D-FWGS
2023-10-13 20:47:30 +03:00
Ivan Avdeev
91e20382ad
imagelib: expand KTX2 support to other renderers
...
Only for BC5 and BC6H formats for now.
However, adding new formats is easy:
1. Copy format's definition from `VkFormat` to `ktx2.h`
2. Map it to `PF_` format in `Image_KTX2Format()`
3. Done
4. Really, that should be it.
5. I mean, most formats would require PF_ enum extension, but we're not
going to support all of them right?
2023-10-13 10:32:50 -04:00
Ivan Avdeev
a7a7026fdc
vk: imagelib: support more dds/compressed formats
...
- vk: support more compressed formats from imagelib
- imagelib: add BC5(s/u) support for DDS
2023-10-13 09:39:11 -04:00
Ivan Avdeev
3ac5e88b59
vk: extract long functions from vk_image
2023-10-13 09:04:20 -04:00
Ivan Avdeev
a0e1dfe4cd
vk: use imagelib mipmaps if available
2023-10-13 09:02:08 -04:00
Ivan Avdeev
7cbd34ebdb
vk: prototype dds/pf_bc* loading support
...
known issues:
- doesn't handle mips properly yet.
2023-10-12 14:33:18 -04:00
Ivan Avdeev
0a5f061ba3
vk: consolidate and simplify texture uploading
2023-10-12 14:05:15 -04:00
Ivan Avdeev
8ba7b3649e
vk: extract tex/image uploading routines
2023-10-12 13:39:07 -04:00
Ivan Avdeev
4158234fb2
rename ktx_ to ktx2_ for consistency
2023-10-12 12:51:58 -04:00
Ivan Avdeev
4efbb11178
imagelib: attempt to fix ktx2 compilation in C90 mode
2023-10-12 12:46:50 -04:00
Ivan Avdeev
90119ae84a
imagelib: add rudimentary KTX2 support
...
It only does a very basic header validation, and passes the entire file
as PF_KTX2_RAW format. This is to simplify KTX2 reading in ref_vk and
trying out different formats. KTX2 has support for >200 format, and
passing all of them through PF_ types is a non-starter.
The plan is to figure out which formats we want to support, and add
their support to imagelib/ktx2 incrementally, leaving the rest as
PF_KTX2_RAW, so ref_vk still can use them.
2023-10-12 12:38:35 -04:00
Ivan Avdeev
726fcee3f7
Merge pull request #593 from w23/materials-table
...
Materials table and friends
- [ ] KTX2 #154
- [x] proof of concept
- [x] proper alignment for blocks (validation complains)
- [ ] texture leaks: #594
- [x] investigate
- [x] `inherit`/`use`
- [x] Fix #211
- [x] make materials table
- [ ] ~~make materials by-name lookup independent of texture table, stop doing dummy textures~~ moved to #601
- [ ] normalmap glitches, #595
- [x] investigated, seems to be offline normalization vs bit depth/precision issue; needs offline changes
2023-10-12 08:43:49 -07:00
Alibek Omarov
4acd0e5304
engine: platform: sdl: grab input only in true fullscreen mode
2023-10-11 16:49:49 +03:00
Ivan Avdeev
9ca7aad276
vk: align textures to texel block size on upload
...
fixes occasional validation woes
2023-10-10 14:02:49 -04:00
Ivan Avdeev
5ba5fc4831
vk: fixup build after backmerge
2023-10-10 14:00:47 -04:00
NightFox
ecdb68370b
Merge branch 'vulkan' into materials-table
2023-10-10 20:32:04 +03:00
Ivan Avdeev
7396403984
vk: materials: allow inheriting previously defined materials
...
`"inherit" "debug_test"` will replace all fields for the current
material with ones from material named "debug_test".
`"inherit"` should be specified before any material fields, except for
selectors like "new", "for" and "for_rendermode".
2023-10-10 13:27:10 -04:00
Ivan Avdeev
82dea7a86b
Merge pull request #597 from w23/srgb-gamma
...
sRGB-γ all the things
- [x] Makes all textures SRGB by default
- [x] For traditional renderer: convert back to SRGB space like it's 1998 again
- [x] Make different `VkImageView`s, for linear (trad) and SRGB (rt) to avoid extra conversion
- see https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-compatibility-classes
supported surface formats, and also whether the image can be used as a storage destination in compute shader.
- [x] Improve `view_unorm` handling:
- [x] Don't create a separate view for natively `UNORM`
- [x] Create fallback
- [x] Use "native" hint for pbr base_color
- [x] Remove `test_val` from shaders
- [x] Do model and material colors srgb-linear conversion in C
- [x] Investigate lighting brightness
- Nihrena neponyatno.
Problems caused by this amazing change:
- Undesired interpolation artifacts: #599 (see discussion below).
- Dark places are too dark (caused by more correct linear-to-sRGB conversion that differs from the fast one for smaller values).
- Lighting looks a bit different (probably has the same cause as above)
2023-10-10 09:47:25 -07:00
Ivan Avdeev
fc36fb7c13
vk: create unorm image view only if asked and needed
...
Do not create unorm image view:
- if not asked
- already has unorm format
- format has no meaningful unorm counterpart
2023-10-10 12:18:58 -04:00
Ivan Avdeev
7b69988e41
vk: materials: use native color hint explicitly to avoid enforcing gamma
2023-10-10 12:08:25 -04:00
Ivan Avdeev
bf403027c6
vk: rt: do linear vertex_color interpolation
2023-10-10 12:01:39 -04:00
Ivan Avdeev
fadde2ea0d
vk: rt: convert more engine-supplied colors from sRGB to linear
...
- model.color
- vertex_color
2023-10-10 11:56:42 -04:00
Alibek Omarov
cb1063c305
engine: platform: sdl: fix qboolean to window_mode_t conversions
2023-10-10 14:41:39 +03:00
Alibek Omarov
59bfc8c32f
engine: platform: sdl: fix qboolean to window_mode_t conversions
2023-10-10 14:41:05 +03:00
Alibek Omarov
23494f4e20
mainui: update
2023-10-10 14:36:59 +03:00