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
yvt
2d99ae5fff
feat(draw): fade the radiosity term above the z = 0
plane
2021-01-29 19:04:05 +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
77212b8c22
feat(draw): implement fog shadow
...
Re-scaling the in-scattering term by a desired fog density seems to be
working very well.
2021-01-29 17:57:55 +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
yvt
58899175af
feat(draw): remove the existing ray marching code, refactor the ray determination by using a projection matrix
2021-01-29 17:32:58 +09:00
yvt
c17cad7422
feat(draw): use GLFogFilter2
for real
2021-01-29 17:16:27 +09:00
yvt
e2986217d6
feat(draw): disable coarse sampling in GLFogFilter2
2021-01-29 16:46:14 +09:00
yvt
6cbd347f4f
feat(draw): add GLFogFilter2
, which is activated by r_fogShadow 2
2021-01-29 16:36:50 +09:00
yvt
15db8e45b2
Merge pull request #935 from yvt/feat-sharpening
...
Sharpening post-processing effect
2021-01-24 13:56:59 +09:00
yvt
a3138dcc1a
feat(draw): increase the sharpening amount if temporal AA is enabled
2021-01-23 15:14:20 +09:00
David CARLIER
ff428b4a6c
SDL2 few more paths proposal. ( #939 )
...
Adds `/opt/homebrew` to the SDL2 search path when building without vcpkg.
2021-01-21 15:01:29 +09:00