Commit Graph

2155 Commits (master)

Author SHA1 Message Date
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
yvt 7f5c203222
Merge pull request #952 from Pablo-Dallegri/chat-beep-volume
Add volume adjustment for chat beeps
2021-05-06 21:34:27 +09:00
Pablo-Dallegri de21f9ea6c Create UI volume slider 2021-05-05 14:57:09 -03:00
Pablo-Dallegri bb751ebebb Use unit inteval 2021-05-05 07:32:23 -03:00
Pablo-Dallegri fb9edc11e0 Create and use prescale constructor 2021-05-05 07:23:55 -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 52681ea7fb Bump version to 0.1.5-beta 2021-05-03 00:15:43 +09:00
yvt 59f34b5f5a
Merge pull request #941 from yvt/feat-vfog2
Volumetric Fog Level 2

> This PR adds a new volumetric fog implementation, which can be selected by `r_fogShadow 2`.
> 
>     * The new implementation calculates the fog density in the same way as the original client does (#409).
> 
>     * The influence factors of shadow casters are weighted according to their distances to the camera. Shadows don't "pop up" like they do in the Level 1 implementation.
> 
>     * It's significantly more demanding compared to the Level 1 implementation but not as much as current-gen games.
> 
>     * It supports global illumination. (The non-GI path is unimplemented, so it'll fall back to Level 1 if GI is disabled.)
> 
>     * Being implemented by naive ray marching, its code is much simpler compared to the Level 1 one.
2021-05-03 00:13:20 +09:00
yvt 52d579cf16 Merge branch 'master' into feat-vfog2 2021-05-03 00:04:52 +09:00
yvt f141208322
Merge pull request #844 from yvt/patch-modernize
Modernize
2021-05-02 23:57:20 +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 4d71214d04 feat(draw): extrapolate depth values using a tangent in the bilateral filter
Improve the SSAO quality of surfaces seen from a grazing angle.
2021-04-10 19:36:38 +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 2d972c00c7
Merge pull request #945 from hourai-dev/shader-fix
Fix crash due to shader program linking error
2021-03-07 14:14:08 +09:00
hourai-dev 0cda35b616
Fix crash due to shader program linking error
When built from master, Openspades would crash at startup with the
following error:
```
Error while linking a program: 'Shaders/BasicBlock.program'

error: unresolved reference to function 'PrepareForRadiosityForMap_Map'
```
The culprit was said function's definition in `MapRadiosityNull.vs`
which was missing a parameter. Fixes #944
2021-03-07 00:03:19 -05: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 533e1028c1 feat(draw): mitigate light leaks near corners by modifying AO texture coordinates in VS
This only mitigates the light leaks on terrain surfaces. It remains to
be seen how to do the same on other surfaces.
2021-02-10 00:41:02 +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 83ae6e7589 feat(draw): adjust for the change made in `feat-improve-gi` 2021-02-08 23:27:18 +09:00
yvt cc2c4c623b Merge branch 'master' into feat-vfog2 2021-02-08 23:13:33 +09:00
yvt d3d46d0881 feat(draw): apply cheap soft shadowing in `r_fogShadow 2` 2021-02-08 23:12:11 +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 2614f66c30 feat(draw): take the wavelength-dependent fog density into account in `r_fogShadow 2` 2021-02-08 23:12:10 +09:00
yvt 2f721d26c8
Merge pull request #942 from yvt/feat-improve-gi
Improve precomputed AO
2021-02-08 23:11:34 +09:00
yvt b7ee51167f fix(draw): avoid zero division 2021-02-08 23:07:19 +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 94ab95ce8d feat(draw): add gradient to the ambient fog term based on the angular distance to the sun 2021-01-29 20:11:32 +09:00
yvt f6912b7a1d feat(draw): increase the effect of `GLFogFilter2` in a near field 2021-01-29 20:01:28 +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 d8b06b63b9 feat(gui): add `r_fogShadow 2` to the startup screen, move `r_fogShadow` to the top level
Since it can apply GI, it no longer belongs to "Local Illumination".
2021-01-29 19:35:22 +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