Ivan Avdeev
ccab9e6ea6
make ray_interop.h a bit more self-sufficient
2021-12-21 22:56:34 -08:00
Ivan Avdeev
8d552b5d94
update todo
2021-12-21 22:56:34 -08:00
Ivan Avdeev
fa63aedce9
rtx: fix too verbose logs for emissive patch
2021-12-21 18:50:41 -08:00
Ivan Avdeev
b593be9695
rtx: delete patched surfaces with zero emission
...
fix #286
2021-12-21 18:37:04 -08:00
Ivan Avdeev
659402cb2a
patch: enable live reloading
...
Does not yet reload emissive patches ("_light" argument for surfaces).
Does not reload deleted surfaces.
2021-12-21 18:37:04 -08:00
Ivan Avdeev
8b1971e0d1
fix mass patching and removing, fix #283
2021-12-20 14:34:55 -08:00
Ivan 'provod' Avdeev
0a05adaabc
rtx: add reinhard tonemapping
2021-12-20 13:48:49 -08:00
Ivan 'provod' Avdeev
985ea278f8
rtx: fix uninitialized texture memory in base_color and normal channels
2021-12-20 13:16:27 -08:00
Ivan 'provod' Avdeev
2ac0413a28
rtx: remove second gamma correction
...
On stream E180 after working on it for almost a year we found out that we're doing double gamma correction. Our swapchain colorspace is already SRGB, so no need to sqrt() in shaders.
Also, comment on the fact that we need to HDRize skyboxes, and leave the curren hack intact.
2021-12-20 13:16:27 -08:00
NightFox
4d5dbd7f1e
fix #60 and tune refract
2021-12-19 19:07:51 -08:00
NightFox
50ac0c3efa
remove obsolete vk_device_list
2021-12-11 13:14:54 -08:00
350ab21209
engine: add a method to retrieve all available GPUs (only for Vulkan), add r_refdll_loaded cvar to indicate current loaded renderer
2021-12-11 13:14:54 -08:00
NightFox
84b358b096
Revert "fix C90"
...
This reverts commit 4e761ee485
.
2021-12-11 13:14:54 -08:00
NightFox
a55b260905
fix C90
2021-12-11 13:14:54 -08:00
NightFox
2502c212d4
change default value for vk_device_target_id
2021-12-11 13:14:54 -08:00
NightFox
e03e738d26
fix vk_core.rtx init
2021-12-11 13:14:54 -08:00
NightFox
907b3f40b3
add GPU selector logic and...
...
rename VK_LoadCvarsRTX to VK_LoadCvarsAfterInit
2021-12-11 13:14:54 -08:00
NightFox
ea1767f2c2
cvar improvements №2
...
added vk_only for old -rtx behavior (full disable rtx pipeline)
remove -vkskipdev and skip_first_device as unused and obsolete
remove obsolete check ("missing ray tracing extensions")
addedv VK_LoadCvarsRTX for rtx commands
remove vk_rtx_prev_frame_blend_factor as an outdated command
added vk_deviceid as a stub for video device selection
vk_rtx_reload_materials no longer shown when vk_core.rtx = 0
2021-12-11 13:14:54 -08:00
Ivan Avdeev
b0e3ebfc32
rtx: add mass-patching, fix #275
2021-12-11 12:52:29 -08:00
Ivan Avdeev
803889e54f
Merge pull request #272 from a1batross/vulkan
...
Various patches, sync with upstream
2021-12-10 17:50:18 -08:00
Ivan Avdeev
cad38d0d17
Merge pull request #273 from 0x4E69676874466F78/rads
...
Update rads
2021-12-09 20:39:04 -08:00
deeb84c5eb
engine: get rid of stupid XASH_VULKAN. Vulkan support must be decided by the platform-code, not during build-time, and available if possible. Otherwise it can always return nothingness and refuse to create REF_VULKAN context
2021-12-10 02:58:26 +03:00
a99e1ca509
Merge master into vulkan
2021-12-10 01:12:04 +03:00
3a8a7f290d
ref_vk: wscript: split rtx shaders into new build target for specific glslc flags
2021-12-10 01:01:28 +03:00
ffd618b382
rtx: print all unsupported extensions
2021-12-10 01:00:38 +03:00
Ivan Avdeev
f59fadec51
rtx: improve barycentric triangle sampling
...
, #265
2021-12-08 12:35:49 -08:00
Ivan 'provod' Avdeev
6e9b54869c
rtx: fix shadows for surfaces with alpha mask
2021-12-08 12:08:26 -08:00
Ivan Avdeev
e831a9c9dd
rtx: fixup point/spot light attenuation after sampling fixes
2021-12-08 11:27:04 -08:00
Ivan Avdeev
8d041d3fb0
rtx: fixup emissive color, #145
2021-12-08 11:26:26 -08:00
Ivan Avdeev
f9fc8fd2f2
rtx: read _xvk_radius instead of radius in patch files to disambiguate, fix #259
2021-12-08 11:25:39 -08:00
Ivan Avdeev
4becafc02c
Merge branch 'sample-emissive-lights-textures' into E177
...
Also do not multiply emissive textures by emissive color. similar to how
original lighting works.
qrad lighting treats emissive surfaces as constant color w/o paying
attention to texture contents. And then the rederer just draws textures
w/o lightmaps.
We need to figure out what to do with pbr path tracer.
2021-12-08 10:43:11 -08:00
Ivan Avdeev
e3e8693b13
rtx: attenuate lights based on solid angle, not distance and area, #145
...
breaks previous tuning
2021-12-05 13:38:16 -08:00
NightFox
de2a52dd71
Update ref_vk/vk_cvar.c
...
Co-authored-by: Ivan Avdeev <me@w23.ru>
2021-12-04 22:02:34 -08:00
NightFox
fb79c1937f
Update text for disabled rtx
2021-12-04 22:02:34 -08:00
NightFox
8e0be3c372
add vk_rtx_extension cvar for rtx options, more smart vk_rtx cvar
2021-12-04 22:02:34 -08:00
NightFox
e3cbb785e2
Add FCVAR_READ_ONLY and unlock FCVAR_GLCONFIG (temporary solution for some commands)
2021-12-04 22:02:34 -08:00
NightFox
c6f92b0664
Add ClearBits for FBitSet
...
Because otherwise the condition will be called all the time.
2021-12-04 22:02:34 -08:00
Ivan Avdeev
3de2a98db4
rtx: fix skipping the last leaf when clustering lights, fix #97
...
apparently model_t->leafs goes from 1 to model_t->numleafs, not from 0
to model_t->numleafs-1
2021-12-03 11:37:10 -08:00
Valery Klachkov
3b6898f701
force rtx if supported card found, remove flag
2021-12-03 11:29:06 -08:00
NightFox
152748b657
fix error: implicit declaration of function
2021-12-03 11:26:50 -08:00
NightFox
f501f8255d
add reload 2d pipeline
2021-12-03 11:26:50 -08:00
Ivan Avdeev
1dabdc67d6
sample emissive lights textures
2021-12-03 09:57:24 -08:00
NightFox
fcb56ccb45
Update vk_materials.c
2021-12-01 19:14:40 -08:00
NightFox
b517205269
Add new locations for materials.mat
...
pbr/sprites/materials.mat
pbr/gfx/env/materials.mat
2021-12-01 19:14:40 -08:00
Ivan Avdeev
f70f5bfe82
rtx: add scalar parameters for material overrides, fix #238
2021-12-01 13:19:01 -08:00
Ivan Avdeev
0e0f1913a1
rtx: add scalar parameters for material overrides, fix #238
2021-12-01 10:32:32 -08:00
NightFox
5917fff727
Update ref_vk/vk_framectl.c
...
Okay
Co-authored-by: Ivan Avdeev <marflon@gmail.com>
2021-11-30 19:53:06 -08:00
NightFox
1bf72f6a1a
Add vk_rtx command
...
For enable or disable ray tracing mode
2021-11-30 19:53:06 -08:00
NightFox
564359ffe2
Remove requirement -vkdebug for some console cmds
...
vk_rtx_reload
vk_rtx_reload_rad
vk_rtx_freeze
2021-11-30 19:53:06 -08:00
Ivan Avdeev
431cd79072
clear studio model vertex memory; #241
2021-11-29 21:32:52 -08:00
Ivan Avdeev
c833d0e320
rtx: make default light radius smaller, fix #242
2021-11-29 21:17:22 -08:00
Ivan Avdeev
93fba1018c
fix incorrect surface indexing when patching
...
fix #239
2021-11-29 10:06:07 -08:00
Ivan Avdeev
5c85d1b648
rtx: add radius property for point/spot lights
...
it is not handled correctly in shader yet
2021-11-28 14:05:54 -08:00
Ivan Avdeev
39de6ad170
improve ui_unfotool crosshair alignment
2021-11-28 13:51:59 -08:00
Ivan Avdeev
ee52562e46
rtx: propagate patched emissive color
2021-11-28 13:51:30 -08:00
Ivan Avdeev
7ca6c2128c
rtx: allow patching light entities
...
change light position and color example:
```
{
"_xvk_ent_id" "217"
"_light" "255 0 255 1000"
"origin" "-2016 300 -432"
}
```
delete light example:
```
{
"_xvk_ent_id" "219"
}
```
2021-11-28 13:38:01 -08:00
Ivan Avdeev
cd2804b659
attempt to read skybox images from pbr/env/<name>.png first, #155
2021-11-28 12:43:35 -08:00
Ivan Avdeev
5a7cb651ca
rtx: allow patching emissive color for brush surfaces, #117
2021-11-28 11:15:02 -08:00
Ivan Avdeev
c4c97b2822
Merge branch 'vulkan' into patch
2021-11-28 09:56:25 -08:00
Ivan Avdeev
a394038f22
rtx: do not treat SURF_SKY as light source, fix #232
2021-11-27 20:22:32 -08:00
Ivan Avdeev
28d047a904
rtx: enable patching surface textures
...
example:
```
{
"_xvk_surface_id" "489"
"_xvk_texture" "#maps/test_material.bsp:debug_normal1.mip"
}
```
if _xvk_texture is empty, then the surface will be deleted
surfaces can be deleted or their
2021-11-26 23:59:48 -08:00
Ivan Avdeev
c2748ff034
fix random crashes on map load
...
how about not freeing stuff and then trying to use it?
2021-11-25 15:08:16 -08:00
Ivan 'provod' Avdeev
f0aaa3cd10
materials: enable force-reloading textures
...
mark such materials as `"force_reload" "1"`
2021-11-25 14:38:03 -08:00
Ivan 'provod' Avdeev
1624f4620a
mat: load materials from multiple sources; abs paths
...
- look for materials in:
- pbr/materials.mat
- pbr/models/materials.mat
- pbr/wadname.wad/materials.mat
- pbr/maps/mapname.bsp/materials.mat
- all paths are relative to their materials.mat, except for ones that begin with '/', which are relative to `pbr` dir
pbr dir should be placed in modname dir, e.g. 'valve'
#155
2021-11-25 13:51:39 -08:00
Ivan 'provod' Avdeev
405a9ecbb4
rtx: skybox srgb workaround for #230
2021-11-25 12:31:36 -08:00
Ivan 'provod' Avdeev
a9d5e4dd22
rtx: draw skybox on SURF_SKY surfaces only
...
- change how shadows for environment lights work: should cast light only when hitting SURF_SKY
- add SBT_RECORD_SIZE to specialization; need this for sky/shadow closest hit shader
fix #140
2021-11-25 11:53:44 -08:00
Ivan Avdeev
12565a35a1
reorient skyboxes to vulkan spec
2021-11-23 09:07:58 -08:00
Ivan Avdeev
9920dc6674
unload cubemaps
2021-11-23 09:07:21 -08:00
Ivan Avdeev
1ad13817fe
add cubemap support; add misaligned skybox
2021-11-21 14:53:51 -08:00
Ivan Avdeev
714d825956
deduplicate creation of VkImages
2021-11-21 13:40:11 -08:00
Ivan Avdeev
dc3e75bd44
add skybox from which we only render UP plane kek #140
2021-11-19 11:46:44 -08:00
Ivan Avdeev
335be32cff
rtx: fix additive when hitting sky
2021-11-19 11:46:44 -08:00
Ivan Avdeev
10dab2f021
fix materials application to studio models, fix #216
...
1. make sure that it can find studio textures by name exactly (no wad or
other weird prefixes necessary)
2. do not apply HACK_reflective to chrome that already has a patched
material
2021-11-19 11:46:44 -08:00
Ivan Avdeev
10c48e86b3
take tangent from bsp data directly, fix #218
2021-11-19 11:46:44 -08:00
Ivan Avdeev
97999e1f8e
rtx: specular reflective hack back temporarily
2021-11-17 11:20:29 -08:00
Ivan Avdeev
430d56af5f
rtx: enable partial texture overrides in materials
2021-11-17 11:11:34 -08:00
Ivan Avdeev
a736b223c9
fix emissive surfaces being too dark, #145
2021-11-17 10:27:58 -08:00
Ivan Avdeev
f938427771
work around validation bug
...
see https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/3350
2021-11-17 09:43:18 -08:00
Ivan Avdeev
6df830dd0a
add initial normalmaps support
2021-11-17 09:43:10 -08:00
Ivan Avdeev
311e6214c8
fix linux build
2021-11-16 09:34:36 -08:00
Ivan 'provod' Avdeev
bd4de6128c
rtx: add metalness and roughness map support
...
overrides existing textures. loads override data from pbr/materials.map
2021-11-16 09:34:36 -08:00
Ivan 'provod' Avdeev
e8359b12e8
rtx: add material support stub
2021-11-16 09:34:36 -08:00
NightFox
5691f1aafd
fix transition c1a1f<->c1a1b
2021-11-14 23:45:22 +03:00
Ivan 'provod' Avdeev
25ed4598b4
rtx: slightly denoise specular (bad)
2021-11-12 10:43:14 -08:00
Ivan 'provod' Avdeev
499adafaed
rtx: pass normals to denoiser
2021-11-12 10:42:56 -08:00
Ivan 'provod' Avdeev
fdad4fa016
rtx: make denoiser kernel gaussian
2021-11-12 09:40:08 -08:00
Ivan 'provod' Avdeev
59a15a0580
rtx: do not kill bounces too early
...
fixes dark roughness blots
2021-11-12 09:13:03 -08:00
Ivan 'provod' Avdeev
87095c59da
Merge remote-tracking branch 'origin/vulkan' into E164
2021-11-12 08:28:46 -08:00
NightFox
82cdf72970
fix +0~TNNL_LGT4 on c0a0c
2021-11-11 14:47:15 +03:00
Anton Baskanov
c17a53c78f
Pass stationary UV coordinates to computeAnisotropicEllipseAxes.
...
The coordinates must match the ones in the uvs array. Fixes blur of
func_conveyor textures.
2021-11-10 00:12:23 -08:00
Anton Baskanov
593be43b58
Pass world positions to computeAnisotropicEllipseAxes().
...
Fixes #197 .
2021-11-10 00:12:23 -08:00
Ivan 'provod' Avdeev
4712b7c1eb
rtx: fix gbuffer destruction
2021-11-09 11:06:35 -08:00
Ivan 'provod' Avdeev
a152fb8ac1
rtx: add specular and additive channels
2021-11-09 10:59:36 -08:00
Ivan 'provod' Avdeev
6f8bbb277b
rtx: split lighting into diffuse and specular components
2021-11-09 10:35:29 -08:00
NightFox
187b359293
Update rad: remove compiled SDK map
...
Happened to be here by accident, sorry.
2021-11-09 18:14:46 +03:00
Anton Baskanov
499559308d
Compute texcoord gradients with anisotropy.
...
Fixes #167 (this time for real :-)). The original function did not
account for anisotropy, so use code from a different paper.
2021-11-08 16:52:20 -08:00
Ivan Avdeev
c949b7f214
fix linux build
2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
4cfe76dc40
rtx: split color into base and diffuseGI; add dumb denoiser
2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
0627c612c3
rtx: s/rgba8/rgba16f/ for color textures
2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
f570e59961
rtx: move upscaling back from denoiser
2021-11-07 13:49:44 -08:00