1428 Commits

Author SHA1 Message Date
yvt
f2f56ff4fa feat(draw): reduce the temporal AA's effect near the fog distance 2021-07-03 11:27:47 +09:00
yvt
f9da7da1b0 feat(client): make tracers less conspicuous 2021-06-20 16:15:18 +09:00
yvt
536c8687b1 feat(client): scale tracers in proportion to their distances to the camera 2021-06-20 16:15:18 +09:00
yvt
ce1c7cfc19 feat(client): display bullet tracers fired by the local player 2021-06-20 16:15:18 +09:00
yvt
c51f1453cc feat(client): spawn bullet tracers at the current weapon skin's muzzle position 2021-06-20 16:15:17 +09:00
yvt
c1b5781752 feat(client): support specifying the muzzle and case ejection positions in the weapon skins 2021-06-20 16:15:17 +09:00
yvt
3b5d7ecf33 feat(client): randomize the starting position of a bullet tracer 2021-06-20 16:15:16 +09:00
yvt
70feb0870b feat(client): revamp the flashlight 2021-06-20 16:13:02 +09:00
yvt
3bda029e34 feat(client): remove the lens flare effect of the flashlight
It had caused severe banding when HDR is enabled.
2021-06-20 16:13:02 +09:00
yvt
14de74ac1f perf(client): use the VP-screen matrix to calculate the result of Client::Project 2021-06-20 16:11:47 +09:00
yvt
9a758f27f7 refactor(client): add SceneDefinition::{ToOpenGLProjectionMatrix, ToViewMatrix} 2021-06-20 16:11:45 +09:00
yvt
8ac141daf4 feat(draw): support linear lights 2021-06-20 16:11:39 +09:00
yvt
a35dab4e61 fix(core): handle the cases where start is inside correctly in OBB3::RayCast 2021-06-20 16:11:29 +09:00
yvt
690520040e feat(core): implement Line3::{Project, GetDistanceTo} 2021-06-20 16:11:26 +09:00
yvt
a70ed62a63 fix(core): OBB3::RayCast now uses a consistent origin for hitPos for all cases 2021-06-20 16:11:24 +09:00
Pablo-Dallegri
b6e0153e62 Rename new cvar 2021-05-07 11:52:16 -03:00
Pablo-Dallegri
4fd3329c1d Revert cg_alerts renaming 2021-05-07 11:46:14 -03:00
Pablo-Dallegri
3349ac54ab Add alerts volume slider 2021-05-07 11:00:17 -03:00
Pablo-Dallegri
b9001dfb55 Rename cg_alerts to cg_alerts_show 2021-05-07 10:29:49 -03:00
Pablo-Dallegri
bb751ebebb Use unit inteval 2021-05-05 07:32:23 -03:00
Pablo Dallegri
e59acb67ab Change chat beep from toggle to slider 2021-05-05 04:12:08 -03:00
yvt
18f8b77c4a feat(gui): indicate the usage of a pre-release version in the startup window 2021-05-03 00:38:12 +09:00
yvt
52d579cf16 Merge branch 'master' into feat-vfog2 2021-05-03 00:04:52 +09:00
yvt
b1022213f3 Merge branch 'master' into patch-modernize 2021-05-02 23:39:03 +09:00
yvt
28a283cc82 Merge branch 'master' into feat-vfog2 2021-04-10 21:39:52 +09:00
yvt
e4e38d85c0 fix(core): remove the exception specification of IStream::~IStream
The exception specification isn't really useful.

Fixes build failure on Windows + MSVC.
2021-04-10 12:09:01 +09:00
yvt
12364d4151 feat(draw): add r_scaleFilter
- 0: Nearest neighbor
 - 1: Bi-linear
 - 2: Bi-cubic
2021-04-10 00:12:18 +09:00
yvt
5e9835c0fa fix(draw): do not blit depth bits from a framebuffer lacking a depth attachment
Fixes the visual corruption of the level 3 water rendering after
live-editing `r_scale` cvar.
2021-04-09 23:11:35 +09:00
yvt
6ccd397681 Fix an issue causing the first frame to be corrupted 2021-04-09 20:49:39 +09:00
yvt
a27caab565 3D render scaling (r_scale) 2021-04-09 20:14:10 +09:00
yvt
d2b9a2defc feat(draw): use jittered sampling
Dithered sampling turned out to be insufficient to remove banding.
2021-04-09 19:45:10 +09:00
yvt
43c857b201 refactor(draw): store a long-lived instance of GLFogFilter2 in GLRenderer::fogFilter2 2021-03-04 01:20:49 +09:00
yvt
d2daa7537c Merge branch 'master' into feat-vfog2 2021-02-10 01:23:03 +09:00
yvt
b6f70c3619 perf(draw): lower the AO sample count and ray distance
This doesn't severely affect the output quality thanks to the denoising
pass.
2021-02-10 01:21:06 +09:00
yvt
95c73193d1 feat(draw): alleviate the AO blurring artifact on chunk boundaries 2021-02-10 00:55:07 +09:00
yvt
0d53d6fcc8 feat(draw): mitigate the AO under-shadowing by limiting the blurring from airborne voxels into by-surface voxels 2021-02-10 00:38:57 +09:00
yvt
1d23d22a44 Merge branch 'master' into feat-vfog2 2021-02-09 02:46:27 +09:00
yvt
62930e4d9e feat(draw): compensate for the under-shadowing caused by sampling AO terms away from surfaces 2021-02-09 02:45:13 +09:00
yvt
cc2c4c623b Merge branch 'master' into feat-vfog2 2021-02-08 23:13:33 +09:00
yvt
2e5cf93ab0 feat(draw): calculate the contribution of each factor (direct sunlight, ambient, radiosity) more physically-correctly 2021-02-08 23:12:11 +09:00
yvt
98da38e1da feat(draw): sample the pre-computed AO at the center, not the corner, of each voxel 2021-02-08 22:14:28 +09:00
yvt
2d232da163 feat(draw): do not blur the pre-computed AO across walls 2021-02-08 21:23:12 +09:00
yvt
ed73991abf feat(draw): raise the AO quality 2021-02-08 20:38:58 +09:00
yvt
a517f5aefc feat(draw): do not require r_temporalAA to use r_fogShadow 2
I thought it would look bad without `r_temporalAA`. It wasn't that bad,
actually.
2021-01-29 19:45:56 +09:00
yvt
20a4972237 refactor(draw): use a preprocessor definition to pass USE_RADIOSITY to shaders 2021-01-29 19:22:23 +09:00
yvt
9a0f4d0f9a feat(draw): do not turn off GLFogFilter* when the fog color is pitch black
`GLFogFilter2` applies GI, so it does something even if the fog color
is black.
2021-01-29 19:17:45 +09:00
yvt
86f2e8630e feat(draw): take the fog GI into consideration when applying the sharpening effect 2021-01-29 19:16:43 +09:00
yvt
cdc8bf9546 feat(draw): apply GI to GLFogFilter2
It's incredibly beautiful and slow.
2021-01-29 18:42:48 +09:00
yvt
1e87f8e81e feat(draw): implement dithered sampling
The result is ...meh. Maybe we should switch to bi-lateral filtering?
2021-01-29 18:15:24 +09:00
yvt
d5152eda48 feat(draw): gate GLFogFilter2 by r_radiosity and r_temporalAA
I intend the volumetric fog to receive GI. To simplify the
implementation, I decided not to support other cases.

I'd like to exploit temporal AA to reduce the sample count per pixel
by dithered sampling. It would perplex the users if the unfiltered
dither pattern was visible because temporal AA was turned off.
2021-01-29 17:39:22 +09:00