Commit Graph

1959 Commits

Author SHA1 Message Date
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 Avdeev
24ebc1fab2
Merge pull request #200 from w23/E164
Add naive implementation of very basic denoiser. Set things up to make more advanced one possible.

Fix #146
2021-11-12 11:03:30 -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
6dfcdbb38e ref: update ref_gl and ref_soft interface according to previous commit 2021-10-31 17:31:03 -07:00
ddc8f25d1d engine: ref_api: purposefully moved WorldToScreen to 2D functions from TriAPI, since WorldToScreen is expected to be simpler in-engine version rather than TriAPI one 2021-10-31 17:31:03 -07:00
710b51ab88 public: build: fix missing define value 2021-10-31 17:31:03 -07:00
b8d72da847 engine: build: add RISC-V support(based on @archanox patches), add MIPS64 support 2021-10-31 17:31:03 -07:00
dad50dd19b public: build: add RISC-V support(based on @archanox patches), add forcing endianness from build system 2021-10-31 17:31:03 -07:00
59af947efd engine: server: restore log functionality from old engine. Thanks to @ValeTheVioletMote for initial patch. 2021-10-31 17:31:03 -07:00
Vale the Violet Mote
08f50e97b8 readme: Linux Build Extended Clarity (#659) 2021-10-31 17:31:03 -07:00
Владислав Сухов
b142fb0bca client: Don't change loading bar color
Don't change loading bar color (fix yellow loading bar in Half-Rats Parasomnia, it should be white)
2021-10-31 17:31:03 -07:00
Ivan Avdeev
ec7f65462f add the same timeouts to transfersh 2021-10-31 17:27:22 -07:00
Ivan Avdeev
b7529fecdd try to address frequent CI timeouts
#169

- Set the total curl upload timeout to one minute. If we're uploading
  for longer than one minute, something is really broken.
- Retry 5 times.
- Max wait 10 seconds for connection to be established.
- If transfer speed is lower than 16KiB/s for longer than 10 seconds,
  abort (this is the most frequent reason for CI stall, xfer speed drops
  to zero and stays that way for hours)
2021-10-31 17:27:22 -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