492 Commits

Author SHA1 Message Date
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
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
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
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
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
e2986217d6 feat(draw): disable coarse sampling in GLFogFilter2 2021-01-29 16:46:14 +09:00
yvt
fc34c60f42 feat(draw): increase the blur kernel radius for the sharpening effect 2021-01-17 23:43:03 +09:00
yvt
0f17bc5549 perf(draw): turn off the sharpening code section if the effect factor is zero 2021-01-17 23:43:03 +09:00
yvt
aeb69b7b71 feat(draw): raise the upper bound of luminance to sharpen 2021-01-17 23:43:03 +09:00
yvt
a26a9c7a26 feat(draw): apply sharpening effect during the color correction pass
This effect frags two deuces with one grenade. Firstly, it enhances the
image's clarify for aesthetic reasons. Secondly, it offsets OpenSpades'
fog density, which is often claimed to be denser than the original
client. Technically, the fog density function is mostly identical
between these two clients. However, OpenSpades applies the fog color in
the linear color space, which is physically accurate but has tendency to
strengthen the effect because the human light perception is logarithmic.

The effect amount can be adjusted by `r_sharpen` config variable.
2021-01-17 23:43:03 +09:00
yvt
26faf05d92 feat(draw): take camera translation into account for reprojection 2021-01-17 22:27:05 +09:00
yvt
03a8b97168 fix(draw): ensure that temporal AA's output will never fall negative 2021-01-17 00:37:06 +09:00
yvt
c8ad6ba012 feat(gui): hide the temporal AA option as it's still experimental
The users can enable it anyway by toggling `r_temporalAA`.
2021-01-16 23:39:07 +09:00
yvt
31dbe3649d Implement temporal AA
Fixes #597.

Currently, reprojection is done by taking only the camera rotation into
account. The result is not very satisfactory.
2021-01-08 21:28:19 +09:00
yvt
d8efb424be
feat(i18n): update translations
Contributors (sorted by language):

Norwegian Bokmål: TheNekOz
Turkish: Emircan (EmircanGRBZ)
2020-12-20 15:43:44 +09:00
yvt
7c27e5b25c
Merge pull request #928 from yvt/chore-msvc-paks
Improve the asset building in MSVC

- The pak building step now tracks its dependencies correctly. Consequently, it will not run if the input files are unchanged.
- The build process now copies `PackageInfo.json` to the correct output directory.
2020-12-18 22:54:15 +09:00
yvt
deee473715
chore(cmake): support disabling non-GPL file downloading 2020-12-18 22:53:22 +09:00
yvt
0af62bc50d chore(cmake): create bin/$<CONFIGURATION>/Resources before copying files into it 2020-12-18 05:28:19 -08:00
yvt
8f1b51a469 chore(cmake): add comments to build steps 2020-12-18 05:22:16 -08:00
yvt
18d3220034 chore(cmake): specify mkpak.*'s dependencies precisely 2020-12-18 05:22:15 -08:00
yvt
a20ce5f47a chore(cmake): handle MSVC multi-config more elegantly 2020-12-18 05:22:15 -08:00
yvt
a5a22653b9 chore(cmake): copy PackageInfo.json in MSVC builds 2020-12-18 05:22:15 -08:00
yvt
4d078e7376
Merge pull request #924 from yvt/patch-vcpkg
Adopt vcpkg and streamline the build process
2020-12-18 22:15:55 +09:00
yvt
e9cd690a71
chore: build macOS app bundle 2020-12-14 00:02:47 +09:00
yvt
f4dffb78dd
Update translations
Contributors (sorted by language):

- German: theunknownxy
- Hungarian: uno20001
- Italian: PianoPoops (mattiagalati355)
- Lithuanian: minecraft6900
- Norwegian Bokmal: NahojAivk
- Russian: ArionWT
- Spanish: Suicide Cat (markalex.game)
- Turkish: ANormal Gulboy (efegulboy)
2020-04-20 00:08:05 +09:00
David Carlier
fb9dbd82df On BSD -u and -o are mutually exclusive. 2020-02-29 18:06:36 +00:00
YVT
dc5225d4a1
Merge branch 'master' into feature-system-console 2019-07-16 00:08:03 +09:00
yvt
5eab672881
Clear TextViewer's selection when Text is changed 2019-07-15 23:49:31 +09:00
yvt
64438390fa
Fix crash on clicking empty TextViewer
Closes #843.
2019-07-15 23:48:16 +09:00
yvt
eb086b2165
Update a doc comment 2019-07-15 23:45:59 +09:00
yvt
781056ef70
Fix small peculiarities with the system console's input field
- Hide the candidates after hitting Enter
- Fix the weird hard-to-describe behavior when navigating through the
  input history
2019-07-15 00:19:17 +09:00
yvt
ed508fadd5
Add IRenderer::ClearCache 2019-07-14 23:53:10 +09:00
yvt
3960f47cc8
Deprecate cvar editing via chat window 2019-07-14 23:07:55 +09:00
yvt
4c041ea8e1
Implement the UI for the command name autocompletion 2019-07-14 20:37:50 +09:00
yvt
cacec5b470
Invoke View::ExecCommand from the console window 2019-07-14 14:59:58 +09:00
yvt
070707c892
Implement the script side of the console window 2019-07-14 14:13:34 +09:00
yvt
a9edb61512
Add TextViewer.RemoveFirstLines
This method is used to remove old log lines from the console window.
2019-07-14 13:22:51 +09:00
yvt
c6edd641ca
Hide the console window when the escape key is pressed 2019-07-14 11:31:53 +09:00