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
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
a3138dcc1a
feat(draw): increase the sharpening amount if temporal AA is enabled
2021-01-23 15:14:20 +09:00
yvt
fc34c60f42
feat(draw): increase the blur kernel radius for the sharpening effect
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
ae12df59cc
feat(draw): apply the temporal AA pass after the lens dust filter
...
The lens dust filter adds a film grain, which would lower the neighbor
clamping technique's effectiveness if applied first.
2021-01-17 23:42:36 +09:00
yvt
debf3aa8b0
feat(draw): improve the numerical precision of the reprojection matrix calculation
2021-01-17 22:36:36 +09:00
yvt
26faf05d92
feat(draw): take camera translation into account for reprojection
2021-01-17 22:27:05 +09:00
yvt
4da14fced2
feat(draw): make the motion blur amount adjustable
2021-01-17 00:36:16 +09:00
yvt
6b54ce0cb5
Merge pull request #936 from yvt/feat-taa
...
Temporal antialiasing
2021-01-16 23:50:59 +09:00
David CARLIER
457b9eba38
Little step further to fix M1 build. ( #937 )
...
opusfile native for ARM is existing.
Angelscript needs update to have ARM64 calling convention.
2021-01-13 14:38:33 +09:00
yvt
fb7004a3a5
Remove an unused function
2021-01-08 21:31:30 +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
c073c92c6a
fix(client): don't pass nullptr
to std::nan
, don't use std::nan
at all
...
`std::nan` converts a given string to a quiet NaN value in an
implementation-defined way. It accepts an empty string, but that doesn't
mean you can pass `nullptr`. Passing `nullptr` causes a segmentation
fault on Linux but does not on macOS, which I think is why I missed that
in the first place.
Actually, `std::nan` isn't even really needed here, hence I replaced it
with `NAN`.
2021-01-05 16:22:17 +09:00
yvt
684753ab27
chore(cmake): rename the executable to OpenSpades.exe
on Windows
2020-12-18 05:56:44 -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
9b7673d8d2
chore: get rid of Sources/Externals
...
We don't need it anymore since we now use vcpkg to fetch dependencies.
2020-12-18 04:54:27 -08:00
yvt
cb5f0d9284
fix: remove any remaining references to cg_smp
...
Fixes #923 .
2020-12-17 00:39:23 +09:00
yvt
cdf2bcd9a5
chore: download libysrspades.dylib
automatically when building for macOS
2020-12-14 00:14:13 +09:00
yvt
e9cd690a71
chore: build macOS app bundle
2020-12-14 00:02:47 +09:00
David Carlier
321c7ad2c6
Content class little code simplification.
2020-09-21 10:19:36 +01:00
David Carlier
d69b75f83e
Backporting Angelscript Haiku support fix.
...
Fixing segfault on OpenGL extensions listing.
2020-08-31 17:09:17 +00:00
Tomoaki Kawada
738c7e509e
Merge pull request #848 from Tuupertunut/master
...
Fixed map loading with protocol 0.76.
2020-08-06 15:21:09 +09:00
Tomoaki Kawada
5a57a5e406
Explain why we send MapCached
2020-08-06 15:19:16 +09:00
David Carlier
191124ddb7
Haiku support.
2020-07-28 19:03:50 +00:00
yvt
8a98e3d186
Fix the incorrect arrangement of preprocessor directives
2020-06-08 13:02:52 +09:00
David Carlier
eb6d59c946
Little fix proposal for i386 arch.
...
needs to preserv ebx for the i386 architecture with PIC builds.
2020-06-06 13:50:07 +01:00
David Carlier
573218c856
Disable spurious opengl deprecations warning on mac.
...
Metal API had been prioritised thus the deprecation.
2020-05-20 06:49:57 +01:00
yvt
4fbe5ee5ce
Reset intels and team scores after receiving winning IntelCapture
...
This problem was originally reported in:
<https://github.com/piqueserver/piqueserver/issues/586 >
Upon receiving `IntelCapture` with `winning = 1`, the voxlap client
resets both team scores and the holding status of both teams' intels,
but OpenSpades didn't do that, resulting in a weird behavior described
in piqueserver/piqueserver#586. This commit changes OpenSpades' behavior
to be congruent with the voxlap client's behavior.
Fixes #890 .
2020-04-20 13:38:57 +09:00
Tomoaki Kawada
a455307017
Merge pull request #877 from goleo108/patch-1
...
AngelScript: fix build on DragonFly BSD, NetBSD and sparc64
2020-04-20 01:51:24 +09:00
Tomoaki Kawada
470c62d5b7
Merge pull request #884 from devnexen/mem_range_overlap_in_scripting_fix
...
Memory overlap fix proposal.
2020-04-20 01:51:02 +09:00
hourai-dev
a0aa55b24a
Removed unnecessary call to GetHorizontalLength().
2020-04-16 12:46:13 -05:00
David Carlier
393865b750
Recognises NetBSD too
2020-04-05 13:54:53 +01:00
David Carlier
8f0ac7ceee
Memory overlap fix proposal.
2020-03-01 11:15:37 +00:00
yvt
bd1ea7feb5
Get vcpkg-based build working on macOS
...
Use the following command:
cmake -G Ninja .. -D CMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
2020-02-16 17:34:46 +09:00
Leonid Bobrov
e12db75f2e
Sources/AngelScript/source/as_memory.cpp: fix build on NetBSD and DragonFly BSD
2020-01-11 14:28:36 +02:00
Leonid Bobrov
5deeb88ffb
Sources/AngelScript/source/as_config.h: fix build on NetBSD and sparc64
2020-01-11 14:17:47 +02:00
yvt
b36efa4ef4
Update macOS library dependencies
...
`OpenSpades-Externals-Darwin-5.zip` updates SDL2 from 2.0.9 to 2.0.10.
2019-12-09 01:09:02 +09:00
yvt
786d9884c9
Fix typo
2019-12-09 01:07:31 +09:00
yvt
ada518be9d
Merge branch 'gunplayfix' of https://github.com/BR-/openspades into BR--gunplayfix
2019-12-09 00:25:36 +09:00
dtomlinson-ga
fefce1b4e0
Fix use after free in Main.cpp (issue #846 ) ( #871 )
...
* Fix use after free in Main.cpp (issue #846 )
Create c-string to store filepath before concatenating with output message.
* Fix use after free in Main.cpp
Changed variable type to std::string and moved c_str() call
* Fix use after free in Main.cpp
Removed reference to directory variable
2019-11-30 00:56:45 +09:00
dtomlinson-ga
4ce8546df8
Fix typo in Player::GetVelocity()
...
Corrected GetVelocty() to GetVelocity() everywhere it occurs.
2019-11-28 22:10:38 +09:00