Commit Graph

362 Commits

Author SHA1 Message Date
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
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
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
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
Ivan 'provod' Avdeev
c89dfee7b8 rtx: fix pre-denoise barriers, remove feedback from rgen 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
e6db0fde45 add debug names to various vk images 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
3abd5ee259 BROKEN rtx: add denoiser compute stub 2021-11-07 13:49:44 -08:00
Ivan 'provod' Avdeev
fca6857e51 rtx: add denoiser api stub 2021-11-07 13:49:44 -08:00
Anton Baskanov
3f70032e77 Convert fov to radians when computing pixel cone.
Fixes #167. Textures are still blurry when viewed at an angle as
UVDerivsFromRayCone does not take anisotropy into account.
2021-11-04 22:40:34 -07:00
Ivan Avdeev
36cf2146da add ui_infotool to print entity info under crosshair for debugging, fix #34 2021-11-03 10:53:56 -07:00
Ivan Avdeev
9a0fc7cdac move camera related things to camera.{h,c} 2021-11-03 10:53:56 -07:00
Ivan Avdeev
f14b01f195 rtx: add r_lightmap cvar, fix #75 2021-11-02 10:36:31 -07:00
Ivan Avdeev
54e549d726 add ACES tonemapping, fix #120 2021-11-02 10:36:31 -07:00
Ivan Avdeev
cfbce2c4b9 clamp swapchain dimensions, fix #185 2021-11-02 10:36:31 -07:00
2450803428 ref_vk: update RefAPI, make use of WorldToScreen rather than a stub 2021-10-31 17:31:03 -07:00
Ivan Avdeev
eceb52cee0 add support for studio chrome meshes, fix #149
no support for glow chrome yet.
2021-10-31 17:27:22 -07:00
Ivan 'provod' Avdeev
ef15ba5e08 rtx: fix scrolling textures for additive, fix #178 2021-10-31 17:27:22 -07:00
Ivan 'provod' Avdeev
24a07499c5 rtx: implement soft particles for additve, fix #177 2021-10-31 17:27:22 -07:00
Ivan 'provod' Avdeev
a8313073d3 rtx: add refractions support, fix #181
Decide whether the ray goes through or reflects based on brdf/fresnel.
Specular always reflects. Diffuse mode chooses between reflecting (GI) and continuing through (refraction). The decision is stochastical with probability being alpha channel (color * texture). Alpha = 0 => full refraction. Alpha = 1 => full reflection.

Lighting is not computed for refractive decision. (not sure if this is fully correct though).

It doesn't look correct all of the time.
Probably we need to split base_color into different channels fo diffuse/lighting and transmissiveness.
2021-10-31 17:27:22 -07:00
Ivan 'provod' Avdeev
3f12a42432 rtx: fix translucent things casting shadows (they shouldn't for now) 2021-10-31 17:27:22 -07:00
Ivan 'provod' Avdeev
b3465ceb30 rtx: implement additive translucency
fix #170
2021-10-29 12:48:36 -07:00
Ivan 'provod' Avdeev
1c6753d605 rtx: improve payload references between shader stages 2021-10-29 12:48:36 -07:00
Ivan 'provod' Avdeev
b7e6581e29 rtx: improve shader binding indexing 2021-10-29 12:48:36 -07:00
Ivan 'provod' Avdeev
24f11bccc7 rtx: add material mode enum, precursor for proper translucency handling
#173
2021-10-29 12:48:36 -07:00
NightFox
29e8cce207 fix #80
thanks zgdump
2021-10-27 23:10:08 -07:00
Ivan 'provod' Avdeev
5e50bdfcf2 rtx: add conveyor scrolling texture, fix #158 2021-10-27 22:48:26 -07:00
NightFox
0e345ded71 Tuned hack_attenuation default_radius values
More correct lighting
2021-10-26 22:44:21 -07:00
Ivan Avdeev
bb4dc5e2a1 rtx: bring back front face culling; update todo 2021-10-26 13:12:25 -07:00
Ivan Avdeev
4f903bd1d6 rtx: add lightstyles support, fix #138 2021-10-26 13:12:25 -07:00
Ivan Avdeev
54a777f0fd rtx: fix env light target direction, fix #128 2021-10-26 13:12:25 -07:00