Commit Graph

4519 Commits

Author SHA1 Message Date
NightFox cc764e66d7
Update README.md
fix build instructions link
2023-11-18 20:37:22 +03:00
Ivan Avdeev f57a7feea0
Merge pull request #656 from w23/stream-E332
Things done during stream E332

- [x] comment on no light under emissive acid
- [x] normalmaps for water, fix #655 
- [x] add docs regarding regression tests
2023-11-17 09:42:03 -08:00
Ivan Avdeev 16de17527a vk: document regression testing approaches
ref: #646
2023-11-17 12:29:53 -05:00
Ivan Avdeev f0b80887e8 vk: brush: support normalmaps for water surfaces
Adds missing tangents.

Fixes #655
2023-11-17 11:06:09 -05:00
Ivan Avdeev de80c0da64 vk: comment on no light under emissive acid
ref: #56
2023-11-17 10:22:53 -05:00
Ivan Avdeev 7d8d59d338
Merge pull request #653 from 0x4E69676874466F78/vulkan
Update patches&rads
2023-11-17 07:08:39 -08:00
NightFox 174d601ba6
add c1a4g.rad 2023-11-17 13:08:34 +03:00
Ivan Avdeev 414c43f7a2
Merge pull request #652 from w23/stream-E331b
Thing done during stream E331

- [x] add `trihash` option to  `rt_debug_display_only` cvar
- [x] fix #465 
  - [x] update UVs
  - [ ] fix validation woes -- cannot reproduce anymore
2023-11-16 10:10:33 -08:00
Ivan Avdeev 9b18ffbc02 vk: update todo 2023-11-16 13:05:28 -05:00
Ivan Avdeev 85fbe15f65 vk: make conveyors move again
Known issues: validation-induced crash on changlevel

fixes #465
2023-11-16 13:00:00 -05:00
NightFox 8858433928
Update c0a0d.rad
temporary tune !TOXICGRN, !TOXICGRN2
2023-11-16 19:54:51 +03:00
NightFox c23404cfa1
Update patches
c0a0d: more smooth geometry
2023-11-16 19:53:26 +03:00
Ivan Avdeev 4def45125c vk: add `trihash` to `rt_debug_display_only` cvar 2023-11-16 10:55:05 -05:00
Ivan Avdeev dc1ea9cb44 vk: shaders: normalize noise.glsl indentation 2023-11-16 10:54:21 -05:00
Ivan Avdeev 5f83cb1ef1
Merge pull request #651 from w23/stream-E331
E331: make water emissive again

- [x] Make acid water surfaces emissive again.
- [x] Update emissive color for them, fix #56
2023-11-16 07:53:09 -08:00
Ivan Avdeev b21a8240ec vk: update todo 2023-11-16 10:43:51 -05:00
Ivan Avdeev f535020f94 vk: update emissive color for water surfaces
In a not super efficient way: it will re-upload kusochki every time,
even though there has been no update.
2023-11-16 10:35:07 -05:00
Ivan Avdeev e4d7858330 vk: add emissive water surfaces to polygon lights
Makes acid water surfaces emissive again.
However, they are not assinged proper emissive color values for direct
ray hits yet, so they do emit light, but look dar still.

Ref: #56
2023-11-16 09:56:21 -05:00
Ivan Avdeev 1040a9608d
Merge pull request #649 from w23/stream-E328
E328-E330: Improve backface culling

- [x] Turn on backface culling in RT shaders for everything.
- [x] Force-disable culling for everything except alpha blended geometries.
- [x] Only leave water surfaces that are directed towards "air", fixes #264
2023-11-16 06:54:02 -08:00
Ivan Avdeev a3c52a8001 vk: hide "back" water surfaces
Only leave water surfaces directed towards "air".
This is consistent with:
- non-`kRenderNormal` surfaces, for which there's only one surface present
- opt2 for translucent surfaces, where we aim to detect medium boundary
  direction based on normal-vs-ray-direction

Also add notes about translucent surfaces in general, more info about
water rendering under ref_gl, etc.

Fixes #264
2023-11-14 11:44:29 -05:00
Ivan Avdeev 78548960e7 vk: improve culling; add notes about water and culling
Cull everything except:
- opaque geometry: to avoid shadow and reflection holes
- bleded geometry: particles and such should be visible from any angle

Alpha-tested geometries result in visual glitches when not culled
(double-sided ladders, double shadows, etc). These glitches are worse
than slightly misaligned shadows.

Translucent geometries are still matter of research.
2023-11-13 12:22:23 -05:00
Ivan Avdeev d802404d1c vk: brush: investigate water surfaces orientation
Adds a few things:
- verbose logs about surface flags/type/orientation
- same about surface subdivided polys
- tries culling back water surfaces (doesn't work that well)
- tries culling in rt shaders

This still unfinished
2023-11-10 10:30:24 -05:00
Ivan Avdeev 70fe5af12e
Merge pull request #648 from w23/stream-E327
Stuff done during stream E327

- [x] Fix alternate worldmodel anims #644
- [x] Hide water sides appropriately
2023-11-09 10:48:35 -08:00
Ivan Avdeev f6c19527d5 vk: brush: hide side water surfaces for entities w/o EF_WATERSIDES
Worldmodel draws all water surfaces regardless of their
orientation/PLANE_Z.

All other entities only draw sides when EF_WATERSIDES effect bit is set.
2023-11-09 12:55:56 -05:00
Ivan Avdeev 4145969198 vk: brush: do not try to invert water height when underwater
Not sure that we need it.
2023-11-09 10:49:53 -05:00
Ivan Avdeev 5c3be09161 vk: brush: force worldmodel alternate_anims textures static
Many static worldmodel surfaces still contain alternate texture chains.
That was making these surfaces dynamic, even though there's no way to
trigger these alternate anims.

Make worldmodel ignore alternate_anims when looking for animated
surfaces.

Fixes #644
2023-11-09 10:32:47 -05:00
Ivan Avdeev 738fcec129
Update CONTRIBUTING.md (#645)
Add a section for this specific project
2023-11-09 07:30:49 -08:00
Ivan Avdeev 2fdd6e719e
Merge pull request #647 from 0x4E69676874466F78/vulkan
Update patches
2023-11-09 07:24:49 -08:00
NightFox 840d618e4d
Update patches
Minor changes (replacement by _xvk_tex_rotate)
2023-11-09 15:54:12 +03:00
Ivan Avdeev 7f3fa2285a
Merge pull request #643 from w23/stream-E326
Things done during stream E326

- [x] list supported arguments for `rt_debug_display_only`
- [x] make `vk_debug_log` a command
- [x] rotate your owl, fix #625
- [x] fix skybox surface assert
- [x] half-fix water levels
- [x] add alternate anims to infotool
2023-11-07 10:54:44 -08:00
Ivan Avdeev 3e9f6bc7a4 vk: half-fix water levels being too high
Pass current entity to compute wave height. Still doesn't switch to
negative height when underwater for some reason.
And still displays water sides.

Add some notes regarding water geometry generation and drawing.
2023-11-07 13:45:25 -05:00
Ivan Avdeev c575cb6cfd vk: add alternate_anim display to infotool 2023-11-07 13:45:06 -05:00
Ivan Avdeev 2c0e7033ed vk: fix crashing on maps with skybox
We were using a negative value for `SURF_SKY` surfaces, which hit an
assert on uploading kusochki.
2023-11-07 13:30:46 -05:00
Ivan Avdeev c6c58a9842 vk: allow rotating matrices in patches
Adds `_xvk_tex_rotate` field for surface patches. Angle is specified in
degrees.

Note that it rotates the texture around origin, which might be very far
away. So offset patching might be needed to re-align.
2023-11-07 12:03:40 -05:00
Ivan Avdeev 266f57e8a5 vk: make `vk_debug_log` a command, not a cvar
This makes it easily switchable at any point in time.

Still not sure how to properly manage log verbosity cvars:
- cvars are loaded after initialization and map load, so we can't really
  depend on saved cvar values.
- reloading cvars each frame cancels `-vkverboselogs` arg that is
  supposed to work around the above limitation
2023-11-07 11:59:12 -05:00
Ivan Avdeev 9eff6fa907 vk: list supported arguments for `rt_debug_display_only` 2023-11-07 10:32:35 -05:00
Ivan Avdeev a18ed8ddc6
Merge pull request #642 from w23/E325
Things done during stream E325

- [x] fix #638
- [x] fix #640 
- [x] fix #641
2023-11-06 10:32:21 -08:00
Ivan Avdeev a25bf841ac vk: fix bright artifacts coming from unpatched chrome materials
Fixes a typo that rewrote roughness value with garbage.

Also adds a few more debug channel displays for lighting phases. And
prints out available debug displays.

Fixes #641
2023-11-06 12:47:21 -05:00
Ivan Avdeev 4509e2075d vk: fix changing textures on buttons, etc
Detect changes in alternate_anims sequences.

Fixes #640
2023-11-06 11:42:07 -05:00
Ivan Avdeev f8c0baf78d vk: fixup -vkverboselogs, make it actually work 2023-11-06 11:07:58 -05:00
Ivan Avdeev dfcfd786a9 vk: fix material basecolor_map handling
- Do not replace inherited base color texture
- Do not acquire default base color texture

Fixes #638
2023-11-06 10:31:55 -05:00
Ivan Avdeev d5ee8ba750
Merge pull request #637 from 0x4E69676874466F78/vulkan
Update patches
2023-11-06 07:13:38 -08:00
NightFox fd356e6124
update c1a0c.patch 2023-11-06 00:00:17 +03:00
NightFox 6963c158a4
update c1a0c.patch 2023-11-05 23:43:12 +03:00
NightFox 42dfd56f87
update c1a1c.patch 2023-11-05 20:45:28 +03:00
NightFox 0927e25ce2
update patches
Improvement geometry smoothing (normals)
2023-11-04 19:23:21 +03:00
Ivan Avdeev 365fffacca
Merge pull request #636 (stream E324)
- [x] debug: display individual channels #631 
- [x] debug: implement `r_lightmap` #634 
- [x] debug: display surfaces #635
- [x] name cvars and commands consistently #632 
- [x] allow enabling verbose logs at init
2023-11-03 10:37:25 -07:00
Ivan Avdeev 6e56c8c78d vk: add -vkverboselogs argument to enable super verbose logs at init 2023-11-03 13:23:10 -04:00
Ivan Avdeev a42e5051b7 vk: cleanup cvar prefixes
Now:
- Not necessarily vulkan-specific cvars are prefixed with `r_`
- Vulkan-specific but not RT-specific things are `vk_`
- RT-specific are `rt_`

Fixes #632
2023-11-03 13:15:11 -04:00
Ivan Avdeev 3a7d047f09 vk: add `surfhash` argument to `rt_debug_display_only`
Allows highlighting all the surfaces with random colors to easily see
the surfaces structure and boundaries.

Fixes #635
2023-11-03 12:05:36 -04:00